What is the General Public License (GPL) license?
The GPL is the license is the most commonly used Open Source License
out there. It is longer in form than the BSD license and it is very
explicit about the purpose, scope, and effect of the license. The GPL
grants licensees the right to use, distribute, and create derivative
works of the GPL'd program, provided that any redistribution of
either the identical program or a derivative work of that program
contains the GPL for the benefit of other users. This is particularly
interesting for derivative works, because the GPL acknowledges
severability of certain derivative work program parts:
"These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
In other words, distinct programs and parts you've contributed to
the derivative program (a new program created from the GPL'd
code/program) can be separated and licensed separately without the GPL.
Similarly, if you aggregate/bundle your own distinct program with the
GPL'd program, the GPL will not extend to your program unless you
decide to make that program open source as well.
A licensee is obligated to make sure that the compliance of the GPL
will not interfere with compliance of another license or judgment. The
specific language is:
"If, as a consequence of a court judgment or allegation of
patent infringement or for any other reason (not limited to patent
issues), conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this License,
they do not excuse you from the conditions of this License. If you
cannot distribute so as to satisfy simultaneously your obligations
under this License and any other pertinent obligations, then as a
consequence you may not distribute the Program at all."
Anyone who relies on the GPL should read it thoroughly so as to
understand what their obligations are under the GPL. Failure to do so
may lead to failure to comply with the GPL, which will eliminate your
rights under the GPL and will subject you to a possible copyright
infringement claim. As with all open source licenses there is no
warranty and no liability on the part of the copyright owner. If a
licensee makes changes to the program, the change must be attributed to
the licensee so any problems resulting from the change are attributed
to the licensee and not the original author. Licensees have the ability
offer a warranty of the program for a fee if they so choose.
Is there a difference between GPL v2 and GPL v3?
There are some major differences between version 2 and version 3 of
the GPL. The drafters of GPL v3 went through a great deal of trouble to
ensure compliance with other license types As a result, some people may
not want to go with the new version. There is also a great deal of
debate as to whether v3 gives users the same amount of freedom as v2.
First, there is the addition of "additional terms." These additional
terms apply to derivative works and exist to ensure GPL's
interoperability with the Apache license. Paragraph 7 of v3 permits a
licensee to apply 'additional terms' to additional content that the
licensee contributed to a GPL'd work. Specifically,
- "a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
- b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
- c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
- d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
- e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
- f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for any
liability that these contractual assumptions directly impose on those
licensors and authors."
Licensees who create additional content to the GPL'd work must
distribute that work as a GPL, but may add or subtract any of the
additional terms if they obtain permission from the copyright owner.
GPL v3 also provides explicit patent use protection as opposed to the
implied license granted in GPLv2. If the user modifies a GPL'd work and
relies on a patent license to do so, and the corresponding source code
isn't available, you must provide the source code or you may not
distribute the modified work at all.
One of the major debates concerns "tivoization" and the right to use
DRM and remove DRM. Tivoization occurs when GPL'd works can't be
changed because changing the GPL makes the software inoperable in
conjunction with an appliance. GPLv3 removes the possibility of
tivoization by prohibiting those who rely on GPL'd works from using or
enforcing anti-circumvention technology:
"When you convey a covered work, you waive any legal power to
forbid circumvention of technological measures to the extent such
circumvention is effected by exercising rights under this License with
respect to the covered work, and you disclaim any intention to limit
operation or modification of the work as a means of enforcing, against
the work's users, your or third parties' legal rights to forbid
circumvention of technological measures."
There are several other differences, including Microsoft's ability
to adopt GPLv3 with regard to the patent of Novell (this ties into the
explicit patent license, described above). However, the major issues
are typically seen as the ability to add and remove terms to render
GPLv3 interoperable with other licenses, and the Tivoization/DRM issue.
What happens when Open Source subject to GPL is re-licensed?
A copyright owner can of course re-license the same code without the
GPL (for instance, she may sell the license with a warranty), but at no
point could or should a copyright owner enter into an agreement that
interferes with the GPL, as the GPL cannot be revoked and you can't
enforce your copyright against licensees who are in compliance with the
GPL. As stated before, you can change your GPL'd/Open Source source
code and license that separately from the GPL.
What if there is more than one contributor to the original GPL?
In any joint authorship situation it's smart to get things in
writing. Determining who owns the rights to what can save a lot of
headache in the future. Joint authors to a work share an equal
undivided interest in and to the work, unless an agreement to the
contrary states otherwise. This means that joint authors all own the
work equally and entirely. Every joint author is responsible to other
joint authors for any profits earned from the product. In the case of
GPL, the software/product as a whole is subject to the GPL. However, if
there are distinguishable parts that do not rely on the GPL'd work
and/or if those separate parts are not connected to the source code
covered by the GPL then those separate parts can be pulled out and
licensed individually. If you want your contributions to remain
separate from the GPL program so you can re-license your separate
contributions later (so long as those contributions are so tied into
the GPL'd program as to make them indivisible), it is in your best
interest to get something written to that effect. Because joint authors
own an undivided interest in a copyright, unless an agreement says
otherwise you would have to get each author's permission to license a
separate, non-GPL'd portion of the program. Similarly, if you want to
make new version, you would also require permission to create and
distribute a derivative work unless an agreement states otherwise.
How is Open Source protected?
If you violate a GPL or other open source license, you lose your
rights under that license. That means that continued distribution,
reproduction, or creation of derivative works is prohibited and
constitutes copyright infringement. This means that the Copyright Owner
of the Open Source code can and probably will sue you. The Open Source Initiative
encourages copyright owners to assign their rights to the Freedom
Software Foundation as a means of centralizing enforcement power, but
naturally a lot of copyright owners are hesitant to do so.
If there's anything you feel I should add or change, please don't hesitate to e-mail me.