Industry


Ads by TechWords

See your link here


Has the GPL out-lived its usefulness?

There have always been two schools of intellectual property thought in free software/open-source circles, and boy have they had their flame wars over the years. Things have been calm lately, but recently, Eric S. Raymond, co-founder of the OSI (Open Source Initiative), has thrown a match on the gasoline again in an essay entitled, The Economic Case Against the GPL.

Raymond argues that open source is a more "efficient system of software production." Raymond is using the term "efficiency' here in the precise sense economists use it. Of two systems of production, the more efficient is the one which produces more units of output for a given input of factors of production." As Black Duck Software recently revealed in its study that showed that open-source software is worth hundreds of billions of dollars, the facts are on Raymond's side.

But, Raymond doesn't stop there. He believes that the GPL causes FUD (fear, uncertainty, and doubt) and that, in turn, this "slows down open-source adoption."

Really? The GPL is the most important of the open-source licenses. Linux is under the GPLv2 and Matt Asay, well-known open-source blogger and VP of business development for Alfresco, an open-source CMS (content management system) company, states that "the GPL powers as much as 77% of all SourceForge projects."

What Raymond and Asay end up arguing is that there are better, more 'efficient' licenses than the GPL and that it's high-time we start using them. Asay singles out the Apache license as being better than GPL for business purposes. Apache gives users more rights to use the covered software in any way they see fit. So, for example, if you write a program under Apache you don't have to give the end-users the source code nor do you have to send any changes you make to the code to the upstream developer.

Of course, Richard M. Stallman, creator of the GPL (GNU General Public License), sees this issue in a different light. To Stallman, free sofrware isn't about efficieny, it's about freedom.

In a recent interview, Stallman said, free software "means you have the four essential freedoms: (1) to run the program as you wish, (2) to study the source code, and change it to make the program do what you wish, (3) to redistribute exact copies, and (4) to distribute copies of your modified versions. With these four freedoms, the users control the software, both individually and collectively, so it is free software. Otherwise, the program is proprietary software, which means it operates as an instrument to give the developer power over the users. "Apache, from where Stallman sits, is compatible with GPLv3, but not GPLv2.

So what does all this mean for you? In 2009, I'm not sure it means much of anything. I don't see much GPL FUD anymore. Oh, people still get endlessly confused about what you can and can't do under GPL in casual conversation, but if you're in business you can get expert, informed legal advice these days without having to search high and low for it. Companies like Black Duck and Palamida are more than ready to help you figure out how to fit part A under the GPL and part B, under Apache or the MPL (Mozilla Public License), into your own program.

I think the GPL's track record speaks for itself. The other open-source licenses have their place, but while some developers may chafe under some GPL restrictions, GPL has proven to be quite 'efficient' for the great majority of developers no matter whether they call their code open source or free software.

What People Are Saying

1 small room - the smaller

1 small room - the smaller the better
add esr
add rms
keep the cameras rolling

I don't know what possesses esr to say such things. Linux is GPL2 but is undoubtably far more popular than all the BSDs combined (not poo-pooing BSD, they just aren't as popular).

Let's take one case of the sort of thing that happens with a more permissive license: OSX. OSX is more commonly the exception; in most cases proprietary companies do contribute code under a permissive license. OSX is there to remind us that the people who say "but Z can simply take all this software and run off with it" are right. GPL forces people to play nicely or go elsewhere.

No, but .....

There is a serious issue with the GPL. It is the problem of using GPL software with other software. First, there is the question of the "compatibility" of other licenses with the GPL based on fine technical points. This is stupid. If the author of the other software gives you the source code for free and you are allowed to distribute it, then it is FOSS and you should be allowed to link it to GPL software. Second, there is the question of using closed source binaries with GPL software. This is not as obvious -- perhaps it should be limited to software necessary to use proprietary hardware. However, it is already happening. Closed source or partially closed source GhostScript printer drivers and videocard drivers exist and people are using them with Linux and other GPL software in apparent violation of the GPL. If this is to be allowed, then the license should state this. If this is not allowed and it is enforced, Linus is clearly shooting itself in the foot.

I think you misunderstand the GPL

I'm afraid one of us lacks understanding of how the GPL protects free software - and given the hours I've spent with legal counsel discussing the topic, I suspect it may be you (no offense intended). For example:

"First, there is the question of the "compatibility" of other licenses with the GPL based on fine technical points. This is stupid."

No, the concept of license compatibility applies to *all* licenses - free, open source, or proprietary. Combining software under different licenses *necessarily* requires determination of license compatibility. Your beef is likely with *copyright*, not a specific license.

"Second, there is the question of using closed source binaries with GPL software."

This is not a question, nor an issue. GPL "source code distribution" requirements apply to software *statically linked* to GPL software (the usual practical interpretation of "derivative") and then "distributed" in some form (often interpreted as "outside the corporation performing the link"); dynamic linking, loading as a binary, merely running alongside GPL software under the same OS, or modifying the software for "internal" use does not activate GPL source distribution requirements at all.

You are likely confused by many Linux distribution maintainer's decision not to include binaries in the default package set. This isn't a *GPL* issue, however, but a philosophical one - that is, they choose to keep their core distribution "free as in speech". You may agree or disagree with the philosophy, but to ascribe the decision to the GPL is incorrect.

"Closed source or partially closed source GhostScript printer drivers and videocard drivers exist and people are using them with Linux and other GPL software in apparent violation of the GPL. If this is to be allowed, then the license should state this."

Yes, the GPL does state this clearly. Using a proprietary video driver binary or printer driver dynamically loaded into Linux doesn't violate the GPL because the software isn't statically linked.

I'm not intending to flame you here, only to clarify practical GPL application. GPL is the preferred free / open source license among corporations who have spent time studying its implications (as mentioned in the article). I suspect the reason is that it protects a corporation's contributions from being extended and then used against them competitively. That's a valid, and valuable, concern not addressed by Apache-style licenses.

I am not a lawyer, etc. etc.

Wrong on his own terms

Even purely on his own terms, ESR is simply wrong. Most businesses seem to prefer the GPL for most purposes. They know that while an Apache or BSD license may let them take the code closed, it allows competitors to do the same. Most businesses seem in practice to appreciate the same GPL benefit many individual GPL supporters like: Knowing that their contribution will not be taken and enclosed and profited on by someone whose contributions are not added in return.

Way to miss the point Steve...

ESR was essentially saying that the GPL advocates are shooting themselves in the foot with the lawsuit against Cisco, you shouldn't be so quick to dismiss his argument as these lawsuits are going to drive people to less vague licenses.

ESR was saying...

"ESR was essentially saying that the GPL advocates are shooting themselves in the foot with the lawsuit against Cisco"

Only in part was ESR saying that. He was making a more general argument that the GPL inhibits software adoption by business. His argument is based on some unproven assertions and on his assumption of an efficient market.

The problem I generally have with arguments based on market economics is that they typically postulate markets that are so fair and efficient as not to reflect anything like the real world. They are the market equivalent to infinitely fast and distortion-free feedback loops, frictionless machines, lossless energy transfer and the like.

If markets are so efficient and ESR's argument about the defects of the GPL are accurate, then he will only need to sit back and wait for the market forces to make the GPL to disappear and be supplanted by some business friendly license in the open source software field. It may happen, but I wouldn't bet on it.

GPL and distribution

I was under the impression that if you made a personal change to a program licensed under the GPL, as long as you did not distribute your new program, you need not distribute the new source code. Maybe I am wrong. Any how, efficiency is an externality in my opinion. Freedom is the aim. I am with RMS on this.

You're right; you can make

You're right; you can make all the changes you want and if you never release outside your business (or your home) you have no obligation to release the code changes you made. I have done this a few times, but in those instances that was for very specialized changes which the rest of the world wouldn't want in the main tree anyway. In other cases where the software is running in a customer's device they have access to all the source even in the highly specialized cases which the rest of the world doesn't even want to know about.

Author's Intent

When you consider author intent, itโ€™s difficult to argue the GPL has outlived its usefulness. According to our (Black Duck's) database of open source project information, which covers over 200,000 projects from 4,000 sites (including SourceForge but many others) the GPL and its variants account for over 66% of all open source projects.

(See http://www.blackducksoftware.com/oss )

Such widespread adoption suggests the GPL still has a lot of life left in it. However, the debates about the GPL, and the other widely used open source licenses, rarely consider the intent of the authors/creators of the software. Open source communities pick the license for their project with significant deliberation. Issues to consider include many outlined in the debate, e.g., ensuring enhancements are made available to end users vs. providing end-users with fewer restrictions. It's not easy to argue that one or the other leads to more commercial success. How can you argue against the creators of the code choosing the license that best suits their goals?

Add one to the 4 Freedoms of RMS

In my opinion, you should add one element to the 4 freedoms that RMS advocates: that's sustainability.

There is nothing that prevents you from setting a price on open source software, so that you would still have the 4 rights (access the code, modify it). But by having to pay a fee to the developers, you provide sustainability.

The Software Bill of Rights (http://softwarebillofrights.org/license.html) is one piece of the puzzle. If you combine it with a revised GPL or Apache license, you could get a very interesting combination, where developers could finally make a living writing great code.