[After years of watching the software industry twist itself in knots trying to differentiate "open" vs. "free" and having to re-invent code simply because it had the wrong comments at the top, I think it's time to put an end to the madness. This promoted me to write the following letter to Linus Torvalds, creator of the Linux kernel. -Ed]
Like you, I'm pragmatic, not dogmatic. I believe software wants to be used and shared, but licensing issues keep getting in the way. As an industry, we're making this way too hard on ourselves. We're wasting our energies on unproductive issues and unnecessary restrictions. Something's got to give.
GPLv2, because of its ubiquity and common sense values, plays a central role in where we are today. It deserves a lot of credit, but it's not without its flaws. GPLv3 started off trying to fix some of the problems but it became highly politicised and mixed up with the software equivalent of "social engineering". Just look at the confusing distinction it makes between user and non-user products for example.
A license is no place for a political or social agenda. So I've got a radical idea I'd like you to consider:
Let's fork the GPL itself, and come out with our own revision, say, "GPL version 2.2", which would become the "real" successor to GPLv2.
Remember what happened to RSS? RSS 1.0 came out but it was considerably different from RSS 0.91. So Dave Winer developed RSS 0.92 to carry on the 0.91 tradition. Eventually, RSS 2.0 grew out of RSS 0.92, making 1.0 an evolutionary dead end. GPLv2 is like RSS 0.91, and GPLv3 is like RSS 1.0. The new license could be the equivalent of RSS 0.92. And maybe someday there would be a GPLv4 which would be based on 2.2 not 3.0.
Some of the guiding principles of "v2.2" could be:
- Unambiguously allow use of code in embedded devices (like TiVo).
- Unambiguously allow plug-ins, device drivers, and other add-ins to be covered by any license.
- Explicitly allow combinations with code in other licenses, but preserve the idea of giving back improvements.
- Grant enough patent rights to make contributions useful, while not pursuing an agenda.
- Make it short and sweet (v3 is too long and lawyerly).
- Respect the freedoms of programmers (and their code) too, not just users.
There are not many people who could pull this off; in fact you may be the only one. If you get behind it, others will follow.
So what do you think?
 Since there was already an LGPLv2.1 I thought it'd be better to skip GPLv2.1 to avoid confusion. Of course, GPLv2.0 is copyrighted by the FSF so we'd have to write a new one from scratch.