Most of the discussion I read about when GPLv3 was released involved the “tivoization” clause. This clause has to do with Tivo® and its use of GPL’d code on its set top boxes. If someone tries to modify the source code and install it back on the box, Tivo® recognizes that it is not the original code and refuses to run. While technically complying with GPL, the GNU Foundation felt it went against the spirit of the GPL. So for this and other reasons, GPLv3 was born.
But, another important change in v3 was in regard to patents. Section 11 of GPLv3 states:
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
While the justifications for this are varied (including a deal between Microsoft and Novell and Richard Stallman’s basic dislike for software patents), what are the practical implications for developers who wish to use or contribute to a GPLv3 open source project?
If you contribute code to a GPLv3 project that is covered by your software patent, you are in turn granting anyone who uses or modifies the code a free license to use the patents that protect algorithms in the contributed code. This may seem obvious for the developer who voluntarily contributes her code however, the GPL has a “viral” attribute, more formally called “copyleft” a play on “copyright” (see Section 5 of the GPLv3). If a patent holder incorporates GPLv3 code into her software and then markets the software, she is now required to release all of her code and, by extension, the patents protecting her code under the GPLv3. Some developers may see “open source” or “free software” and assume they can use the code as they see fit without reading the actual license attached. Then, when they market their product the original copyright owner recognizes his work and brings suit. Just look at the recently settled case Jacobsen v. Katzer discussed here.
This should scare software companies. If one of their developers puts a GPLv3 logging framework into the companies flagship product, the company could face giving their patents and code to the open source community. (For non-developer types – the logging framework would most likely be a relatively small portion of the overall code base.) Companies should spend some real time and money explaining to their developers the types and limitations of the major software licenses available. The best way to go about this is by hiring a lawyer whose expertise is in these types of things to give a course to developers. (I should be available in two years ). Remember, an ounce of prevention is worth a pound of cure.
I don’t want this to be interpreted as a condemnation of the GPLv3. I actually like the GPL and furthermore, I think developers and development companies should be able to license their software however they see fit. This is just a “heads up” to developers to look at the licensing implications of using third-party products and when in doubt consult an attorney.