September 26, 2006

Why Torvalds is sitting out the GPLv3 process

Author: Bruce Byfield

Why isn't Linus Torvalds involved with the drafting of the third version of the GNU General Public License (GPL)? Torvalds has frequently criticized the process and the drafts of the GPLv3, and recently voted against the license in an informal poll of kernel developers, so it seems obvious to question why he chose to sit out the process. Torvalds gives his reasons as a dislike of committees, an inability to contribute in his preferred way, and philosophical differences with the Free Software Foundation (FSF), which he suggests is trying to absorb other licenses under the GPL.

At the same time, he suggests that his opposition may have been distorted or exaggerated. "GPLv3 is not 'evil,'" he says. "It just doesn't stand up to the great licenses out there, like the GPLv2."

According to Jim Garrison, public relations coordinator of the Software Freedom Law Center (SFLC), whose members are involved in drafting the GPLv3, "Linus was personally assured from the outset of the process that his participation was actively sought."

Torvalds replies that he was invited only in the sense that "everybody was invited to participate. In that sense, yes, I certainly could have, too." However, apparently unaware that the GPLv3 committees do most of their work by email or IRC, he goes on to say that, "It's absolutely true that I could have been part of some committee. I could probably even have gotten somebody to pay for flights to Chicago or some other nasty place to go to meetings at. I didn't feel it was worth it."

Instead, Torvalds put forward an offer to read and comment on the first draft before it was published in January. "That was denied," Torvalds says. "Eben [Moglen] said he was willing to go over the draft point-for-point after it was published, but not apparently willing to let me read it in the comfort of my own home and send comments back. So, the GPLv3 process couldn't apparently accommodate me, or I couldn't accommodate them."

In the end, Torvalds says, "I'm not actually at all surprised that neither party really tried. The FSF had objectives for the GPLv3 that they knew I didn't stand for. It's not like my opinion would have ever been a surprise to either Eben [Moglen] or RMS [Richard M. Stallman], and it's not like this rift is new or brought on by the GPLv3."

Committees, general and specific

At any rate, Torvalds says that he would probably decline to participate because of his dislike of committees. "I don't think committees ever make any sense at all, and I hate meetings. I have a belief that committees tend to get formed when you want to avoid responsibility, and particularly when you know what you want to get and you want to be able to say it was 'consensus.' I work over email, and I do so for a reason."

Moreover, Torvalds suggests that the GPLv3 committees "were actually set up to be more insidious than they sometimes are." He suggests that the committees are largely window dressing, organized so that "The FSF could claim it was all done in the open. The process wasn't open at all. The committees were not allowed to talk about the drafts before they were released, and none of the notes or discussions were ever released afterwards. If you want to have an open process, you put the cards on the table, and you allow open and free discussion in public.

"I know for a fact that a number of people [on the committees] were very unhappy, and wished they could withdraw from the whole thing," Torvalds continues, "but they always thought they had a better chance of affecting the end result by being part of it rather than just standing back. I had one kernel developer (who shall remain nameless) forward me a query from his legal representative asking what I thought they could do about the situation. So now, I suspect a number of people are unhappy, but they can't do anything about it."

The one thing that impresses Torvalds about the GPLv3 committees is "how they orchestrated the thing."

"The FSF people you talked to," he asks rhetorically, "Did they also end up stressing how the committees were from all areas of industry, and how it all worked really well to get wide input? Good PR. Now they just wish nobody would speak out against the result."

Open source vs. free software

Beyond Torvalds' dislike of committees, and mistrust of the FSF, lies his own preference for the open source philosophy over the free software philosophy. As experienced readers may know, the two philosophies are closely allied, but differ in their reasons for using non-proprietary software; basically, free software supporters believe it should be a right like freedom of speech, while open source advocates believe it produces superior code. As a vocal opponent of the FSF, Torvalds leaves no doubt that he considers himself a member of the open source community.

The current version of the GPL (GPLv2), Torvalds says, is "something where the open source people can meet with the free software people in perfect harmony. People from all over, regardless of their background, belief systems, or whether they are rabid about it or not, can happily agree about the GPLv2, and that's one of the reasons it's been so successful."

By contrast, Torvalds says, "I think the GPLv3 is expressly designed to not allow that meeting. Exactly because the FSF considers us open source people 'heretics.'"

In fact, Torvalds worries that one of the goals of GPL3 is to absorb part of the open source communities. For example, he notes that "one of the stated goals of the FSF with the GPLv3 was to expressly design the new license to be compatible with the Apache license. That sounds like a great thing, doesn't it? It sounds nice. 'Compatible' is such a nice word. Let's just all sing songs about it around the camp-fire.

"But if you actually look behind all the nice words, it's just a polite way of saying, 'We want to hijack the code of those projects that use the Apache license, too, and turn that code into GPLv3. Because the definition of 'compatible with the GPLv3' is strictly one-way compatibility. You can convert Apache-licensed projects into the GPLv3, but not the other way. Doesn't sound quite as much as a "Kumbaya" moment any more when you put it that way, now, does it?"

Speaking for himself and the Linux kernel, Torvalds says, "I don't need to try to hijack somebody else's project. I did my own. It stays GPLv2."

A GPLv2 supporter, not a GPLv3 basher

These are strong words, and typical of Torvalds. However, after some reflection, he adds, "It's not so much about why the GPLv3 is bad, but what makes the GPLv2 so great. The GPLv2 is just a very good license. Not perhaps always in its wording, but in its fundamental simplicity and just basic fairness. So I probably should have started out that way. I'd rather be known as a very vocal supporter of the GPLv2 than as a rabid basher of the GPLv3."

If other people prefer GPLv3, Torvalds says that, on second thought, he urges them "go ahead and use it. It's not like it kills and eats small children for breakfast, and must never be allowed." After all, as he points out, there are many open source licenses to choose from. "The GPLv3 license doesn't stand out from any of them, except perhaps in the pettiness of its requirements."

For Torvalds, the controversy over the different versions of the GPL is ultimately very simple: If "I can just go back to 1992, when I relicensed Linux under the GPLv2, and ask myself: If I had the choice of licenses back then that I have today (including the GPL3 draft), which one would I have chosen? And the answer simply isn't the GPLv3. It might have been the Open Software License, though. But, most likely, it would still be the GPLv2."

Bruce Byfield is a course designer and instructor, and a computer journalist who writes regularly for NewsForge, Linux.com, and IT Manager's Journal.

Click Here!