GPL — legal particularities
As part of the twillo project, consideration was given to using the text editing program CKEditor. This is licensed under the GNU General Public License (GPL) version 2 or later(https://github.com/ckeditor/ckeditor4/blob/master/LICENSE.md; https://www.gnu.org/licenses/gpl.html ). Twillo is an open project. We strive to use open source software with few restrictions. The following three questions therefore arose during the introduction of the program:
- Is the GPL license compatible with the openness of the project?
- Isn’t the license notice: “GPLv2 or later” ambiguous?
- What special features (pitfalls) does the GPL have from a legal point of view?
1. is the GPL license compatible with the openness of the project?
GNU General Public License (GPL) is an open license in the sense of an open source initiative despite a strict “copyleft”.
Open source licenses are divided into three different levels when implementing the “copyleft” principle:
-
- with strict “Copyleft” (GPL),
- with limited “Copyleft” (LGPL) and
- without “Copyleft” (BSD)
Strict “copyleft” means: If software under a strict “copyleft” license is combined with your own software and distributed, the overall result must be passed on under the strict license, the so-called viral effect. This obligation applies even if only a small part of software with a strict “copyleft” is used to produce your own software. As long as the CKEditor is only used as part of the project and not further developed, the strict “copyleft” is irrelevant.
2. is the license notice: “GPLv2 or later” not ambiguous?
The version note “GPL v.2 or later” is not ambiguous, but is common for the licensing of software.
According to section 9 GPL v2 and section 14 para. 2 GPL v3, the developers of the original program have two options to specify under which license version(s) of the GPL the code may be used:
- “any later” version note: use under the specified version or any later version is permitted
- open version note: use is permitted under any version (including older versions)
Not contractually stipulated, but also recognized: Decision for a specific license version (e.g. Linux-Kennel: GPLv2). However, such a decision does not normally appear to make sense, as this does not guarantee that the license terms can be adapted to changing circumstances.
Special features of the “any later” version note
If the GPL software is edited, the editors are initially bound by the version notice of the original software. They cannot change this if the original code is affected. However, if independent code is developed that is not mixed with the original code (e.g. saved in a separate file), it is possible to assign a separate program part to a separate release note. In this case, the separate release note may differ from the release note of the original author.
Regardless of the version notice, licensees must commit to a specific license version. If they wish to switch to a new license version when it is published, this can have both positive and negative consequences for them (e.g. the new version grants more rights than the previous version or restricts old rights and provides for new obligations in return).
If the licensees decide to comply with the new license version from now on, the new terms of use shall apply. They hereby declare their acceptance of a new license agreement under the amended conditions. This decision does not necessarily have to be documented externally. This means that it will usually be difficult for outsiders to assess which license version applies to the respective users. However, this knowledge can be particularly important for licensors if they want to take action against a user for violating the GPL and the potential violation lies in an action that would be permitted under one license version but not under another. The following applies here: If the licensees take actions that are only permitted under a new license version (i.e. if it contains more extensive powers), they hereby tacitly declare that they wish to switch to the new license version. This results in the conclusion of a license agreement under the amended conditions. If you do not comply with any further legal obligations, this will result in a breach of the GPL and the rights under the license will expire.
Recommendation: License version 3
We recommend using the current version 3, which was introduced in 2007 and has several advantages over version 2 from 1991, in particular its improved compatibility with other licenses. The current version 3 has been adapted to new legal requirements and has filled the gaps in the old version (patent compensation, internationalization and remedies for license infringements).
What’s new in the current version?
The GPLv3 of June 29, 2007 contains the basic intention of the GPLv2, but the language of the license text has been changed considerably and is much more extensive due to technical and legal changes and the international exchange of licenses.
The new license version contains a number of new clauses. These address issues that were not or only insufficiently regulated in version 2 of the GPL. The following overview presents the most important new regulations:
a) GPLv3 contains compatibility rules that make it easier than before to combine GPL code with code published under other licenses (relaxation of the strict “copyleft” effect). This applies in particular to code under the Apache license v. 2.0. GPLv3 is compatible with the following licenses, among others:
Apache License, Version 2
Affero General Public License, Version 3 (see section 13 of the GPLv3)
Lesser General Public License, Versions 2, 2.1 and 3 (LGPL)
BSD license without advertising clause
CeCILL (CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL)
Artistic License 2.0
Zope Public License, Version 2.0 and 2.1
b) Regulations on digital rights management have been added. This is intended to prevent GPL software from being modified at will because users invoke the legal regulations in order to be protected by technical protection measures (such as DMCA or Copyright Directive).
c) In contrast to v2, the current version includes a cure clause . According to this, a breach of the license can be cured — the licensees retain their rights — if they act in accordance with the law.
d) GPLv3 contains an explicit patent license. When licensing a program with GPL, both copyrights and patents can now be licensed, insofar as this is necessary for the use of the licensed code. This does not grant a comprehensive patent license. Furthermore, the new patent clause aims to protect users from the consequences of agreements between patent holders and GPL licensees that only benefit some of the licensees. According to the patent clause, licensees are obliged to ensure that either every user can enjoy the benefits (patent license or exemption from claims) or that no one can benefit from them
e) In contrast to GPLv2, GPLv3 makes it clear that there is no obligation to disclose the source code for ASP use of GPL programs as long as no copy of the software is sent to the client. If the copyleft effect is to be extended to ASP use, the Affero General Public License, Version 3 (AGPL) must be applied, which differs from the GPLv3 only in this respect.
3. what are the special legal features and pitfalls of the GPL?
Applicable law:
According to international copyright law, the so-called country of protection principle applies to infringements with a foreign connection. Accordingly, the copyright law of the country for whose territory copyright protection is claimed applies. If copyright protection is sought for German territory, German copyright law applies.
Example: If a foreign author seeks injunctive relief under copyright law due to an infringement of rights in Germany, Germany is the country of protection. The injunctive relief is based on Section 97 (1) UrhG.
Conclusion of contract:
The exact point in time at which the contract is concluded is important, as the provisions of the GPL with its rights and obligations come into effect from this point in time. If the user receives the software including the license file, this does not yet constitute a license agreement. According to German contract law, this requires two concurring declarations of intent, offer and acceptance. In addition, the content of the contract must be clearly definable. The contractual offer lies in the attached license agreement and is therefore easily determinable. This is an offer to anyone. The offer is only accepted when the user can reasonably read the text of the contract and visibly manifests acceptance of the offer to the outside world. The license agreement is therefore only concluded when the user modifies or passes on the program (i.e. makes use of the rights of use from the license). Passing on means, for example, that the software is offered to third parties for download or CD-ROMs with the program are produced.
Rights of use:
If the license terms are not observed by the user, this can lead to the expiry of the right to use and distribute the software, Section 158 (1) BGB. In this case, the licensor has a claim for injunctive relief against the user under Section 97 (1) sentence 1 UrhG. In addition to civil law claims, a violation of license terms in the event of distribution of the software may have criminal law consequences for the user pursuant to Sections 106, 108 UrhG.
Under German licensing law, the expiration of the license results not only in the expiration of the license vis-à-vis the software manufacturer, but also vis-à-vis its customers/users. In contrast to the distribution of tangible property, there is no “acquisition of rights in good faith” for intellectual property. This means that the end user does not acquire any rights to the software in good faith if he/she did not know or should not have known of the license infringement.
Rights and obligations:
Important: The following overview is for guidance only and represents the most important rights and obligations under GPLv2 and v3. For all rights and obligations, please refer to the official text of the license in English:
for GPL v2: https://www.gnu.org/licenses/old-licenses/gpl‑2.0
for GPL v3: https://www.gnu.org/licenses/gpl‑3.0.en.html
Rights:
The GPL grants the right to reproduce, edit and distribute the program in an unchanged or modified version. Under copyright law, this constitutes the granting of simple (“non-exclusive”) rights of use.
Duties:
- Delivery of the license text
According to section 1 GPLv2 and section 4 GPLv3, a copy of the license text must be supplied with each copy of the program. This can be done in physical form as a paper printout or non-physically by attaching a corresponding text file. This obligation ensures that every purchaser is aware of the possibility of acquiring rights under the GPL and receives the offer to conclude a license agreement.
- Copyright notice
Clause 1 GPLv2 and clauses 4, 5b GPLv3 stipulate that a copyright notice/license notice must be attached to each copy in a clearly visible manner. In addition, existing copyright notices/license notices may not be removed. This is intended to make it clear who owns the rights to the software.
- Exclusion of liability and warranty
Section 1 GPLv2 stipulates the obligation to include a reference to the exclusion of liability on each copy and to adopt existing references to it unchanged. Section 15 of GPLv3 provides for a comprehensive exclusion of liability. Such an exclusion of liability in pre-formulated contracts (license agreement as general terms and conditions, Section 305 et seq. of the German Civil Code) is not compatible with German law on general terms and conditions. According to § 309 ff. BGB, liability for intent and gross negligence may not be excluded in general terms and conditions. A complete exclusion of warranty in accordance with section 14 of GPLv3 is also not permitted, as the software is equivalent to a newly manufactured item. As the clauses are ineffective under German law, the statutory provisions take their place:
Due to the gratuitous nature of the software transfer, the contract is to be classified as a mixed gift contract. The developers are only liable for intent and gross negligence. They only have warranty obligations if they have fraudulently concealed the defect in the software. Since fraudulent concealment is usually difficult to prove in practice, warranty claims against the developers are hardly enforceable.
- Passing on the source code
Passing on the object code obliges you to pass on the source code, section 3 of the GPLv2 or section 6 GPLv3.
Possibilities for passing on the source code:
-
- Delivery on a standard data carrier, together with the object code,
- Delivery of only the object code with a written promise to deliver the source code on the same data carrier on which the object code was delivered at cost price upon request,
- Anyone who does not pass on the object code commercially and has received it within the framework of an agreement mentioned above can refer to the original agreement with regard to the source code.
- through online access: If you offer an object code under a network address, you can also offer the source code under the same address.
These options are exhaustive and cannot be combined with each other (e.g. delivery of the object code on a data carrier (as under a.) and publication of the source code online (as under d.) is not possible).
- Prohibition of license fees
No license fee may be charged for the reproduction and distribution of the GPL software. Excluded from this is the fee for copying costs, the costs for the creation of a manual and for services associated with the purchase of the software.
- Obligations for processing
Edits must be clearly marked as such. The note must include what was edited and when.
- Notes on third-party license conditions
The manufacturer’s license agreement should typically refer to the license conditions of the free software components and/or pass on corresponding third-party license conditions. This can only be dispensable if it is certain that no such software components have been implemented (which would be atypical in practice, however).
- Right to provide further information (version 3)
In accordance with GPLv3 clause 7, the following special notices may also be attached:
-
- an exclusion of warranty or limitation of liability deviating from sections 15, 16 GPLv3 or
- the requirement to include specified meaningful legal or authorship notices in that material or in the appropriate legal notices displayed by the works it contains, or
- the prohibition on misrepresenting the origin of the material or the requirement to appropriately mark modified versions of the material as different from the original, or
- Limit the use of the names of licensors or authors of the material for promotional purposes, or
- rejecting the granting of rights under trademark law to use certain product names, product or service marks or
- the indemnification of the licensee and the authors of the material from claims of third parties by anyone who transfers the software (or modified versions thereof).