GPL v2: „Foreword: … We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.“
The GPL grants you the right to use (reproduce), distribute and modify (adapt) the Software. It thus enables the use of free software licensed under the GPL v2.
In order to be able to use third-party software, it must be reproduced, which is expressly permitted by the GPL v2. As long as the use is limited to the private or to the own systems, the GPL v2 does not raise any further requirements. This even applies to modifications of the software. Only with a publication or distribution of the software further conditions are to be fulfilled.
The GPL v2 further clarifies that the process of executing the program is not restricted by the license. Although the license does not grant an explicit right for this, this right already exists in most legal systems according to the law. In Germany, the right „for an intended use of the computer program including error correction“ arises from Section 69d (1) UrhG for „everyone entitled to use a copy of the program“.
II. Distribution of the unchanged source code
GPL v2 § 1: „… copy and distribute verbatim copies of the Program’s source code …“
The GPL v2 expressly permits further distribution of the software, but links this to the following conditions.
1. Delivery of the license text
GPL v2 § 1: “ … give any other recipients of the Program a copy of this License along with the Program“.
By supplying the license text, the user acquires knowledge of the author’s offer to conclude a license agreement and thus the opportunity to acquire rights under the GPL v2. Existing license references are to be left unchanged and passed on. The source code must be accompanied by a copy of the license (GPL v2) itself (text version of the GNU GPL). In GNU programs, the license is usually located in a file called „COPYING“.
2. Copyright notice
GPL v2 § 1: “ … publish on each copy an appropriate copyright notice …,“
A „suitable“ copyright notice must be affixed, i.e. (all) authors of the software must be named, e.g. © 2008 [name of copyright holder]. The copyright notice must be included in each copy of the source code. Usually it is located in the header files of the source code of the software. Existing copyright notices must be adopted unchanged.
3. Disclaimer of liability
GPL v2 § 1: “ … publish on each copy a … disclaimer of warranty“ „… keep intact all the notices that refer to this License and to the absence of any warranty …“
A reference to the exclusion of liability provided for in the GPL v2 must be attached to each copy. Existing notes are to be adopted unchanged.
II. Distribution and copying of the modified source code
GPL v2 § 2: „You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: …“
The GPL thus expressly permits modifying the software and distributing those modifications, but attaches these to additional conditions, which are listed below under Sections 2 et seq.
1. Delivery of the license text, copyright notice, exclusion of liability
First, however, the provisions of the GPL v2 § 1 (see above point I.) must be observed, i.e. a copy of the license (GPL v2) itself must be attached to the source code (text version of the GNU GPL). Furthermore, the copyright notice and the reference to the disclaimer must be included in the source code. Existing references to the disclaimer and copyright notices shall be left intact.
2. Modifications are to be licensed under the GPL v2 („copyleft“)
GPL v2 § 5: „… However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.“
Any derivative works of the Software must be licensed under the GPL v2, which is also called the „copyleft“ effect.
3. Notice of modification / copyright notice
GPL v2 § 2 a.: „You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.“
Any changes must be clearly noted in the source code, stating the author and date. In practice, this is done by adding appropriate notes to the header files. As a rule, a year or month is sufficient. It is regarded to be sufficient to provide a pseudonym, for instance a nickname. However, this can make it more difficult to enforce the law.
A reference to the change or a naming of the author in the source code is sufficient. Such a reference is not required in the object code or in an executable.
4. License notice
GPL v2 § 2 b.: „You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.“
Any distributed or published derivative work must include a notice in the source code that the Program may be redistributed and/or modified under the applicable license (GPL v2). Existing license references are to be left intact.
The adaptations, i.e. the source code, are to be made available to third parties as a whole under the conditions of the GPL v2 without licence fees. „As a whole“ means the original source code and the adaptations are to be made available together, i.e. independent of the respective author(s).
5. Display for interactive commands
GPL v2 § 2 c.: „If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)“
The phrase „program normally reads commands interactively when run“ refers to all programs which run not only in the background, such as system services, but which are controlled by input, regardless of whether this is done via command line or GUI.
A program that is interactive and points out the validity of the GPL v2 as well as the disclaimer or copyright notices must continue to display or contain these notices, i.e. after editing. If a program first introduces an interactive function, the notices must also be introduced.
The interactive program must output or display the following:
a.) Copyright notice
GPL v2 § 2 c.: „… appropriate copyright notice …“.
A reference to the disclaimer or warranty. If a warranty/liability is explicitly granted by the person who distributes the object code or the executable, a reference to this must be included instead.
c.) Distribution notice
An indication that the program may be redistributed under the terms of GPL v2.
d.) Location of the text of the GPL
The location where the text of the GPL is located must be specified, e.g. the file name (e.g. „COPYING“).
GPL v2 § 2 c.: „Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.“
III. Copying and distributing the object code
GPL v2 § 3: „You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form …“
A program in executable form regularly means an executable, even if it is part of hardware, e.g. as firmware.
The relevant obligations apply to programs based on unchanged or modified source code, the latter in compliance with the corresponding additional obligations mentioned above.
1. Making the source code accessible
a.) Commercial use
(i) Variant A
GPL v2 § 3 a: „Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange;“
Therefore, the source code must always be provided. In variant A, this can be done by delivering the object code and the source code together, e.g. by offering a possibility to download on the Internet or on a standard data carrier.
(ii) Variant B
GPL v2 § 3 b: „Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; „
In Variant B, the simultaneous delivery of the source code is replaced by a written offer to anyone to receive the source code in machine-readable form subsequently on request for at least three years.
b.) Exclusively non-commercial use
GPL v2 § 3 c: „Accompany it with the information you received as to the offer to distribute corresponding source code.“
Variant C is only valid for non-commercial use and if the program was obtained as object code or in executable form with a corresponding offer according to GPL v2 § 3 paragraph b. Then the delivery of the source code can be replaced by the passing on of the corresponding offer. Furthermore, variant C shall only apply if the program has not been modified.
GPL v2 § 3: „The source code for a work means the preferred form of the work for making modifications to it.“
The source code can be provided by supplying the complete source code on a standard data carrier.
GPL v2 § 3: „If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. „
Only if the executable program or the object code is offered for download via the Internet is it sufficient if the source code is also offered for download on the same website. An offer for download at another place is not sufficient.
Alternatively, a written offer to anyone valid for at least three years is sufficient to deliver the complete source code on a customary data carrier at a price that may not exceed the user’s own costs. This offer may be made in an enclosed manual or other written documentation.
GPL v2 § 3: „For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.“
This means everything needed to compile the executable, such as a firmware, including all associated module interface definition files and the scripts used for compilation and installation.
This text is intended as a contribution to the discussion of GPL compliance. It does not replace an examination tailored to the respective case and expressly does not represent legal advice for the individual case.