GNU General Public License
Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: GNU General Public License.
The GNU General Public License (GPL) is the the software license used by Moodle. It is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is designed to give users free use of their software and also make sure that freedom can not be taken away from them.
Using the GPL
At the moment, there are 3 versions of the GPL, and this is unlikely to change any time soon. Version 3 is the current version and is the one recommended by the Free Software Foundation. Version 2 is usually used by software projects that started before the GPL 3 was available and have not made the effort to shift over. Version 1 is more or less completely gone.
These new versions of the GPL have been released in response to holes that people and companies have found and exploited in the older versions. For example, with the GPL 2 it was possible to create a product using DRM technology and deny its users the right to modify the software on it, even though the GPL was supposed to uphold this right. As a result, each version of the GPL must be incompatible with each other, otherwise the company could just make up some code under the old license, lock it down, and thus by pass the whole point of the new license.
As a result, the typical way to license is under GPL <version> or later. For example, Moodle is licensed under the GPL 2 or later. In this case, the user can use it under the GPL 2 license or the GLP 3, thus the software is compatible with future GPL licenses. New software should probably use GPL 3 or later.