A couple of weeks ago there was a major showdown in the free and open source world over GPL3. At one end of the dusty street: Linux kernel developers, led by Linus Torvalds. At the other end of the dusty street: the Free Software Foundation, led by Richard Stallman.
The two gangs faced each other, staring at one another with narrowed eyes, hands hovering above their text editors. “There’s a new license in town, ” sneered Stallman. “and it’s going to clean things up, so that everyone can be free.” “We’ve lived just fine with GPL2, and we’re going to keep it that way,” snapped Torvalds in reply.
The townspeople nervously watched, breath indrawn, waiting to see what would happen next…
Actually, what happened wasn’t quite so dramatic, although it did provide both serious discussion and some laughs as well. A group of Linux kernel developers published a short paper outlining their concerns regarding GPL3 as it stands today.
A long train of comments, rejoinders, remarks followed in the kernel mailing list (the link above is actually the first posting in that train of remarks). The FSF then issued a “clarification” about one of the issues raised in the paper relating to patents. I have a personal rule: when an organization starts issuing “clarifications,” it’s obfuscating and I start looking for what they’re covering up. Witness the multiple “clarifications” emanating from HP about “Directorgate.”
At the end of the week, a couple of things were clear: first, a number of very influential individuals — Linux kernel developers — aren’t happy with GPL3 as it stands; and second, the FSF isn’t really concerned with anyone’s happiness relating to the license — their motivation is spreading freedom as they define it, and if people don’t like it, tough. (You can see my earlier thoughts about Stallman’s motivation regarding GPL3 here).
The issues raised in the paper are pretty much the same ones that have been present since the release of the first draft of the license in January of this year: DRM, patents, and the conditions in the license compatibility section of the license. Much of the discussion in the comment thread related to DRM, with participants pretty much acknowledging they didn’t really like DRM as it’s being used to restrict access to media content, but with many saying that they didn’t feel the right place to fight that fight was by imposing licensing conditions. This DRM condition is often referred to as the “Tivoization” clause, as Tivo’s handling of Linux seems to really stick in Richard Stallman’s craw.
Here are the key things you should understand about what this paper represents and, more importantly, what the import of GPL3 is:
First, the fact that a number of kernel developers organized themselves enough to generate this paper should indicate the depth of concern about GPL3. While developers by no means fall into the stereotype of solely being interested in technical issues, it’s astonishing that this group felt strongly enough to jointly create and publish this document. Organizing a group to do something like this takes a lot of work and it clearly reflects a deep unease with GPL3.
Second, there was quite a bit of discussion that the Linux kernel will remain under GPL2. Torvalds gets to make that decision, and he’s made it very clear that GPL2 is his preference. As many people have pointed out, Linux as commonly thought of contains far more than the kernel, since distros usually have utilities and many, many other applications shipped in them. The question is, what license will those other things be distributed under (although it’s obvious that there are many other pieces of a distro, I’ve never seen anyone actually list them, so it’s not clear just how much code we’re talking about, but it’s certainly significant). However, there was some discussion that the conditions of GPL3 might cause the forking of some of those other parts of the distro into GPL2 versions and GPL3 versions, with a concomitant requirement for significantly more engineering effort (if you’ve ever tried to keep two code lines consistent as to features and bugfixes, you instinctively know how much work this would cause). This forking would be caused by users being unwilling to live with GPL3 conditions for the products and moving toward maintaing GPL2-based versions.
Third, referring to the DRM conditions of GPL3 as relating to “Tivoization” is to trivialize the issue at hand. It’s easy to sympathise with someone wanting to tweak their Tivo to do something beyond what Tivo (the company) delivers. After all, why shouldn’t they be able to do something with content they’ve bought? However, the fundamental issue is the ability for a hardware manufacturer to block users from manipulating the software inside the machine. While it’s easy to maintain that Tivo shouldn’t be able to do that, other scenarios illustrate more serious implications of this ability. For example, should a medical device company be able to preclude end users from modifying how the device works? From my viewpoint, I don’t want to wonder whether a radiation-emitting machine pointed at a tumor in my head has been “improved” by the radiation tech running it. While that’s an extreme example, it illustrates what precluding DRM could cause. In any case, no manufacturer subject to liability laws would ever deliver software-embedding products that were licensed under conditions by which they could not guarantee the operation of the device. I’ve spoken to many pro-GPL3 people about this, and they’ve assured me that no user organization would ever allow this kind of tweaking to occur — they’d impose conditions precluding anyone from modifying the product. That doesn’t matter; no manufacturer would live with this situation, and I wouldn’t accept it either. Characterizing this issue as “Tivoization” is a willful attempt to trivialize this critical topic.
Fourth, practical concerns like these concern the FSF not at all. Their focus is on enforcing freedom as they define it, and they reject any reservation about the impact of GPL3 as irrelevant. Consequently, waiting for the FSF to “come around” on GPL3 and its conditions is pointless. Stallman and his colleagues know exactly what they want and are determined to bring it to fruition.
Fifth, speaking of comments and how the FSF responds to them, the thread of discussion engendered by the publication of the document also contained some sharpish language by Torvalds about the comment process surrounding GPL3. He pointed out that it seems to be designed to enable the FSF to maintain it has entertained feedback on the license, while allowing them to ultimately ignore it and publish the license as they see fit. In fact, the comment process has been scandalously opaque. It’s impossible for anyone to see all the comments that have been submitted, the various committees organized by the FSF to represent important end user constituencies have not communicated with one another, and it’s impossible (as far as I can tell) to actually find out who is on these committees (no rosters have ever been published, although Committee D has chosen to make its membership known and offer access to their discussions on IRC; however, the point is they’ve had to do this and chosen to do so, but the body that organized the comment process, the FSF, made no effort to share information about the committees). Any standards body that operated in this manner would quite rightly be jeered into oblivion. How does the FSF get a pass on this?
Sixth, one can expect the final version of GPL3 to resemble the two drafts that have been published to date, albeit with more clarity about the conditions. There is a strong likelihood that most organizations, once the license has been published and its implications recognized, will set a policy precluding the use of GPL3-licensed products in their software infrastructures. While the reactions of end users doesn’t bother the FSF at all, it will cause quite a bit of confusion in terms of open source usage. It is quite likely that there will be code forks of important products to ensure they continue to be available under GPL2; this is regrettable and will certainly cause more work that otherwise could be directed toward more positive outcomes. However, I believe that open source adoption has advanced to the point that this will not derail the open source movement; most organizations will set their policy and continue working with GPL2 (and other licensed) open source software. The publication of GPL3 will cause more organizations to more carefully monitor their use of open source and motivate most to implement open source usage policies.
Finally, this week’s events reflect a coming of age of open source software. Just as all revolutions begin with a flush of wide-eyed enthusiasm accompanied by belief in pure comradeship and then begin to grapple with the practicalities of quotidian existence, the split between open source pragmatists and free software idealists indicate that open source is, if not moving into adulthood, at least moving beyond gawky adolescence.