tecosystems

How Important is the GPL?

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

To many in the Free and Open Source Software (F/OSS) world, the GNU General Public License or GPL is held up as the finest example of everything that free and open source stands for. Unlike licenses such as the BSD or even MPL, the GPL makes few if any compromises; its goal is nothing less than guaranteeing in perpetuity the freedom (not as in beer, but as in open) of the works licensed under it. This noble ambition is so important to some of its advocates that works released under more permissive, alternative open source licenses are viewed as less than “true” open source – their OSI stamps notwithstanding. In simple terms, saying the GPL is popular in the F/OSS world is understating the case significantly – it’s sacred.

Enter Eric Raymond, open source luminary and author of the seminal Cathedral and Bazaar essay on the principles behind open source, who took a fairly unambiguous position as anti-GPL in an interview with ONLamp.com last week. Here’s an excerpt:

I’ve actually been making the argument that the GPL is rationally justified only if open source is an inferior system of production since 1998. But back then, the evidence that open source is a superior system was much less clear. I believed it, having written the first analytical argument for that proposition in The Cathedral and the Bazaar in late 1996. I already knew what that implied about the superfluousness of the GPL when I wrote the paper–but until there was a lot more real-world evidence, I knew the argument would be difficult for GPL fans to hear.

In fact, it’s political considerations that kept me quiet for a while. For a long time, I judged that any harm the GPL might be doing was outweighed by the good. For some time after I stopped believing that, I didn’t see quite enough reason to fight with the GPL zealots. I’m speaking up now because a couple of curves have intersected. It has become more apparent how much of an economic advantage open source development has, and my judgment of the utility of the GPL has fallen.

Unsurprisingly, members of various F/OSS communities have reacted strongly to the assertions he makes (just see the comments to linked interview), and I expect quite a bit more fallout in the days ahead. But as much as one might like to view his comments as just so much flamebait, there is a logic here that’s difficult to dismiss, and certainly it’s difficult to argue considering ESR’s personal history that he’s ignorant on the topic.

The difficulty in evaluating a statement such as “We don’t need the GPL anymore” is the “we.” Who does it refer to? The free and open source community (which one)? Developers? End users? Corporate entities? All of the above? It’s in answering that question that I formulated my own answers.

At the risk of subjecting myself to the same flames ESR is undoubtedly receiving, let’s look at the question from an open source advocate’s viewpoint. Besides its explicit goals for protecting the freedoms of an invidual project, it’s not much of a stretch to say that the GPL was intended more broadly to ensure the ongoing survival of the open source ecosystem by providing a credible license developers could use to contribute their works in such a manner that would prevent them from being appropriated and subverted beyond the original intent. In that, I’d say: mission accomplished. Where Raymond and I agree, I think, is that in that context having GPL be the dominant license of choice is no longer required. Beneficial, perhaps, but IMO open source has reached the point of critical mass that ensures that it’s a viable – and often preferred – development model for the foreseeable future. Open source is here to stay – just, for that matter, as the GPL is – and one license, however important, will not make or break its future.

But, and this is an important but, saying that the GPL is unnecessary for the continued success of open source is a far cry from saying the license that the license itself is unnecessary – at least in my case, if not Raymond’s. Because if we look at constituencies other than open source advocates, say, an individual developer – there are unquestionably reasons that they may choose to release their code under GPL’d terms. Raymond’s experience [1] might lead him to believe that this choice is driven by something other than an affinity for the license itself, but I think it’s equally likely that developers choose the GPL because they felt confident that it would best support and protect their work indefinitely. Certainly Linus felt that way with Linux [2], and I doubt that the GPL’s overwhelming popularity in venues such as Sourceforge [3] is driven purely out of notions of solidarity, or a simplistic popularity contest. Is much – or even most – of that popularity an outgrowth of Linux? Possibly, but that does not obscure the fact that the GPL is the most stringent at protecting developers’ rights, although as Raymond points out may or may not be a good thing for developers generally.

Beyond such subjective reasoning, however, there’s a bigger issue: the tens of millions of lines of GPL’d code that’s been submitted to date. I believe Raymond’s point is not about retroactively relicensing existing works (if that’s even possible considering the copyright assignment provision of the GPL) but rather licensing for current and future projects, but even then the fact is that the majority of open source code is GPL licensed. For that reason alone, the GPL is vitally important and will continue to be.

Ultimately, while I think what Raymond has to say is not without merit – and should absolutely be considered as rationally and dispassionately as possible – I don’t believe that as a general, unqualified assertion, “We don’t need the GPL anymore” is accurate. Necessary means different things to different constituencies, and when you deconstruct some of the arguments I think two big questions are being asked:

  1. Is the GPL necessary to the continued survival of open source?
  2. Is the GPL necessary to preserve certain authors rights and priveleges?

As long as some portion of the developer population desires the sort of freedoms and protections provided by the GPL, it’s necessary. But has open source matured to the point where the “GPL as default” is not required for its continued success? I think so. As discussed previously, I don’t subscribe to the notion that the GPL should be the only path for those seeking to release their code, but I do believe it will continue to be an important – and therefore necessary – one.

[1] “I’ve used GPL on many of my own projects, but more as a gesture of solidarity with the majority in the community than because of any attachment to the GPL itself.” (link)

[2] “But the GPL is what _I_ want to program with, because unlike the BSD license it guarantees that anybody who works on the project in the future will also contribute their changes back to the community.

“And when I do programming in my free time and for my own enjoyment, I really want to have that kind of protection: knowing that when I improve a program those improvements will continue to be available to me and others in future versions of the program.” (link)

[3] As of today (7.5.05), I count a total of 64,993 projects released under OSI approved licenses, of which 44,854 (69%) are GPL licensed, compared with 4,688 (7%) for the BSD and 1,060 (2%) for the MPL 1.0/1.1.

5 comments

  1. I think Alex hits on a very strong point that shouldn't be underestimated by the businesses who adopt open source solutions. Alex said, the effect of the GPL is "better psychologically". The effect he speaks of to an organization could be interrupted as the GPL does deliver a guarantee of 'free' in perpetuity…

    Before I get beat up on, in saying 'free'. I refer instead to the freedom of choice, freedom of not being locked in, freedom of integrating the pieces that make sense for the solution we seek.

    To assume 'free' as in cost focuses on the public facade of open source and all the hype and misses what open is all about.

    Words such as community didn't happen by mistake. The GPL compels us to work together, build upon the original work, to put our best foot forward without the naive gain of simple license revenue as the end result. Even the elements of support as Stephen well knows in our case has been put to the test of the open community and the impact of a GPL with innovative new idea's that we don't own, but we give back to the community because they have value, not as a technology, but as a solution.

    In the end of it all isn't that what technology is supposed to be about, the solution to business problems when applied properly. I see GPL as tool to enable that.

    As a final point, consider the relation of the GPL and its impact to programming, to that of the ever evolving space we call object oriented development/programming (OOP). Wasn't the whole point supposed to be about re-use, building better code, building upon the pieces that were built before? Typically this model resides within an organization. When externalized the GPL promotes and defends the same philosophy that OOP was supposed to deliver when it was inside the organization, but as a global community we share for mutual benefit, not personal gain.

    Thanks for listening. . .

  2. Certainly the GPL as a more restrictive license delivers less value to the end user, however I don’t buy that it’s not useful any more and I certainly disagree that it will go away.

    GPL is however better psychologically, because we as human beings feel unhappy if we think somehow other people are profitting from our hard work.

    Also GPL is a very good license from a market domination point of view. GPL is a ‘black hole’ license that locks you in to using it. Oddly it’s similar to Windows APIs and Office doc formats, in that the more people who use them, the more advantage there is to using them.

    If I start a project and want to have the most choice in components I can reuse, I have to go with GPL, since BSD is compatible with GPL, but not the other way around.

  3. Stephen: You just posted my exact fellings about GPS and other OSI licences. I totally agree.
    concerning Alex's first sentence,If I understood correctlly, Syephen doesn't say GPL is not usefull anymore. On the contrary, one of the GPL goals doesn't make much more sence today BUT, it's only ONE of several goals GPL has. GPL is relevant, important and can't be dismissed but, the approach "If you're not with me you're against me" is no longer valid (IMHO)

  4. Alex: excellent points – i should have included commentary on the self-reinforcing nature of the GPL (which, as an aside, is one reason i discussions of whose licenses is incompatible with whose pointless – they just are) but fortunately you've done that for me.

    not sure i'd go as far to say that it's better psychologically, however, because there are ample examples of more permissively licensed code with lots of contributions behind (e.g. Apache). plus most folks in the software world are *used* to others profiting from their work – it's the nature of the business. open source changes that paradigm, of course, but how much?

    good points nonetheless, however.

    Nigel: i think you highlight two important components to the GPL's popularity; it's ability to compel community behavior, and the guarantee of openness. again, i don't think the GPL is the only means to such ends, but definitely an important one.

    Jaime: exactly. of the GPL's many aims, i'd argue that one is no longer as relevant as it was. but still important? absolutely.

    Fraxas: you're right, i didn't answer that, but to address the point, no, i don't buy that. why not? well, i could point to Linux as an example that the GPL in no way, shape or form prohibits contributions and usage – though it undoubtedly makes them more complicated.

    but really i think it's for the same reasons i don't worry to much about license proliferation: the ability to route around it. now i don't mean that in the sense that you route around the license already applied, but rather that if the GPL proves to be a deterrent to certain forms of participation, there are other options readily available. to me its about choice, and as long as the ability not to credibly choose the GPL exists, i can't see the GPL being a drag of any kind (not to mention that there's little evidence of that in the state of the community today). philosophically, i understand the point, but in my experience developers and enterprises alike don't spend the time delving into the philosophy of the GPL's significance to the extent that some of us in the community do; they just want to know what they can and can't do, and move on. the GPL's one way, BSD's another, MPL/CDDL's yet another, and so on. choose what works best for your needs, understanding the implications of the licensing choices available to you.

  5. Good analysis, sog. That said, I think there’s one important aspect of ESR’s position you didn’t comment on, and I’m interested to hear what you think: ESR’s assertion that continued use of the GPL undermines the F/OSS community through the meta-assertion that open-source is an inferior method of software production that needs stringent protection.

    To my mind, it’s analogous to the situation with command and free-market economies: a command economy says “you must allocate resources in THIS way, because that is what’s best”, whereas a free-market economy relies on the self-interest and fundamental rationality of its participants to develop that same ‘best’ allocation of resources. GPL requires contribution; it doesn’t trust its developers to do so out of self-interest. Fundamentally, that’s destructive; immediate contribution isn’t always best, short-term monopolies *are* beneficial for innovation, and being required to contribute back code that they might be ashamed of scares off developers. (At least, I know it scares me off.)

    What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *