Like everyone else, I received my copy of the first discussion draft of GPL v3 some hours ago. Jesus, I must say. It is too early to go into the details but just look at these numbers:
GPLv2 has 2965 words and is generally considered to include ambiguous language. GPLv3 (this draft) has 4569 words meaning over 50% increase in length. To compare, Microsoft Community License has just 561 words and that license is in my humble opinion the clearest copyleft license ever.
While the draft tries to clear old ambiguities, it also succeeds in introducing new unclear concepts and language (in the middle of few odd typos). For example, “propagate” seems to replace “use” but a quick reading makes me feel like it means something more. Further, the old license used rather consistently term “Program” but this one adds “covered work” in the mix. Then there is a new concept called “subunit” – in addition to the old “components” and “parts”. Why must they use so many terms? And – unfortunately reminding me of the Artistic license – in the section titled “compatibility” the draft gives 5 new additional options anyone can add for a “compatible” license distributed within a GPL package… (clear? – not. legal risks? – yes)
I didn’t go into the basic language yet, which seems to favor the use of exceptions and negations…. take this passage as an example: “DRM is fundamentally incompatible with the purpose of the GPL, which is to protect users’ freedom; therefore, the GPL ensures that the software it covers will neither be subject to, nor subject other works to, digital restrictions from which escape is forbidden.” – The beginning of that sentence looks understandable but what the hell are they meaning with the rest. What is DRM that allows “escape” to begin with (since that seems to be ok)?
In short, the draft looks like a GPLv2 mixed with GPL-FAQ. It tries to give something to everyone without being clear, short and consistent. It’s not the good old statement written by Stallman. This one is a messy open source hack in need of serious revisions – starting from the language.