What is the difference between GPLv2 and GPLv3?
http://www.ifross.org/en/what-difference-between-gplv2-and-gplv3
GPLv3 of June 29, 2007 contains the basic intent of GPLv2 and is an Open
Source license with a strict copyleft (→ What types of licenses are there
for Open Source software, and how do they differ?) However, the language of
the license text was strongly amended and is much more comprehensive in
response to technical and legal changes and international license exchange.
The new license version contains a series of clauses that address questions
that were not or were only insufficiently covered in version 2 of the GPL.
The most important new regulations are as follows:
a) GPLv3 contains compatibility regulations that make it easier than before
to combine GPL code with code that was published under different licenses
(→ What is license compatibility?). This concerns in particular code under
Apache license v. 2.0.
b) Regulations concerning digital rights management were inserted to keep GPL
software from being changed at will because users appealed to the legal
regulations to be protected by technical protective measures (such as the
DMCA or copyright directive). The effectiveness in practice of the
contractual regulations in the GPL has yet to be seen.
c) The GPLv3 contains an explicit patent license, according to which people
who license a program under the GPL license both copyrights as well as
patents to the extent that this is necessary to use the code licensed by
them. A comprehensive patent license is not thereby granted. Furthermore,
the new patent clause attempts to protect the user from the consequences of
agreements between patent owners and licensees of the GPL that only benefit
some of the licensees (corresponding to the Microsoft/Novell deal). The
licensees are required to ensure that every user enjoys such advantages
(patent license or release from claims), or that no one can profit from them.
d) In contrast to the GPLv2, the GPLv3 clearly states that there is no
requirement to disclose the source code in an ASP use of GPL programs as long
as a copy of the software is not sent to the client. If the copyleft effect
is to be extended to ASP use (→ When does independently developed software
have to be licensed under the GPL?), the Affero General Public License,
Version 3 (AGPL) must be applied that only differs from the GPLv3 in this
regard.
When is GPLv2 used, and when is GPLv3 used?
http://www.ifross.org/en/when-gplv2-used-and-when-gplv3-used
License holders can choose if they want to use version 2 or version 3 of the
software if the following reference is provided:
"this program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option) any
later version.”
With which licenses is the GPLv3 compatible?
http://www.ifross.org/en/which-licenses-gplv3-compatible\
The GPLv3 is compatible with the following licenses (but not vice versa):
Apache License, Version 2
Affero General Public License, Version 3 (see sec. 13 of GPLv3)
Lesser General Public License, Versions 2, 2.1 and 3 (LGPL)
BSD license without the advertising clause
CeCILL (CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL)
Artistic License 2.0
Zope Public License, Version 2.0 und 2.1
Note: This means OSS under a listed license can generally be used for
creating OSS under GPLv3. It does not mean OSS under the GPLv3 may be
incorporated into OSS which uses one of these licenses.
If there is no reference to the license version, you can also choose between
version 2 and version 3.
The licenseholder is only restricted to a specific license version by the
phrases "version 2 only," or version 2” without the added phrase "any later
version". This is the case with the Linux kernel that contains such a
reference by Linus Torvalds in the COPYING file. Source text under "version
3 of the license or (at your option) at any later version" cannot be
introduced into the Linux kernel, and conversely, code that is licensed as
"version 2 only" cannot be used in projects that are already licensed under
GPLv3. GPLv2 and GPLv3 are then incompatibl