| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

View
 

Copyleft Licenses

Page history last edited by Nikos Galanis 13 years, 3 months ago

Table of Contents

 


According to http://www.opensource.org the following are the most popular licenses used by open source software.

 

Apache License, Version 2.0, January 2004


The analytical terms and conditions of the license can be found in:

http://www.apache.org/licenses/

http://www.opensource.org/licenses/apache2.0.php

 

The Apache License is recognised by the Open Source Initiative as a popular and widely used licence with a strong community. It is used by only about two percent of the open source-licensed projects on the software repository Sourceforge, in freshmeat currently there are 662 projects under Apache v2 license. Like all licences the Apache License v2 grants certain rights under certain conditions. In brief a licensee of Apache Licensed v2 software can:
  • copy, modify and distribute the covered software in source and/or binary forms
  • exercise patent rights that would normally only extend to the licensor provided that:
  • all copies, modified or unmodified, are accompanied by a copy of the licence
  • all modifications are clearly marked as being the work of the modifier
  • all notices of copyright, trademark and patent rights are reproduced accurately in distributed copies
  • the licensee does not start legal action against the licensor(s) over patent infringement
  • the licensee does not use any trademarks that belong to the licensor

One unintended upshot of the creation of the Apache License v2 is that it became incompatible with the GPL v2. The restriction in v2 that terminates the grant of rights if the licensee sues over patent infringement is seen by the Free Software Foundation as a restriction that is not present in the GPL v2. However, with the release of the GPL v3, this incompatibility is no longer insurmountable. The GPL v3 allows for the addition of a patent retaliation clause whose effect is to allow code from a GPL v3-licensed project to be combined with code from an Apache 2-licensed project.[www.oss-watch.ac.uk/resources/apache2.xml]

 

Useful links:

http://en.wikipedia.org/wiki/Apache_License

http://db.apache.org/derby/license.html

 

GNU General Public License (GPL)


The first version of GNU license was published in 1989. The analytical terms and conditions of this license are in http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt.

 

The license prevented what were then the two main ways that software distributors restricted the freedoms that define free software. The first problem was that distributors may publish binary files only – executable, but not readable or modifiable by humans. To prevent this, GPLv1 said that any vendor distributing binaries must also make the human readable source code available under the same licensing terms.

 

The second problem was the distributors might add additional restrictions, either by adding restrictions to the license, or by combining the software with other software which had other restrictions on its distribution. If this was done, then the union of the two sets of restrictions would apply to the combined work, thus unacceptable restrictions could be added. To prevent this, GPLv1 said that modified versions, as a whole, had to be distributed under the terms in GPLv1. Therefore, software distributed under the terms of GPLv1 could be combined with software under more permissive terms, as this would not change the terms under which the whole could be distributed, but software distributed under GPLv1 could not be combined with software distributed under a more restrictive license, as this would conflict with the requirement that the whole be distributable under the terms of GPLv1. [en.wikipedia.org/wiki/GNU_General_Public_License#Version_1]

 

The second version was published in 1991.The analytical terms and conditions of this license are in http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.

According to Richard Stallman, the major change in GPLv2 was the "Liberty or Death" clause, as he calls it - Section 7. This section says that if someone has restrictions imposed that prevent him or her from distributing GPL-covered software in a way that respects other users' freedom (for example, if a legal ruling states that he or she can only distribute the software in binary form), he or she cannot distribute it at all.

 

By 1990, it was becoming apparent that a less restrictive license would be strategically useful for some software libraries; when version 2 of the GPL (GPLv2) was released in June 1991, therefore, a second license - the Library General Public License (LGPL) was introduced at the same time and numbered with version 2 to show that both were complementary. The version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the GNU Lesser General Public License to reflect its place in the GNU philosophy. [en.wikipedia.org/wiki/GNU_General_Public_License#Version_2]

 

The third version was published in 2007. The analytical terms and conditions of this license are in http://www.gnu.org/licenses/gpl-3.0.html.

 

GPLv3 was written by Richard Stallman, with legal counsel from Eben Moglen and Software Freedom Law Centre. According to GPLv3 author, Richard Stallman, the most important changes are in relation to software patents, free software license compatibility, the definition of "source code", and hardware restrictions on software modification ("tivoisation"). Other changes relate to internationalisation, how license violations are handled, and how additional permissions can be granted by the copyright holder.

 

Other notable changes include allowing authors to add certain additional conditions or requirements to their contributions. One of those new optional requirements, sometimes referred to as the Affero clause, is intended to fulfil a request regarding software as a service; the permitting addition of this requirement makes GPLv3 compatible with the Affero General Public License. [en.wikipedia.org/wiki/GNU_General_Public_License#Version_3]

 

Useful links:

http://www.gnu.org/licenses/gpl-faq.html

Why upgrade in GPLv3, http://www.gnu.org/licenses/rms-why-gplv3.html

http://creativecommons.org/licenses/GPL/2.0/

http://www.fsf.org/news/gplv3_launched

http://www.law.ed.ac.uk/ahrc/script-ed/vol3-2/guadamuz.asp

 

GNU Library or "Lesser" General Public License (LGPL)


The LGPL is intended to apply to libraries and code that is intended to plug into other code. It specifically addresses the problem that the GPL has of "expanding" to include code that just calls GPL-licensed libraries, since the GPL's definition of "derivative work" includes code that simply links with GPL code.

 

Useful Links:

http://www.flexwiki.com/default.aspx/FlexWiki/LicenseResearch.html

http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License

http://www.eexi.gr/?q=node/52

http://creativecommons.org/licenses/LGPL/2.1/

http://opensource.franz.com/preamble.html

 

MIT License


The MIT license is one of the most liberal open source licenses and is almost identical with BSD License. It originated from Massachusetts Institute of Technology for the X Window System (1984). Alternatively, this license is referenced as X11 license, since MIT has used many licences for software and was first drafted for X Windows System.

 

The MIT license allows the linkage with proprietary software, which means that it permits reuse and modification within the proprietary software as long as the license is distributed with that software. The MIT License states explicitly the rights given to the end-user, including the right to use, copy, modify, merge, publish, distribute, sublicense, and/or sell the software. Since there is no charge, there is no warranty of any kind.

 

The MIT License is similar to the 3-clause "modified" BSD license, except that the BSD license contains a notice prohibiting the use of the name of the copyright holder in promotion. This is sometimes present in versions of the MIT License. The original BSD license also includes a clause requiring all advertising of the software to display a notice crediting its authors. This "advertising clause" is only present in the modified MIT License used by XFree86. A 2-clause BSD-style license, found in software such as Apple Inc.'s WebKit (though most of WebKit is under the LGPL) is essentially identical to the MIT License, as it does not contain an advertising clause.

 

Useful Links:

http://en.wikipedia.org/wiki/MIT_License

http://www.opensource.org/licenses/mit-license.php

http://el.wikipedia.org/wiki/X_Window_System

http://www.linfo.org/mitlicense.html

 

Mozilla Public License 1.1 (MPL)


The Mozilla Public License is an open source and free software license. MPL is considered as a hybrid of modified BSD License and GNU General Public License. MPL is used by all the Mozilla software, including Mozilla Application Suite, Mozilla Firefox, Mozilla Thunderbird, etc. However, others have chosen MPL for their software, such as Sun Microsystems.
The Mozilla Public License is regarded as a weak copyleft license. According to MPL source code copied or modified under the MPL must stay under the MPL. Unlike strong copyleft licenses, the code under the MPL may be combined in a program with proprietary files which would otherwise be derivative works of the MPL code.
The Free Software Foundation (FSF) considers MPL a free software license, but "not a strong copyleft" one. However, "unlike the MIT license" the license has "some complex restrictions" making it incompatible with the GNU GPL. This incompatibility is a reason why this license is not widely used. The MPL was approved as an open source software license by the Open Source Initiative. The Mozilla Suite and Firefox have been relicensed under multiple licenses, including the MPL, GPL and LGPL.

Useful Links:

http://www.mozilla.org/MPL/MPL-1.1.html

http://en.wikipedia.org/wiki/Mozilla_Public_License

 

Eclipse Public License (EPL)


The Eclipse Public License is written for use by the Eclipse Foundation. The EPL is a derivative from CPL (Common Public License). The EPL defines the limitations of “Contributions” to the original Program. As “Contributions” it refers to changes or additions made to the Program.

 

The contributor can make, use, sell, offer to sell, import and transfer the contribution and release it under its own license, as long as it states that the provisions mentioned in the license are offered by the contributor alone and not by any other party.

 

Useful Links:

http://en.wikipedia.org/wiki/Eclipse_Public_License

http://www.eclipse.org/legal/epl-v10.html

http://www.eclipse.org/legal/eplfaq.php

 

PHP License


The PHP license (latest version 3.01) is used by PHP scripting language, mainly used in web developing. In general, the PHP license allows the user to use, distribute and modify PHP in any way, whether it’s for commercial or non commercial use. The only real restriction is that it must be made clear to the user that the distributed software contains PHP.

 

More specifically, the license must be contained in the software’s documentation (including the PHP license copyright statement) and also the product must retain the acknowledgement “This product includes PHP, freely available from ". Also products derived from PHP cannot contain the term “PHP” in their title. They can though indicate that the product works in conjunction with PHP by applying the term “for PHP” at the end of the product title.

 

Useful Links:

http://www.php.net/license/3_01.txt

http://en.wikipedia.org/wiki/PHP_License

 

Python license (CNRI Python License)


The Python License is a deprecated computer software license created by the Corporation for National Research Initiatives (CNRI). It was used for versions 1.6 and 2.0 of the Python programming language, both released in the year 2000. The Python License is similar to the BSD License and, while it is a free software license, its wording means that it is incompatible with the GNU General Public License (GPL) used by a great deal of free software including the Linux kernel. For this reason CNRI retired the license in 2001 in favour of the Python Software Foundation License.

Useful Links:

http://www.python.org/psf/license/

http://en.wikipedia.org/wiki/Python_License

http://swik.net/License:Python-License

 

Common Public Attribution License 1.0 (CPAL)


The analytical terms and conditions of the license can be found in http://www.opensource.org/licenses/cpl1.0.txt

The Common Public Attribution License ("CPAL") is a free software license approved by the Open Source Initiative in 2007. Its purpose is to be a general license for software distributed over a network. It is based on the Mozilla Public License, but it adds a controversial attribution term paraphrased below:

 

[…] the Original Developer may include […] a requirement that each time an Executable and Source Code or a Larger Work is launched or initially run […] a prominent display of the Original Developer's Attribution Information […] must occur on the graphic user interface employed by the end user to access such Covered Code […] [http://en.wikipedia.org/wiki/Common_Public_Attribution_License]

 

Useful links:

http://www.eu.socialtext.net/open/index.cgi?cpal_faq

http://www.eu.socialtext.net/open/index.cgi?how_to_apply_the_cpal_to_your_product

 

GNU LIBRARY OR “LESSER” GENERAL PUBLIC LICENSE VERSION 3.0 (LGPLv3) JUNE 2007


The analytical terms and conditions of the license can be found in http://www.gnu.org/copyleft/lgpl.html

The GNU Lesser General Public License was written in 1991 (and updated in 1999) by Richard Stallman, with legal advice from Eben Moglen.

 

The LGPL places copyleft restrictions on the program itself but does not apply these restrictions to other software that merely links with the program. There are, however, certain other restrictions on this software.

 

The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications, most notably Mozilla and OpenOffice.org. [en.wikipedia.org/wiki/GNU_Lesser_General_Public_License]

 

The main difference between the GPL and the LGPL is that the latter can be linked to (in the case of a library, 'used by') a non-(L)GPLed program, which may be free software or proprietary software . This non-(L)GPLed program can then be distributed under any chosen terms if it is not a derivative work. If it is a derivative work, then the terms must allow "modification for the customer's own use and reverse engineering for debugging such modifications." Whether a work that uses an LGPL program is a derivative work or not is a legal issue. A standalone executable that dynamically links to a library is generally accepted as not being a derivative work. It would be considered a "work that uses the library" and paragraph 5 of the LGPL applies.

 

A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

 

Essentially, it must be possible for the software to be linked with a newer version of the LGPL-covered program. The most commonly used method for doing so is to use "a suitable shared library mechanism for linking". Alternatively, a statically linked library is allowed if either source code or linkable object files are provided.

 

One feature of the LGPL is that one can convert any LGPLed piece of software into a GPLed piece of software (section 3 of the license). This feature is useful for direct reuse of LGPLed code in GPLed libraries and applications, or if one wants to create a version of the code that software companies cannot use in proprietary software products. [en.wikipedia.org/wiki/GNU_Lesser_General_Public_License#Differences_from_the_GPL]

 

Useful links:

http://www.gnu.org/copyleft/lgpl.html

http://www.opensource.org/licenses/lgpl-license.php

http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License#Choosing_to_license_a_library_under_the_GPL_or_the_LGPL

http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License#LGPL_regarding_inheritance_.28in_programming.29

 

Reciprocal Public License 1.5 (RPL1.5)


The analytical terms and conditions of the license can be found: http://www.opensource.org/licenses/rpl1.5.txt

 

The Reciprocal Public License (RPL) is a software license inspired by the GNU General Public License (GPL) but authored to explicitly remove what some have referred to as the GPL's "privacy loophole"—an aspect of the GPL which allows recipients of GPL'd code to:

1) Make changes to source code which are never released to the open source community (by virtue of not deploying "to a third party"), and

2) Derive financial or other business benefit from that action, violating what some might consider a simple concept of "fairness".

 

The "R" in RPL stands for "Reciprocal" specifically to call out that this license requires software developers and companies to reciprocate for the benefits they derive from RPL'd software by releasing any extensions or improvements they make regardless of whether those changes deploy internally or to third parties.

 

Because of its "viral" nature, the RPL is often found in dual-licensing models in which it is paired with more traditional closed-source licenses. This strategy allows software companies who use this model to present customers with a "pay with cash or pay with code" option, ensuring either the growth of the software directly through code contributions or indirectly through cash which can be used to fund further development.

 

The RPL was written to conform to the requirements of the Open Source Initiative to ensure that it met the goals for an Open Source license, however because of its requirements for reciprocation the RPL holds the unique distinction of being the only software license both approved by the Open Source Initiative and explicitly called out as non-free for matters of substance by the Free Software Foundation (the FSF considers the Artistic License too vague to be definitively free).

 

Useful links:

http://www.opensource.org/licenses/rpl1.0.php, previous version.

 

Simple Public License 2.0 (SimPL)


Simple Public License is a plain language implementation of GPL 2.0. It allows the user to use the software for any purpose, whether it is for commercial or non commercial use. If there are any changes made, the date of changes should be mentioned and leave other people’s license terms in place, while the availability under the SimPL license must be conspicuously announced.

 

Useful Links:

http://www.opensource.org/licenses/simpl-2.0.html

 

Creative Commons Licenses


Creative commons has come up with 6 different types of licensing, allowing creators to “mark their work with the freedoms they want it to carry”. They are the following:

 

Attribution

Allows people to distribute, remix, tweak and build upon someone’s work as long as they credit the original creation. Allows commercial use.

 

Attribution Share Alike

Same with attribution, with the limitation of any further distributions of the product being licensed under identical terms with the original. Also allows commercial use.

 

Attribution No Derivatives

Allows redistribution of the product as long as it remains unchanged and there is credit to the original creator. Also allows commercial use.

 

Attribution Non Commercial Share Alike

Same with attribution, although doesn’t allow commercial use and the final product license can differ from the initial one.

 

Attribution Non Commercial

This is actually the same with attribution Non Commercial Share Alike, the final product license though must be identical with the original product’s one.

 

Attribution Non Commercial No Derivatives

Same with attribution no derivatives, with the further restriction of non commercial use.

 

As anyone can notice, all of these licenses allow redistribution of the original work - whether it’s changed or not, as long as there is credit to the original creator.

 

Useful Links:

http://creativecommons.org/about/license/

 

 

Copyleft Licenses Summary Table


License
Proprietary Software linking
Distribution of “the Work”
Redistributing of the code with changes
GNU GPL Compatible
Apache License
Allowed.
Allowed.
Allowed (as long as the name “Apache” isn't used in the name of the derivative work)
No
GPL
Not allowed (since the linked software is considered a whole)
Not allowed with software whose license is not GNU GPL compatible.
Only if the derivative is GNU GPL.
Yes
LGPL
Allowed (since the software that links to the library is not considered a derivative work)
Allowed with some restrictions: You have to provide source code of the distributed LGPL library with (if any) modifications, changes to the LGPL library should be allowed to third parties and if BC your app/lib should still work with the modified LGPL lib/app.
Only if the derivative is GNU LGPL or GNU GPL.
Yes
MIT
Allowed
Allowed
Allowed.
Yes
MPL
Allowed
Allowed
Only under MPL.
No/Yes
Python
Allowed
Allowed
Allowed, assuming the package includes a list of changes to the original Python and copyright notices on all files.
Yes
CPAL (MPL based)
See MPL
See MPL
See MPL
See MPL
RPL
Allowed
Allowed
Allowed
Yes
SimPL (GPL based)
See GPL
See GPL
See GPL
See GPL
EPL
Allowed
Allowed
Allowed
No
CC Attribution
Allowed
Allowed
Allowed
No
CC Attr ND
Allowed
Allowed (as long as there is credit to the creator)
Not Allowed
No
CC Attr NC SA
Allowed
Allowed (for non commercial use)
Allowed
No
CC Attr NC
Allowed
Allowed (under the same license with the original and for non commercial use)
Allowed
No
CC Attr ND NC
Allowed
Allowed (for non commercial use)
Not Allowed
No
CC Attr SA
Allowed
Allowed
Allowed
No
PHP License
Allowed
Allowed
Allowed (as long as "PHP" is not contained in the name of the derivative work)
No

 

Useful Links:

http://developer.kde.org/documentation/licensing/licenses_summary.html

Comments (0)

You don't have permission to comment on this page.