At some point, I plan to make some comments on draft 2 of the GPLv3 free software licence, which came out a couple of weeks ago (high level summary: much better). However, there’s one thought I want to throw out there now.
The GPL v2, as commonly used, has an upgrade clause – that is, the boilerplate allows you to use the code under “either version 2 of the License, or (at your option) any later version”. The GPLv3 section 11 has a covenant not to sue with regard to patents, which was not in GPL v2:
You receive the Program with a covenant from each author and conveyor of the Program, and of any material, conveyed under this License, on which the Program is based, that the covenanting party will not assert (or cause others to assert) any of the party’s essential patent claims in the material that the party conveyed, against you, arising from your exercise of rights under this License.
Here’s the scenario. Company X contributes code to a GPLed project under “v2 or later”. They have a patent on something that code does, but don’t tell anyone and aren’t enforcing it. The project maintainer subsequently upgrades the licence on the development version to v3. Does Joe User, who takes a copy of the code under GPL v3, have protection from being sued by Company X for patent infringement? After all, the licence under which Joe received the code states that he received it with a covenant from each author, which includes Company X, that they won’t.
One could argue that yes, by licensing the code under GPL v2 or later, Company X has implicitly given away any rights that future versions of the GPL state that they have given up. One could also argue that no, they didn’t give away that right and they can’t be forced to do so now.
I wonder if this is a scenario which the FSF has considered?