This is a comparison of published free software licenses and open-source licenses. The comparison only covers software licenses with a linked article for details, approved by at least one expert group at the FSF, the OSI, the Debian project or the Fedora project. For a list of licenses not specifically intended for software, see List of free content licenses.
Here at eThink, we are very big advocates of open-source products, like Moodle and its corporate offshoot Totara. Open-source products give you the flexibility to utilize a best-of-breed content strategy to incorporate the best content and eLearning tools into your platform, allowing you to customize your LMS to meet your specific needs. How Much is Moodle? Moodle is an open source solution, which means organizations are free to download it. Pricing plans are also available for additional services and features, as well as cloud hosting. Moodle for Free—While Moodle is free to download, hosting the solution comes with additional expenses separate from the product itself. These costs can quickly add up and are tough to estimate from the start.
FOSS stands for 'Free and Open Source Software'. There is no one universally agreed-upon definition of FOSS software and various groups maintain approved lists of licenses. The Open Source Initiative (OSI) is one such organization keeping a list of open-source licenses.[1] The Free Software Foundation (FSF) maintains a list of what it considers free.[2] FSF's free software and OSI's open-source licenses together are called FOSS licenses. There are licenses accepted by the OSI which are not free as per the free software definition. The open source definition allows for further restrictions like price, type of contribution and origin of the contribution, e.g. the case of the NASA Open Source Agreement, which requires the code to be 'original' work.[3][4] The OSI does not endorse FSF license analysis (interpretation) as per their disclaimer.[5]
The FSF's Free Software definition focuses on the user's unrestricted rights to use a program, to study and modify it, to copy it, and redistribute it for any purpose, which are considered by the FSF the four essential freedoms.[6][7]The OSI's open-[1]source criteria focuses on the availability of the source code and the advantages of an unrestricted and community driven development model.[8]Yet, many FOSS licenses, like the Apache license, and all Free Software licenses allow commercial use of FOSS components.[9]
The following table compares various features of each license and is a general guide to the terms and conditions of each license. The table lists the permissions and limitations regarding the following subjects:
License | Author | Latest version | Publication date | Linking | Distribution | Modification | Patent grant | Private use | Sublicensing | TM grant |
---|---|---|---|---|---|---|---|---|---|---|
Academic Free License[10] | Lawrence E. Rosen | 3.0 | 2002 | Permissive | Permissive | Permissive | Yes | Yes | Permissive | No |
Affero General Public License | Affero Inc | 2.0 | 2007 | Copylefted[11] | Copyleft except for the GNU AGPL[11] | Copyleft[11] | ? | Yes[11] | ? | ? |
Apache License | Apache Software Foundation | 2.0 | 2004 | Permissive[12] | Permissive[12] | Permissive[12] | Yes[12] | Yes[12] | Permissive[12] | No[12] |
Apple Public Source License | Apple Computer | 2.0 | August 6, 2003 | Permissive | ? | Limited | ? | ? | ? | ? |
Artistic License | Larry Wall | 2.0 | 2000 | With restrictions | With restrictions | With restrictions | No | Permissive | With restrictions | No |
Beerware | Poul-Henning Kamp | 42 | 1987 | Permissive | Permissive | Permissive | No | Permissive | Permissive | No |
BSD License | Regents of the University of California | 3.0 | ? | Permissive[13] | Permissive[13] | Permissive[13] | Manually[13] | Yes[13] | Permissive[13] | Manually[13] |
Boost Software License | ? | 1.0 | August 17, 2003 | Permissive | ? | Permissive | ? | ? | ? | ? |
Creative Commons Zero | Creative Commons | 1.0 | 2009 | Public Domain[14][15] | Public Domain | Public Domain | No | Public Domain | Public Domain | No |
CC-BY | Creative Commons | 4.0 | 2002 | Permissive[16] | Permissive | Permissive | No | Yes | Permissive | ? |
CC-BY-SA | Creative Commons | 4.0 | 2002 | Copylefted[16] | Copylefted | Copylefted | No | Yes | No | ? |
CeCILL | CEA / CNRS / INRIA | 2.1 | June 21, 2013 | Permissive | Permissive | Permissive | No | Permissive | With restrictions | No |
Common Development and Distribution License | Sun Microsystems | 1.0 | December 1, 2004 | Permissive | ? | Limited | ? | ? | ? | ? |
Common Public License | IBM | 1.0 | May 2001 | Permissive | ? | Copylefted | ? | ? | ? | ? |
Cryptix General License | Cryptix Foundation | N/A | 1995 | Permissive | Permissive | Permissive | Manually | Yes | ? | Manually |
Eclipse Public License | Eclipse Foundation | 2.0 | August 24, 2017 | Limited[17] | Limited[17] | Limited[17] | Yes[17] | Yes[17] | Limited[17] | Manually[17] |
Educational Community License | Indiana University[18] | 1.0 | 2007 | Permissive | ? | Permissive | ? | ? | ? | ? |
European Union Public Licence | European Commission | 1.2 | May 2017 | Copylefted, with an explicit compatibility list[19] | Copylefted, with an explicit compatibility list[19] | Copylefted, with an explicit compatibility list[19] | Yes[20] | Yes[20] | Copylefted, with an explicit compatibility list[19] | No[20] |
GNU Affero General Public License | Free Software Foundation | 3.0 | 2007 | GNU GPLv3 only[21] | Copylefted[22] | Copylefted[22] | Yes[23] | No network usage[23] | Copylefted[22] | Yes[23] |
GNU General Public License | Free Software Foundation | 3.0 | June 2007 | GPLv3 compatible only[24][25] | Copylefted[22] | Copylefted[22] | Yes[26] | Yes[26] | Copylefted[22] | Yes[26] |
GNU Lesser General Public License | Free Software Foundation | 3.0 | June 2007 | With restrictions[27] | Copylefted[22] | Copylefted[22] | Yes[28] | Yes | Copylefted[22] | Yes[28] |
IBM Public License | IBM | 1.0 | August 1999 | Copylefted | ? | Copylefted | ? | ? | ? | ? |
ISC license | Internet Systems Consortium | N/A | June 2003 | Permissive | Permissive | Permissive | ? | ? | ? | ? |
LaTeX Project Public License | LaTeX project | 1.3c | ? | Permissive | ? | Permissive | ? | ? | ? | ? |
Microsoft Public License | Microsoft | N/A | ? | Permissive | Permissive | Permissive | No | Permissive | ? | No |
MIT license / X11 license | MIT | N/A | 1988 | Permissive[29] | Permissive[29] | Permissive[29] | Manually[29] | Yes[29] | Permissive[29] | Manually[29] |
Mozilla Public License | Mozilla Foundation | 2.0 | January 3, 2012 | Permissive[30] | Copylefted[30] | Copylefted[30] | Yes[30] | Yes[30] | Copylefted[30] | No[30] |
Netscape Public License | Netscape | 1.1 | ? | Limited | ? | Limited | ? | ? | ? | ? |
Open Software License[10] | Lawrence Rosen | 3.0 | 2005 | Permissive | Copylefted | Copylefted | Yes | Yes | Copylefted | ? |
OpenSSL license | OpenSSL Project | N/A | ? | Permissive | ? | Permissive | ? | ? | ? | ? |
Python Software Foundation License | Python Software Foundation | 2 | ? | Permissive | ? | Permissive | ? | ? | ? | ? |
Q Public License | Trolltech | ? | ? | Limited | ? | Limited | ? | ? | ? | ? |
Sleepycat License | Sleepycat Software | N/A | 1996 | Permissive | With restrictions | Permissive | No | Yes | No | No |
Unlicense | unlicense.org | 1 | December 2010 | Permissive/Public domain | Permissive/Public domain | Permissive/Public domain | ? | Permissive/Public domain | Permissive/Public domain | ? |
W3C Software Notice and License | W3C | 20021231 | December 31, 2002 | Permissive | ? | Permissive | ? | ? | ? | ? |
Do What The Fuck You Want To Public License (WTFPL) | Banlu Kemiyatorn, Sam Hocevar | 2 | December 2004 | Permissive/Public domain | Permissive/Public domain | Permissive/Public domain | No | Yes | Yes | No |
XCore Open Source License also separate 'Hardware License Agreement' | XMOS | ? | February 2011 | Permissive | Permissive | Permissive | Manually | Yes | Permissive | ? |
XFree86 1.1 License | The XFree86 Project, Inc | ? | ? | Permissive | ? | Permissive | ? | ? | ? | ? |
zlib/libpng license | Jean-Loup Gailly and Mark Adler | ? | ? | Permissive | ? | Permissive | ? | ? | ? | ? |
Other licenses that don't have information:
License | Author | Latest version | Publication date |
---|---|---|---|
Eiffel Forum License | NICE | 2 | 2002 |
freebsd | freebsd | 1.0 | 2018 |
Intel Open Source License | Intel Corporation | N/A | ? |
PHP License | PHP Group | 3.01 | ? |
RealNetworks Public Source License | RealNetworks | ? | ? |
Reciprocal Public License | Scott Shattuck | 1.5 | 2007 |
Sun Industry Standards Source License | Sun Microsystems | ? | ? |
Sun Public License | Sun Microsystems | ? | ? |
Sybase Open Watcom Public License | Open Watcom | N/A | 2003-01-28 |
Zope Public License | Zope Foundation | 2.1 | ? |
This table lists for each license what organizations from the FOSS community have approved it – be it as a 'free software' or as an 'open source' license – , how those organizations categorize it, and the license compatibility between them for a combined or mixed derivative work. Organizations usually approve specific versions of software licenses. For instance, a FSF approval means that the Free Software Foundation (FSF) considers a license to be free software license. The FSF recommends at least 'Compatible with GPL' and preferably copyleft. The OSI recommends a mix of permissive and copyleft licenses, the Apache License 2.0, 2- & 3-clause BSD license, GPL, LGPL, MIT license, MPL 2.0, CDDL and EPL.
License and version | FSF approval [31] | GPL (v3) compatibility [32][33][34][35][36] | OSI approval [37] | Debian approval [38][39] | Fedora approval [40] |
---|---|---|---|---|---|
Academic Free License | Yes | No | Yes | No | Yes |
Affero General Public License 3.0 | Yes | Yes | Yes | Yes | Yes |
Apache License 1.x | Yes | No | Yes | Yes | Yes |
Apache License 2.0 | Yes | GPLv3 only[41] | Yes | Yes | Yes |
Apple Public Source License 1.x | No[42] | No | Yes | No | No |
Apple Public Source License 2.0 | Yes | No | Yes | No | Yes |
Artistic License 1.0 | No[note 1] | No | Yes | Yes | No |
Artistic License 2.0 | Yes | Yes | Yes | Yes | Yes |
Beerware License | see 'informal license' section[43] | see 'informal license' section[43] | No | No | Yes[44] |
Original BSD license | Yes | No | No[45] | Yes | Yes |
Modified BSD license | Yes | Yes | Yes | Yes | Yes |
Zero-Clause BSD License | ? | ? | Yes[46] | ? | ? |
Boost Software License | Yes | Yes | Yes | Yes | Yes |
CeCILL | Yes | Yes | Yes | Yes | Yes |
Common Development and Distribution License | Yes | GPLv3 (GPLv2 disputed)[47][48][49][50][51][52] | Yes | Yes | Yes |
Common Public License | Yes | No | Yes | Yes | Yes |
Creative Commons Zero | Yes[53] | Yes[53] | not approved and not rejected[54] | Partial[55][56] | Yes[57] |
Creative Commons BY-SA 4.0 | Yes | GPLv3[58] | ? | Yes | ? |
Cryptix General License | Yes | Yes | Yes | Yes | Yes |
Eclipse Public License | Yes | No | Yes | Yes | Yes |
Educational Community License | Yes | Yes[59] | Yes | No | Yes |
Eiffel Forum License 2 | Yes | Yes | Yes | Yes | Yes |
European Union Public Licence | Yes | Yes[19] | Yes | Yes | ? |
GNU Affero General Public License | Yes | Yes[21][60] | Yes | Yes | Yes |
GNU General Public License v2 | Yes | No[note 2][61] | Yes | Yes | Yes |
GNU General Public License v3 | Yes | Yes[note 3][61] | Yes | Yes | Yes |
GNU Lesser General Public License | Yes | Yes | Yes | Yes | Yes |
GNU Free Documentation License | Yes | No[62] | Yes[63] | No[64] | No |
IBM Public License | Yes | No | Yes | Yes | Yes |
Intel Open Source License | Yes | Yes | Yes | No | No |
ISC license | Yes[65] | Yes | Yes | Yes | Yes |
LaTeX Project Public License | Yes | No | Yes | Yes | Yes |
Microsoft Public License | Yes | No | Yes | No | Yes |
Microsoft Reciprocal License | Yes | No | Yes | No | Yes |
MIT license / X11 license | Yes | Yes | Yes | Yes | Yes |
Mozilla Public License 1.1 | Yes | No | Yes | Yes | Yes |
Mozilla Public License 2.0 | Yes | Yes[note 4][66] | Yes | Yes | Yes |
NASA Open Source Agreement | No | No | Yes | ? | No |
Netscape Public License | Yes | No | No | No | Yes |
Open Software License | Yes | No | Yes | No | Yes |
OpenSSL license | Yes | No | No | Yes | Yes |
PHP License | Yes | No | Yes | Yes | Yes |
Python Software Foundation License 2.0.1; 2.1.1 and newer | Yes | Yes | Yes | Yes | Yes |
Q Public License | Yes | No | Yes | No | Yes |
Reciprocal Public License 1.5 | No | No | Yes | No | No |
Sleepycat License | Yes | Yes | Yes | Yes | Yes |
Sun Industry Standards Source License | Yes | No | Yes | No | Yes |
Sun Public License | Yes | No | Yes | No | Yes |
Sybase Open Watcom Public License | No | No | Yes | No | No |
Unlicense | Yes[67] | Yes[53] | while considered free not recommended[68] | ? | Yes[57] |
W3C Software Notice and License | Yes | Yes | Yes | Yes | Yes |
Do What The Fuck You Want To Public License (WTFPL) | Yes[note 5] | Yes | No[69] | Yes | Yes |
XFree86 1.1 License | Yes | Yes[70] | No | No | No |
zlib/libpng license | Yes | Yes | Yes | Yes | Yes |
Zope Public License 1.0 | Yes | No | No | No | Yes |
Zope Public License 2.0 | Yes | Yes | Yes | No | Yes |
While the OSI acknowledges these as potentially helpful resources for the community, it does not endorse any content, contributors or license interpretations from these websites.[...]The OSI does not promote or exclusively favor any of the above resources, but instead mentions them as a neutral, separate third-party.
CC0 was not explicitly rejected, but the License Review Committee was unable to reach consensus that it should be approved
No. Some of the requirements in GPLv3, such as the requirement to provide Installation Information, do not exist in GPLv2. As a result, the licenses are not compatible: if you tried to combine code released under both these licenses, you would violate section 6 of GPLv2. However, if code is released under GPL 'version 2 or later,' that is compatible with GPLv3 because GPLv3 is one of the options it permits.
This project is simply a way to package up and distribute the Moodle Coding Standard which is defined in thefollowing project: moodle-local_codechecker
This project does not attempt to do anything else. If there are problems with the standard, then the problems shouldbe addressed in the moodle-local_codechecker
project. Once the problem is fixed, it can be synced frommoodle-local_codechecker
into this project.
Just add it to your project's composer.json
file (--dev
is optional based on your needs):
The following paths may change based on how things are installed, but basically you are looking for the path tothe CodeSniffer command and the path to the moodle
directory of this project:
All praise should go to the contributors ofmoodle-local_codechecker.
This project is licensed under the GNU GPL v3 or later. See the LICENSE file for details.