While
discussing GPLv3,
some people have suggested that even when version 3 of the GPL is
released, the Linux kernel developers will not have the option of
using it due to copyright reasons.
This is incorrect, but it is based on a real problem: The Linux kernel
has no structures in place to facilitate relicensing.
Moving to an incompatible licence requires that current code is
relicenced with permission from the copyright holders, or is removed.
FSF foresaw this problem in the 80s, and it was obvious that the
licence would have to be updated at some time, and so they implemented
two fixes. One fix was specifically for the GNU project - they
requested the contributors assign the copyright to FSF so that
relicensing (as well as enforcement) can be done by FSF.
The second is that they recommended that people using the GNU GPL
should licence their software under a specific version plus "any
later version". If people do this, their software will be
compatible with GPLv3, v4, v5, etc., so this issue will not exist.
Almost every GPL-using free software project did this. The Linux
kernel is the only large exception. With hundreds or thousands of authors, and each being a copyright
holder, it will be difficult to contact them all.
Why is GPLv2 incompatible with v3? GPL version 2 says
that any modified versions of the software must also be distributed
under GPL version 2. GPL version 3 will say that any modified
versions of software it covers, must be distributed under GPL version
3. So if someone merges some version 2 software with some version 3
software, there will be no legal way to distribute the combination. It has
always been known that
version 3 would be incompatible with version 2.
For Linux, getting into a position where they can use another licence
will take time and/or effort, but this is something they should do
anyway. If an absurd interpretation of GPLv2 is accepted by a court
in your country tomorrow, what will Linux do? And what if this absurd
interpretation is accepted in more countries? Or what if the licence
is declared invalid by a court? (that last situation is very
unlikely, but it's just an example for discussion.)
This is a reason why free software projects should maintain their
copyrights in a way that will allow them to update their licence when
the want or need arises.
To get into the position to move to a GPLv3, the Linux developers could adopt
the "or any later version" policy from now on, get
relicensing permission from as many copyright holders as possible, and
then get back to programming. Over time, the (hopefully small amount of) non-relicensed
code will be replaced by new
code (without the license problem), and eventually the entire code base will be ok to
relicense.
So I'm saying they can move to v3 if they want. Whether they actually do, also depends on whether they want to. That discussion will be more productive after GPLv3 is released (the current published texts are just discussion drafts). Right now, the important thing is for people to go to the current draft and comment on the text, to help make the best licence possible.
FWIW, here are the five comments I've made on draft 2. (Scroll down looking for pieces of text highlighted in light yellow - in sections 0, 2, 7b0, 7b2, and 11.)
UPDATE 2007-02-04: Someone who works with many lawyers on free software copyright issues later told me that it is not necessary to get permission from 100% of the copyright holders. It would suffice if there was permission from the copyright holders of 95% of the source code and no objections from the holders of the other 5%. This, I'm told, is how Mozilla was able to relicense to the GPL in 2003 despite years of community contributions.