Recently a very tangled mess, involving patents, copyright, open source and five different court cases threatened to significantly weaken the GPL, or Gnu General Public License.
The GPL is considered to be a strong copyleft open source license, in that software which incorporates code provided under this license needs to be made freely available to all users.
This would seem to be very clear: if you use GPL code in your own code, then your own code also becomes subject to the GPL.
Open Source Licensing Flaw? But as these court cases show, the most commonly used version of the GPL, GPLv2, has one important flaw ? it does not specifically and clearly provide a patent license.
GPL version 3 does provide such an explicit patent license, but is currently being used far less frequently than version 2.
As a quick survey, I checked a number of different open source SQL platforms, none of which uses GPLv3. MySQL is available under either a commercial or GPLv2 license. SQLite and PostgreSQL have licenses that don't require modifications to be made available under the same conditions, unlike the GPL licenses.
So, why does this matter? Because the GPL is a license, a legally binding agreement which determines when, how and under what conditions software may be used.
The intent of all versions of the GPL is to use the law to be certain that code can't be hijacked and used in a way that the code author didn't intend ? for example, by being incorporated into a proprietary product that requires payment before use.
However, like any license, the GPL is ultimately interpreted according to the actual words used, not the intent behind those words.
The entire mess started with a dispute between Versata and Ameriprise over software that was licensed from Versata but then modified by a third party contractor to Ameriprise.
(If you want a complete summary of all of the court cases, check out Aaron Williamson's article for OpenSource.com in July 2014 and Mark Radcliffe's article in December 2014).
The patent angle became important when Ameriprise defended itself by accusing Versata of incorporating open source software from Ximpleware that was licensed under GPLv2, but without following the terms of the license ? and that by doing so, Versata now needed to make all of its software available under GPLv2.
Ximpleware was informed of this breach and promptly sued Versata, Ameriprise and a number of other companies that received software (and licenses) from Versata for patent infringement.
Currently the cases are still making their way through the court system, but the initial court decisions maintain the accusations of patent infringement against those creating or modifying software, like Versata, but not those who merely use the software, like customers of Versata.
The final outcome of these court cases may not be known for some time; not only have the initial cases not yet been decided, but these cases are currently being argued at a lower court level.
With the possibility of appeals to a higher court, the final decisions could take many months if not years to resolve.
If you are relying upon the GPLv2 open source license for software that you are using, then the recent court decisions regarding patent infringement have been in your favor!
It is important to note that these decisions indicate that the GPLv2 protects you even if the company (or other entity) from which you obtained the software violated this license ? as long as you follow the license terms.
However, these decisions are not final and may be affected by appeals to a higher court.
On the other hand, if you want to create, modify and distribute software, then the recent court decisions do not indicate that you are protected. You could still be potentially liable for patent infringement.
Lack of knowledge about a patent isn't a defense for patent infringement (although such lack of knowledge can help you to avoid triple damages). GPLv2 may not help you in this case.
Ximpleware obtained patents to protect its products, yet still released code under GPLv2. It did so in order to better control how its code was being used and, in fact, it made two versions of its code: one under a regular commercial license and one under GPLv2.
While it's easy to attack Ximpleware as the bad guy in this case, actually all Ximpleware wanted was for its code to be used in a way compatible with its desires. Ximpleware isn't a patent troll but rather a company that wants to participate in the open source community.
Ximpleware attacked Versata for patent infringement as Versata used Ximpleware's open source, GPLv2 licensed code in a way that was incompatible with that license; in other words, Ximpleware attacked Versata for theft, using patents as a tool.
In fact, patents can actually be used to block such unauthorized use of code more effectively than copyright.
Patents can be used as an offense, to prevent others from using your code in a way that you don't approve, as in the case of Ximpleware or as a defense, to provide you with bargaining chips in case you are accused of patent infringement.