Moodle LMS is the open source learning management system at the centre of Moodle’s product range. Its licence is the GNU General Public License (GPL), and Moodle says that this licence guarantees that the LMS will always be available for use and development by the community, independent of changes that may affect the company.[2] For licence management the consequence is that a self-hosted Moodle LMS has no licence fee, no edition, no user or server metric and no vendor audit right over the software itself. The matters that need tracking are the GPL conditions that apply when software is modified and conveyed, the separate licences of plugins and themes, the use of the Moodle trade marks, and whether any hosting or support is bought from a Moodle partner.
Copyright and licence statement
Moodle’s developer licence page states that the overall Moodle software package is copyright from 1999 onwards, with portions contributed and copyrighted by many others, and all of it is provided under the terms of the GPL.[1] Licensees may redistribute and modify the program under version 2 of the licence for Moodle 1.x, version 3 for Moodle 2.x, or, at the licensee’s option, any later version, as explained in clause 14 of version 3, which the page reproduces in full.[1] The Moodle documentation is copyright of the individual authors of each page and is provided under the same terms of the GPL as the software.[1] The software and documentation are distributed without warranty, a position the page states by reference to the warranty disclaimer of the GPL.[1]
Moodle describes the commercial effect in its open source statement: there are no licence fees or restrictions, and an organisation needs only to find its own resources for hosting and support, or to obtain assistance from Certified Service Providers.[2] The same page says that Moodle HQ’s developers focus on growing the core open source software in partnership with that network.[2]
What the GPL text provides
Moodle reproduces GNU GPL version 3 on its licence page, so the following points are those of the licence as Moodle publishes it.[1]
- Running the program. The licence explicitly affirms unlimited permission to run the unmodified program, and the output from running a covered work is covered by the licence only if the output itself constitutes a covered work (section 2).[1]
- Private modification. Covered works that are not conveyed may be made, run and propagated without conditions as long as the licence remains in force (section 2).[1] Making a work available only to others who make modifications exclusively for the licensee, or who provide facilities for running it, is also permitted on stated conditions.[1]
- Network interaction. The licence defines conveying as propagation that enables other parties to make or receive copies, and states that mere interaction with a user through a computer network, with no transfer of a copy, is not conveying (section 0).[1] This is the reason that a hosted Moodle site does not by itself trigger source-distribution duties toward its users under the GPL; it is also the difference between version 3 of the GPL and the GNU Affero General Public License, to which section 13 of the GPL expressly permits linking.[1]
- Charging. A licensee may charge any price or no price for each copy conveyed and may offer support or warranty protection for a fee (section 4).[1]
- Conveying modified versions. A modified work may be conveyed in source form if it carries notices that it was modified, with a relevant date, and that it is released under the licence, and if the entire work is licensed as a whole under the licence to anyone who receives a copy (section 5).[1] Inclusion of a covered work in an aggregate with separate and independent works does not cause the licence to apply to the other parts of the aggregate.[1]
- Object code. A covered work may be conveyed in object code form only together with the machine-readable Corresponding Source, by one of the ways listed in section 6.[1]
- No further restrictions. Each time a covered work is conveyed, the recipient automatically receives a licence from the original licensors, and the conveyor may not impose further restrictions, for example a licence fee, royalty or other charge for exercising the granted rights (section 10).[1]
- Termination and reinstatement. Attempts to propagate or modify a covered work other than as the licence allows are void and automatically terminate the licensee’s rights, but the licence is reinstated if all violation ceases, provisionally at once and permanently if the copyright holder does not notify within 60 days or if a first notice is cured within 30 days (section 8).[1]
- Trade marks. Section 7 lets a licensor, for material it adds, decline to grant rights under trademark law for the use of some trade names, trademarks or service marks.[1] Moodle also states separately that the GNU GPL does not include an implied right or licence to use its trade marks.[7]
These are properties of the licence text. Whether a given deployment, customisation or redistribution meets them is a matter for the licensee and its legal advisers.
Plugins, themes and other add-ons
Moodle’s licence page includes a separate statement on add-ons. The GPL applies to the Moodle platform and its core codebase, and it does not automatically extend to plugins, themes or other add-ons developed for use with Moodle.[1] Plugins distributed through the Moodle Marketplace are licensed individually by their developers. The licence terms for each plugin are stated on its Marketplace listing and, where applicable, included as a licence file within the plugin package, and developers are responsible for determining the correct licence and disclosing it accurately.[1]
For a licence inventory this means that a Moodle site is a collection of separately licensed components: the core, each activity module, block, theme, authentication method, report or other plugin type, and any bundled third-party libraries. The licence of each is read from its own listing or package, not assumed from the core.
Requirements for plugins that Moodle lists
The plugin contribution checklist sets the licensing conditions for plugins that are submitted to the Moodle plugin listing.[3]
- All files that implement the interface between Moodle core and the plugin must be licensed under GNU GPL v3 or later.[3]
- Additional files in the plugin ZIP package, such as third-party libraries or included media, may use another licence as long as it is GPL compatible, declared in the plugin’s thirdpartylibs.xml file.[3]
- Binary files violate the GPL unless the source code is also included or available.[3]
- All files should carry the common boilerplate with an explicit GPL licence statement, and a copyright tag naming the author; a file reused from another author keeps the original copyright reference.[3]
- The uploader represents and warrants that the submitted intellectual property is their own or that they have secured the necessary authorisations, and grants Moodle a licence to use, copy, transmit, store, process and back up the submitted data.[3]
- A plugin that requires a third-party subscription based service must say so very clearly in its description, and the submitter must supply demo credentials so the approval team can test it.[3]
The checklist also lists approval blockers that bear on commercial and brand matters: a plugin that replicates or directly competes with functionality offered by Moodle commercial products, for example Moodle Workplace, which is governed by the Commercial Listing Policy, and any use of Moodle trademarks that violates the Moodle Trademarks Policy.[3]
The listing is optional. Moodle states that a plugin need not be submitted to the directory, and that a custom plugin built for one site can simply be hosted by its owner and downloaded manually.[4] Listing brings benefits that Moodle describes: installation and update from the administration interface, reservation of the plugin’s component name, localisation through AMOS, and approval review, which many institutions require before installing a plugin.[4]
The Moodle Marketplace
Moodle’s plugin listing has moved to a site called Moodle Marketplace, which describes itself as the new home for Moodle plugins and integrations, replacing the Plugins Directory.[5] Listings carry a price option; the Policies plugin, for example, shows a price option of Free, a lead maintainer and a release history.[6] The checklist’s reference to third-party subscription services, and the Commercial Listing Policy it cites, show that commercial plugins can coexist with the GPL core. A buyer of a paid plugin should read the listing and the plugin’s own licence file, because the licence of each plugin is stated individually.[1] The terms of the Marketplace’s commercial listings are not covered here; the Commercial Listing Policy text was not available from a vendor-owned page that could be retrieved without a challenge when this article was written.
Support and hosting around a GPL product
Because the software carries no fee, Moodle’s revenue offers are services. Moodle’s product page for Moodle LMS states that Moodle HQ and its Certified Partners provide Moodle Official Hosting, support, customisation, migration and training.[8] These services are priced by the provider and are not licence fees for the software. A site that stops buying them keeps the right to run the software under the GPL. A site that wants the hosted MoodleCloud service buys that under its own subscription terms, described in MoodleCloud plans, quotas and subscription terms.
Practical points for licence managers
- Inventory by component. List the core version, each plugin and theme, and the stated licence of each, using the Marketplace listing or the licence file in the package.
- Watch for modifications that leave the organisation. The GPL’s conveying conditions apply when modified copies are given to others, for example to a subsidiary that is a separate legal entity, a partner or a customer. The licence’s own definitions of conveying and its section on entity transactions govern those cases.[1]
- Check bundled code. Third-party libraries and media inside a plugin may carry other, GPL-compatible licences.[3]
- Separate the brand from the code. Rights to the software come from the GPL; rights to the name and logos do not, as described in Moodle trademark policy and branding.[7]
- Record paid dependencies. A plugin that needs a paid external service should have that subscription recorded as its own entitlement.[3]
Out of scope
This article does not cover the licence terms of individual third-party plugins, the Commercial Listing Policy, the licensing of Moodle Workplace, which Moodle states is not open source, or the commercial terms of partner hosting. It does not interpret the GPL beyond reporting the text Moodle publishes, and it does not address how courts have treated copyleft licences.