Enforcing the GNU GPL - Copyright helps Copyleft
Harald
Welte
laforge@gpl-violations.org
2004
Harald Welte <laforge@gpl-violations.org>
Dec 01, 2004
1
netfilter core team
$Revision: 1.4 $
More and more vendors of various computing devices, especially network-related
appliances such as Routers, NAT-Gateways and 802.11 Access Points are using
Linux and other GPL licensed free software in their products.
While the Linux community can look at this as a big success, there is a back
side of that coin: A large number of those vendors have no idea about the GPL
license terms, and as a result do not fulfill their obligations under the GPL.
The netfilter/iptables project has started legal proceedngs against a number of
companies in violation of the GPL since December 2003. Those legal proceedings
were quite successful so far, resulting in twelve amicable agreements and one
granted preliminary injunction. The list of companies includes large
corporations such as Siemens, Asus and Belkin.
This paper and the corresponding presentation will give an overview about the
author's recent successful enforcement of the GNU GPL within German
jurisdiction.
The paper will go on describing what exactly is neccessarry to fully comply
with the GPL, including the author's legal position on corner cases such as
cryptographic signing.
In the end, it seems like the idea of the founding fathers of the GNU GPL
works: Guaranteeing Copyleft by using Copyright.
Legal Disclaimer
The author of this paper is a software developer, not a lawyer. The content of
this paper represents his knowledge after dealing with the legal issues of
about 20 gpl violation cases.
All information in this paper is presented on a nas-is basis. There is no
warranty for correctness.
The paper does not comprise legal advise, and any details might be coupled to German copyright law (UrhG)
What is copyrightable
Since the GNU GPL is a copyright license, it can only cover copyrightable
works. The exact definition of what is copyrightable and what not might vary
from legislation to legislation.
Software is considered the immaterial result of a creative act, and is treated
very much like literary works. It might therefore be applicable to look at the
analogy of a printed book.
In order for a work to be copyrightable, it has to be non-trivial (German:
Schöpfungshöhe). Much like a lector of a book, anybody who just
corrects spelling mistakes, compiler warnings, or even functional fixes such as
fixing a signedness bug or a typecast are unlikely to be seen as a
copyrightable contribution to an existing work.
An indication for copyrightability can be the question: Did the author have a
choice (i.e. between different algorithms)? As soon as there are multiple ways
of getting a particular job done, and the author has to make decisions on which
way to go, this is an indication for copyrightability.
The GNU GPL revisited
As a copyright license, the GNU GPL mainly regulates distribution of a
copyrighted work, not usage. To the opposite, the GNU GPL does not allow an
author to make any additional restrictions like must not be used for
military purpose
.
As a summary, the license allows distribution of the source code (including
modifications, if any) if
The GPL license itself is mentioned
A copy of the full license text accompanies every copy
The GPL allows distribution of the object code (including modifications) if
The GPL license itself is mentioned
A copy of the full license text accompanies every copy
The complete corresponding source code
or a written offer to ship it to any third party is included with every copy
Complete Source Code
The GPL contains a very specific definition of what the term full source
code
actually means in practise:
... 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.
The interpretation of the paper's author of this (for C programs) is:
source code
Header Files
Makefiles
Tools for installation of a modified binary, even if they are not technically implemented as scripts
The general rule in case of any question is the intent of the license: To
enable the user to modify the source code and run modified versions.
This brings us to the conclusion that in case of a bundle of hardware and
software, the hardware can not be implemented in a way to only accept
cryptographically signed software, without providing either the original key,
or the option of setting a new key in the hardware.
Derivative Work
The question of derivative works is probably the hardest question with regard
to the GPL. According to the license text, any derivative work can only be
distributed under the GPL, too. However, the definition of a derivative work
is left to the legal framework of copyright.
The paper's author is convinced that any court decision would not look at the
particular technology used to integrate multiple software parts. It is much
more a question of how much dependency there is between the two pieces.
If a program is written against a specific non-standard API, this can be
considered as an indication for a derivative work. If a program is written
against standard APIs, and the GPL licensed parts that provide those APIs can
be easily exchanged with other [existing] implementations, then it can be considered as indication for no derivative work.
Unfortunately there is no precedent on this issue, so it's up to the first
court decisions on the issue of derivative works to determine.
Collective Works
... it is not the intent ... to claim rights or contest your rights to work written entirely by you; rather, the intent is to excercise the right to control the distribution of derivative or collective works ...
... mere aggregation of another work ... with the program on a volume of a storage or distribution medium does not bring the other work under the scope of this license
So the GPL allows mere aggregation
, which is what e.g. the
GNU/Linux distributors like RedHat or SuSE do, when they ship GPL-licensed
programs together with a proprietary Macromedia Flash player on one CD- or
DVD-Medium.
Further research is required to determine what exactly would be a collective
work, and how far this is backed by copyright law.
Non-Public Modifications
Since the GPL regulates distribution and not use, any modifications that are
not distributed in any form do not require offering the source code.
Special emphasis has to be given on when distribution happens within the legal
context.
Undoubtedly, as soon as you distribute modifications to a third party, such as
a contractor or another company, you are bound by the GPL to either include the
full source code, or a written offer. Please note that if you don't include
the source code at any given time, the written offer must be available to any third party!
Interestingly, at least in German copyright law, distribution can also happen
within an organization. Apparently, as soon as a copy is distributed to a
group larger than a small number of close colleagues whom you know personally,
distribution happens - and thus the obligations of the GPL apply.
GPL Violations
The GPL is violated as soon as one or more of the obligations are not fulfilled.
For this case, the GPL automatically revokes any right, even the usage right on
the original unmodified code. So not only the distribution is infringing, also the mere use is no longer permitted.
This very strong provision is quite common in copyright licenses, especially in
the world of proprietary software.
Enforcement Case Timeline