A look inside the debate over the new GPL, including comments from Linus Torvalds, Richard Stallman and Peter Brown.
Since the third version of the GNU General Public License (GPLv3) was released last month, the reactions have been quick and furious. According to some, the adoption of GPLv3 is urgently needed to prevent threats to the continued existence of free and open source software (FOSS). According to others, the license will destroy the FOSS community, and reduce the Free Software Foundation (FSF), which produced the license, to an obsolete remnant without any power.
Which position is closest to the truth? To the outsider -- say, an executive trying to understand FOSS -- the answer can be hard to find. Supporters of both positions sound equally sure of themselves, and outsiders lack the background knowledge to evaluate exactly what is happening.
As is often the case, the answer seems to lie between the two extremes. GPLv3 is needed for the concept of free software to continue being effective, and, if its reception is unlikely to destroy the Free Software Foundation, its adaption rate will reflect and shape the changing role of the organization in years to come.
However, to arrive at this answer, you need to understand the reasons for the confusion surrounding GPLv3, as well as the old animosities and philosophical differences that add to it -- many of which are not only half-expressed or simply assumed in the discussions surrounding the license and its adoption.
Signal to Noise
The most basic reason for misunderstanding GPLv3 is the process that has produced it. The FSF, appreciating that a change in the license used by over three-quarters of all FOSS projects would have a major effect, threw the process open to unprecedented consultation. This included not only more than 50 people representing FOSS and corporate stakeholders on its main committees, but public meetings and a wiki. Any time you have thousands of people involved in a project, rumors are going to fly -- some accidental, some perhaps started deliberately for political reasons. Add a time period of 18 months and 4 drafts, some of which included major changes, and conflicting opinions and misunderstandings are inevitable.
Nor was this situation helped by the FSF's decision not to defend itself during the process. For instance, when Linus Torvalds launched a series of outspoken attacks in the media in the late summer of 2006, the only response was a blog entry from Eben Moglen, the chief drafter of the bill, inviting him to get involved in the consultation process, and ignoring the issues raised by Torvalds. Peter Brown, executive director of the FSF, explains that such responses were a deliberate policy, intended to ensure that discussion was not stifled by official responses. The policy achieved its aim, but at the cost of leaving rumors and misunderstandings uncorrected.
Another source of misunderstanding was the fact that the GPLv3 debate was many journalists' and executives' first exposure to the often anarchic world of FOSS development. Taking place on email and IRC, discussion in FOSS projects tends to be off-the-cuff and impassioned, with a heightened rhetoric that outsiders take far more seriously than participants.
In an email to me last month, Linus Torvalds, who has been portrayed in the media as GPLv3's main opponent, describes the language that he and other use on the Linux kernel mailing list as "blunt, to the point, and not very polite." When journalists quote pieces of it, he notes, often "the context of that language is then lost entirely" -- and he adds that "it's not just the text of the thread itself that is the context; the context is also how technical people discussing things amongst each other is in itself a very different context than a trade magazine article."
In other words, what may seem, by itself, to be an expression of undying hate and eternally-held beliefs is actually only the rhetoric of the moment, and is not necessarily borne out by later actions. Torvalds, for instance, may have strongly expressed reactions about GPLv3, but, aside from his willingness to speak to the media, those reactions did not lead to Torvalds mounting a campaign against GPLv3, or even to suggest that others not use it. In the end, Torvalds made perfectly clear that his decision to use GPLv2 was an entirely personal matter. GPLv3, he said, was "a viable alternative" -- simply not the one he preferred.
Torvalds also points out that the outspokenness common to FOSS projects is also very tempting for journalists who approach the issue with their minds already made up. As he points out, "it's easier and more common for a journalist to have a strong opinion [about GPLv3] than it would perhaps be in most other areas when it comes to Linux (Example: name your strong opinion on the new timer infrastructure). So, in that sense, I think things perhaps get a bit more skewed."
Torvalds does not say so himself, but, in his own case, he has often been used as a counter-figure to Richard M. Stallman, the FSF's founder and president. Superficially, Torvalds is a more outgoing and photogenic figure than the openly eccentric Stallman. More importantly, for all his innovation and leadership, Torvalds has the appearance of a Chief Technical Officer, a type that the mainstream computer media or business executives understand better than a maverick philosopher like Stallman. So, in seeking to discredit or question Stallman and ideas associated with him, business-oriented media tends to elevate Torvalds as an opposing figure and exaggerate differences between them. For instance, in a recent article, Torvald's implicit comparison of the FSF to authoritarian regimes was headlined rather than a comment in the same interview expressing his indifference to whether GPLv3 was used.
Even more basically, many journalists prefer to report on a conflict than an agreement. If a conflict does not exist, they are happy to invent one -- and the language of FOSS makes doing so extremely easy. Yet while the resulting articles may be more exciting than they would be if a different slant was taken, they do little to educate people who are trying to understand the actual issues.
Personalities and the Old Debates
What makes the distortions caused by the process and the media even harder to understand is the fact that GPLv3 has brought out not only manufactured but also genuine animosities in the FOSS communities in particular the differences between free software and open source supporters. However, unlike the manufactured animosities, these differences are rarely articulated, instead, they operate behind the scenes more often than not.
Nine-tenths of the time, the two camps work together with little animosity. They use the same licenses and communal forms of organization, and often work together. Moreover, the two terms represent the two poles on a continuum that contains a variety of opinions, so whether a particular person is a free software or open source advocate is not always easy to determine. No wonder, then, that, to outsiders, the two positions appear virtually identical.
However, to members of the FOSS communities, the differences between the positions are profound. To free software supporters, sharing computer source code is not an end in itself. Rather, it is a means to extend the idea of freedom of expression, by allowing all users to participate in computing. By contrast, open source in its purest form advocates sharing source code out of the belief that doing so increases the quality of code and makes the idea of sharing more appealing to business.
The split between the two movements in the late 1990s was accompanied by considerable animosity, and, while the old feuds have largely died down, they still occasionally flare. In retrospect, it seems unsurprising that something as fundamental as revising the license most widely used by both camps should have revived the old disagreements.
For free software supporters, GPLv3, with its restrictions on third party distribution deals and TiVoization (the use of hardware to prevent the running of modified source code) are simply an extension of the logic of earlier versions of the license. Instead of being innovations, such provisions are simply efforts to block new ways that have been devised to get around the spirit of the license. As Stallman said to me, in explaining the motives behind GPLv3 last spring, "Any time we find some new threat to a user's freedom, we will try to block it and defend the users' freedom."
By contrast, open source supporters are less likely to be interested in how code is used so long as it is shared. That is why a group of kernel developers in the summer of 2006 published an open letter in which they expressed the opinion that the existing GPL2 needed no modification -- for their purposes, the license was working. This viewpoint was famously expressed by Torvalds in a March 2006 interview with Forbes
when he said, "The GPLv2 in no way limits your use of the software. If you're a mad scientist, you can use GPLv2'd software for your evil plans to take over the world ('Sharks with lasers on their heads!!'), and the GPLv2 just says that you have to give source code back. And that's OK by me."
This difference in orientation goes back nearly a decade. Not unnaturally, then, when the difference becomes emphasized the way it was during the GPLv3 consultation process, tempers are going to momentarily flare.
This history was evident when, in an interview with me last spring, Peter Brown tried to diminish Torvalds' role, commenting that "Linus doesn't care about proprietary software. He's a developer. He wants to develop good code. But don't portray him as the leader of a movement that wants people to have control of their computers. He doesn't belief in that stuff. He's distanced himself from it. People have crowned him the leader of a movement, when he's not. He's the leader of a software project." In effect, Brown was calling Torvalds an open source supporter, and, to a free software supporter, no epithet can be more damning.
Torvalds answers in kind when he said, in an email to me, "I'm not a big fan of the FSF, because I think they've always alienated a lot of interesting and worthwhile people with their morality spiel. Quite frankly, I detest people who come to my door and try to sell me their morals and religion. I think they are the lowest of the low. Get the fuck out of my face -- your morality is your morality and keep it to yourself. It has nothing to do with me."
Such comments on both sides do nothing to fan the flames of moderation. Yet what the media often fails to reflect is that they are only half the story. No one could oppose open source ideals more than the FSF, yet, during the consultation process, the foundation was careful to involve open source supporters, including those in business -- despite its alleged anti-corporate position.
And in talking about the differences between the two camps last spring, Stallman was careful to emphasize that they were both part of the same community. "When people are free to choose their own views, they're not all going to agree," he told me. "It's normal in a community that you have people with different views and values." Similarly, Brown has said to me that, "It's good that the FSF hasn't tried to rule the free software world by controlling everything. It would be unhealthy."
In the same way, asked by me in an email whether user freedom or software quality was more important, Torvalds (after dismissing the question as "stupid" and "moronic") replied with his own question: "In science, is it more important to empower humans or share information?"
Then Torvalds answered his own question by adding, "The question makes no sense. Science clearly does empower humans. The same is true of open source. It's not about sharing information per se: that's just a small part of it -- it's a part of the tools to create better software. What matters most is that people are interested, and have their own agenda, and, in doing so, and trying to improve their own situation, they often accidentally end up improving somebody else's life, too."
The old animosities and debates are impassioned, but, in the end, the free software and open source supporters are less different than they appear. When it comes to GPLv3, focusing on those differences simply becomes another barrier to the understanding, and is unlikely to produce any useful insights.
A Matter of Philosophy
So are all the disagreements over GPLv3 simply a matter of distractions? Not at all. Instead, I suggest that they come down to even more basic differences in philosophy -- not about free software and open source, but about protecting freedoms and different views of humanity.
For the FSF, the freedom of expression that sharing source code makes possible must be safeguarded by preventing what its members see an effort to undermine or even overthrow it. This is the approach of Jean-Paul Sartre in Anti-Semite and Jew when he maintains that the one freedom that cannot be supported is the freedom to use your freedom to destroy that of others. It is the same view that puts limits on free speech by outlawing incitements to hatred, or falsely crying "Fire" in a crowded theater.
Against this position, Torvalds argued that freedom of choice must be absolute, and that those who attempt to limit it -- even a well-intentioned one like the FSF's -- are "stupid, distasteful, and intellectually dishonest," in that they act immorally while claiming to act morally. What matters to Torvalds is not whether someone uses source code then prevents others from modifying and running it themselves, but that they share their work. To Torvalds, by moving against TiVoization, the FSF is trying "to hobble science by saying that they won't share information with people they dislike" -- a position he dismisses as one held that could only be held by "an obvious crackpot and idiot."
From another perspective, the FSF is acting on the assumption that a change in the license can cause people to behave differently. However, on the kernel mailing-list, Torvalds argues that "Only religious fanatics and totalitarian states equate morality with legality," and that the FSF is "putting the cart before the horse." Instead, Torvalds wrote in an email to me that if everyone is allowed to focus on their self-interest without restrictions, then others will benefit as well, particularly in areas such as science and FOSS.
Which of these views is more accurate is, of course, a matter of opinion rather than proof. But what matters here is that they are not a difference in goals so much as a difference in means. What most outsiders interpret as rabid hatred is often the outspokeness of people dealing with the core issues of their life's work. Real animosities exist, yet they rarely seem to get in the way of co-operation or shared interests.
It also means that, if you want to find how GPLv3 may affect your business, the last place you should go is the average media source, or even a mailing list that an article draws upon. Unless you have regular exposure to the sort of language that is used in discussions about GPLv3 among those to whom it matters the most, you will almost certainly over-estimate the level of animosity. Instead, read the license yourself, and contact either the FSF's compliance lab or the Software Freedom Law Center with questions. And if the license seems to require some absurdity like opening all your patents to the public, as some have claimed, do a reality check by remembering that corporations like IBM and Sun Microsystems had a voice in the wording, and ask yourself whether such corporations would actually agree to such terms.
For better or worse, the FSF has released GPLv3, and projects are slowly converting to it -- to date, 260, according to Palamida's information site about GPLv3 adoption. This is a relatively small number compared to the tens of thousands of FOSS projects, but the license is new, and the number is only going to grow. And it seems likely that, at some point, even holdouts like Torvalds and the Linux kernel developers are going to have to confront the new license version, if only in the form of dual licensing. At this point, we're all overdue to stop listening to the noise and start listening to the message itself.