Why I Don't Use the GPL

Do the demands of the GPL cause as much harm as closed-source code?

I used to release everything I wrote under the GPL without thinking about it too much. I have, however, come to the conclusion that software licensed under the GPL is far from "free software". As a result, new releases of all my software (AutoRPM, Logwatch, etc.) will be released under the MIT license (similar to the BSD license).

I'm not just trying to start a holy war here; I have very good reasons for my decision and I think that other open-source software developers should consider using licenses other than the GPL.

The GPL attempts to force people and businesses to release their source code. There is nothing wrong with that, except I don't think it qualifies as "free software". I want anybody to be able to do anything they want with my programs and/or its source code. I have no reason to restrict their activities. A majority of companies have already decided that their products will be closed-source even before they start designing them. If a closed-source company decides it could use some open-source code in its product, and if the code is licensed under the GPL, the company will do one of two things: use the open-source code and not tell anybody, or write their own code from scratch.

Both of these options are bad for everybody. With option one, any improvements made to the code will be kept secret and will not help the project as a whole. With option two, the company will now be doing work that has already been done, and it will be done using their proprietary methods instead of the method that is already out there. Also, there will now be one more implementation of the same code with its own bugs, quirks and preferences.

Now, consider the same company looking at the same code released under the BSD or the MIT license. If the code is decent, they will use it in their product. Sure, their product might not be open-source. But, what harm is really done? The open-source project still exists. The company is much more likely to work with the open-source developers to improve the project than if it was trying to cheat the GPL. This can only lead to more users and more developers for the project. In addition, the company will probably want to stay up to date on the open-source code, and the easiest way to do that is to get any changes integrated into the project as a whole.

There are more advantages. The company's product will be easier to modify and customize because it will be using at least some open-source components. Imagine if TiVo could not use Linux because of the GPL--how much harder would it be to hack? Better yet, more open-source code in commercial products means less proprietary technology out there. And the less proprietary technology, the easier it is for people to switch from a proprietary OS to Linux. For example, imagine if Microsoft used ext2 for its filesystem or bash for its shell? If this happened, it would be much easier for (some) applications to be ported to Linux. It also would be much easier for users to convert from Windows to Linux.

I'll admit that if I was a developer for Apache, and Microsoft replaced IIS with Apache one day, I would feel a little cheated. I would feel that I deserved some of the money Microsoft makes off of my project. However, in the long run, I would be aiding in Microsoft's downfall. It would be much easier for a company to replace its MS/Apache web servers with Linux/Apache than it currently is to replace MS/IIS with Linux/Apache. I work at a company that uses MS Exchange for all its e-mail and scheduling needs. If Microsoft would have used an open-source mail server instead of writing their own, it would be a lot easier to replace their NT-based mail servers with Linux ones.

Last, but not least, are the financial benefits for the Open Source community as a whole. A majority of open-source programmers have normal jobs and work on their open-source projects as time permits. Well, wouldn't it be great if more open-source programmers could get paid to work on their open-source projects? Any company that is using your open-source project is a potential employer. Many more companies will use your open-source project if it is released under a truly free license. In my experience, companies that pay you to work on open-source projects want them to stay open-source. They realize that the project has gotten as far as it has because of the Open Source community, and they are more than happy to see the changes they pay you to make applied to the project as a whole.

Overall, I think that open-source developers should release their code under whatever license they feel is best. I do think, however, that releasing your program under the GPL is not much better than Microsoft selling their program to you with a restrictive EULA--in both cases, the copyright holder is telling you what you can and cannot do with their software. I also think the MIT and BSD licenses, in the long run, better serve the interests of the Open Source community.

Kirk Bauer is an avid Linux user and a part of the GT Sport Parachuting Club at Georgia Tech.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Why I Don't Use the GPL

Anonymous's picture

Both of these options are bad for everybody. With option one, any improvements made to the code will be kept secret and will not help the project as a whole.

This is the default action big companies take when they use BSD/MIT-licensed code. Think BSD TCP/IP stack in Windows, think Kerberos.

With option two, the company will now be doing work that has already been

done, and it will be done using their proprietary methods instead of the method that is already out there.

If they feel like reimplementing the code, this is the legal price tag for not sharing improvements to existing code.

But, what harm is really done? The open-source project still exists.

...and has no chance to gain "market share" because the proprietary derivative will be non-compatible and forced upon 90% of all computers out there, see Kerberos. I call this harm.

For example, imagine if Microsoft used ext2 for its filesystem or bash for its shell? If this happened, it would be much easier for (some) applications to be ported to Linux. It also would be much easier for users to convert from Windows to Linux.

And this is precisely why this is not going to happen. If Microsoft would use any of these, it would be next2 and nbash (the n standing for non-compatible, as in nmake). Why would M$ have any interest to raise competition or make it easy for customers to defect? BSD/MIT-style licenses precisely allow M$ to eat their cake and still have it: They save development costs and still can lock customers to their own OS.

So my question is: Why should I release code under a license that M$ or other companies could freely use against my own interests?

Re: Why I Don't Use the GPL

Anonymous's picture

Bravo. Too many people fail to realize that there are more meaningful religions to choose than "license zealotry". It's your code, your decision, your responsibility. Use the license that best suits you and your project.

I've chosen to use the BSD license in my own works simply because I don't want to place any restrictions on anybody. This is software that I have "given" away. You don't place strings on gifts, that's just rude.

Re: Why I Don't Use the GPL

Anonymous's picture

You don't place strings on gifts, that's just rude.

Perhaps ... but we're not talking about individual gifts here. Would you send a Christmas present to a company? And be pleased if they sold it for far more than you paid for it?

In a perfect world, the BSD license is the more "right" ... but we're in an imperfect world, and the GPL represents an "anti abuse" measure.

An analogy with your "gift" ... suppose I, as a philanthropist, gift a public drinking fountain, or a park bench. Should a company be allowed to come along and sell water from that fountain, or use of the bench?

Now, one of the foundations of the "free" software community is that if I have an idea, and I share it with you, we both have the same idea now ... I havn't lost anything. I like that. The problem with businesses is that they don't play by those rules. If some business comes along and uses code that I wrote and published under a BSD-style licence, and then I try to market something similar, they'd probably take legal action.

If it's rude to put strings on a gift ... would *you* give gifts to someone who abused your hospitality? Or would you not invite them again?

The GPL is an attempt to stop companies from pissing in the well.

Re: Why I Don't Use the GPL

Anonymous's picture

I don't believe that most people who develop software under the GPL consider their work as a gift. I believe they consider it a way of developing software and helping out a specific community. If they considered it a gift, they would release their code under a BSD like license, as you say you do. The specific community they wish to help is not a community geared towards making money, but a community where people are free to learn (through source code), modify, develop, and use however they wish. The community that does not posses these ideals does not need to benefit from the countless hours already spent by the people developing under the GPL.

As a student, I have gained much knowledge from GPL software as well as BSD. Any software I develop under linux will more than likely be under the GPL license because I feel that others can learn, use, etc, from my work, not because I feel that I am giving my software to everybody.

As you stated before, It's your code, your decision, your responsibility. Use the license that best suits you and your project.

Re: Why I Don't Use the GPL

Anonymous's picture

If Microsoft would have used an open-source mail server instead of writing their own, it would be a lot easier to replace their NT-based mail servers with Linux ones.

Which is precisely why it will never happen, duh. And no variation of the license is going to change that. Can you honestly immagine bill choosing a strategy which would make his products easier to get out from under? Would you rather he "embraced and extended" apache rather than write his own worm farm^H^H^H^H^H^H^H^H^Hweb server? If they can steer entire protocols onto a sandbar, what's to say they couldn't do it with a software package? Be GLAD that they never got their mitts on apache, sendmail, kde, bash, etc...

davidatlinuxbrainsdotnet

Re: Why I Don't Use the GPL

kirkbauer's picture

I'll admit that Microsoft is probably too smart to fall for such a trick. But other companies might. A small company like TiVo might choose to use free software to cut down on development costs. Then, when they become large, it is too late to change into a Microsoft.

In this case, TiVo actually did use Linux, even though it is covered under the GPL. I am glad they did. However, other companies do not choose Linux because of the GPL and the complex legal issues. What if TiVo would have chosen a closed-source operating system? I think we just got lucky in the case of TiVo, but won't always be so lucky in the future.

Re: Why I Don't Use the GPL

malloc's picture

What specifically are you gaining from being a doomsday naysayer in this case?

Re: Why I Don't Use the GPL

kirkbauer's picture

I don't gain anything directly. However, I think that less use of the GPL and more use of truly free licenses will result in a better software compatibility and more consistent standards for all of us. Plus, there will always be commercial products, and people like us will always want to customize them... so, I'm hoping to see more and more of those built on free software.

Re: Why I Don't Use the GPL

malloc's picture

I really dont want to call you an idiot.

What stood in the way of the MS->kerberos fiasco ? Certainly the drive for "better software compatibility and more consistent standards" led MS to using kerberos to their own means without publishing their changes.

Please start backing up the statements and claims you make.

Re: Why I Don't Use the GPL

Anonymous's picture

What would have prevented them from writing an implementation from scratch, and extending it? How do you know they didn't do exactly that? Why do you think a behemoth like MS won't find some way to use GPL code *anyway* and get away with it?

Then they would reap all the benefits of open source without paying the price.

Re: Why I Don't Use the GPL

Anonymous's picture

Imagine, what happens if it would then come out?

Unhappy emploee ....

Re: Why I Don't Use the GPL

malloc's picture

if the code is licensed under the GPL, the company will do one of two things: use the open-source code and not tell anybody, or write their own code from scratch.

And from an outside persective, both outcomes actually look the same. The only difference is the moral cost involved to the developers if they decide to abuse freedoms granted to them by a fellow developer.

Sure, their product might not be open-source. But, what harm is really done?

No harm if that was your intention when choosing a license for your software. The main point you are missing is that anyone can choose whatever license they want. There is no issue here. Choice is freedom. One could argue that using a BSD/MIT style license stifles choice and freedom in that it allows the introduction of proprietary/non-free into the picture.

Simply put, using the GPL ensures that your software is never used in a proprietary way. If you feel that restricts your freedom, you can do one of two things:

1. Dual license

2. Choose another license (BSD and MIT from your example)

Assuming you are ok with your software being introduced in a proprietary / non-free manor, then excersice your freedom and choose the appropriate license.

It is unfortunate that the two communities (Free Software community and the Open Source community) cannot simply agree to disagree and move on to more important things.

Imagine if TiVo could not use Linux because of the GPL--how much harder would it be to hack?

But Tivo is using Linux because of the GPL. How much harder would it be to "hack" if indeed they (Tivo) had used a BSD style licensed product, kept it proprietary, and excercised the DMCA every time someone attempted a hack.

For example, imagine if Microsoft used ext2 for its filesystem or bash for its shell? If this happened, it would be much easier for (some) applications to be ported to Linux. It also would be much easier for users to convert from Windows to Linux.

I don't quite understand what you are trying to do with this statement. If they had used GPL products, that would be a completely different can of worms. But that would not affect ease of porting (from Windows to Linux) by simply using a filesystem and a shell. This would not make their api's immediately accessable or compatible. Also, they would have to implement a lot of compatibility into there system to use those components. A filesystem (ext2 in this case) and a shell (bash) are built upon a Unix-like foundation. So what exactly is your point here?

I'll admit that if I was a developer for Apache, and Microsoft replaced IIS with Apache one day, I would feel a little cheated. I would feel that I deserved some of the money Microsoft makes off of my project.

That is the concession you make with the license of your choice. Here are four basic freedoms from gnu.org (http://www.gnu.org/philosophy/free-sw.html), and really the essence of the GPL's afforded freedoms:

* The freedom to run the program, for any purpose (freedom 0).

* The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.

* The freedom to redistribute copies so you can help your neighbor (freedom 2).

* The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.

If your main drive for development is monetary reward, your ideals may not be aligned with the ideals of other Free Software developers. And that is ok. You are again free to choice whatever license you want to release your software under.

My humble opinion on this matter is that the BSD license is a free license, up until the point where someone (person or corporation) takes the software into a non-free / proprietary direction. Then all advantages of the license are gone.

But in the end it all comes back to choosing the license most appropriate to your wishes and desires. The distinctions are clear. The only difference is opinion. If you are not part of the GPL's target audience, then you are free to not reap the fruits of it.

Re: Why I Don't Use the GPL

Anonymous's picture

It will all be painfully academic when some brainyack comes up with a with a decoding

software that can reverse engineer software. The advent of multi processing in the gigahertz range will make software easy to take apart!

Eric Reesor A forward thinking Linux freak

Re: Why I Don't Use the GPL

Anonymous's picture

>>My humble opinion on this matter is that the BSD license is a free license, up until the point where someone (person or corporation) takes the software into a non-free / proprietary direction. Then all advantages of the license are gone.

Right... you have the freedom to do so. The BSD license is a true free license and GPL license is a socialist free license. GPL, you're free do what you like as long as you share. BSD, you're free to do what you like. Notice that the BSD license has no conditions?

Which one is better? Not for me to argue. I use software from both sides of the fence.

Re: Why I Don't Use the GPL

Anonymous's picture

"free to choice"??? do you mean choose???

Re: Why I Don't Use the GPL

Anonymous's picture

My humble opinion on this matter is that the BSD license is a free license, up until the point where someone (person or corporation) takes the software into a non-free / proprietary direction. Then all advantages of the license are gone.

If someone (person or corporation) takes the software inte a non-free direction, then the software is no longer under the BSD license.

As long as the BSD license is used, the software and its source is truly free. That means that you can use it in any way you see fit, including non-free / proprietary ways.

I think this discussion should not be about which license programmers should choose. That choice is theirs and theirs alone to make.

The issue, as I see it, as that GPL or GNU software for decades has been called free software, when in fact its not even close to free. Open, yes, but not free! There is a big difference...

Re: Why I Don't Use the GPL

Anonymous's picture

I think you're being naive when saying that corps would contribute back to BSD codebase. Exactly how much corporate contribution does BSD kernel get? Sure, it gets some. Now compare this with Linux.

If your personal freedom is more important to you than the freedom of the community and the continuing availability of the untainted standards compliant software, then BSD is the right choice. BSD gives you, the author, more personal freedom, like the freedom to customize your own work and make that customization proprietary. Personal freedom is important. However, what about the freedom of the community?

I think the freedom of the community is more important than the personal freedom. It takes a larger view of things to understand this. Think of a human being as a body part of a larger being called 'community'. Your quality of life and your freedoms are inextricably connected to those of the community.

Let's say you are the most rich man in the world. You have 30 billion dollars in various bank accounts. You can afford anything. Now, imagine that by getting all this wealth, you have debased the community to such an extent, that you must live in the ghetto, surrounded by some poor scumbags who must do making money via prostitution and other illegal activities. Now, a truly wise person will recognize that the value of these 30 billion is vastly dilluted. In fact, most sane people would choose to have 100k but live in a friendly community free of crime, strife and poverty. Sure, you have less money for yourself, but you live in a better place. Thus each dollar that you do have is worth more.

So the truly greedy person, the most capitalistic pig possible, will consider the good of the community before their own personal good, if they are properly enlightened. Who wants to be the king of the hill if such hill is a mountain of *****? No one, I would hope. That's why many rich people just can't bear to live with the rest of us and have to buy secluded property and lock themselves up in 40 million dollar nuclear-bomb proof shelters. This is a direct result of them debasing the commons in order to get more personal wealth.

I'm all for personal freedom and individuality. If you take the enlightened, wholistic and larger view of things, if you keep in mind that we only live here a short time, and that being nice to each other to create a worthwhile community is important, you will see that choosing BSD license is not an obvious choice, because it doesn't benefit the commons in a clearcut way.

In a perfect world, if every human was ethical and enlightened, BSD license would be ideal. Because the more cultured and responsible a human is, the more freedom such a being deserves. Without being pro or con, think about this: would you rather give a gun to a convicted criminal or would you give it to someone who is a vegetarian and would never harm a being, but simply enjoys target practice for its sportsmanship?

In essense, BSD license is like a gun. To a responsible person, it offers more freedom to do good. To a thug it offers more freedom to screw people over.

The people behind GPL have considered this carefully and decided that GPL strikes a better balance. GPL takes away more freedom from a thug than it does from an honest person. It's not perfect! GPL is a careful and well considered compromise.

I prefer GPL over BSD, and yet, I think in some cases it is more expedient to use BSD. For example, for all important infrastructure, I prefer GPL. I want all the open code to stay open and I don't want it subverted or 'extended' in any way. Competitors feel better sharing their code knowing that it can't be used against them. Thus GPL creates a neutral ground where the natural animosity of the marketplace is suspended in order to promote greater projects with greater scope and larger, more wholistic benefits.

In the end, it is your choice, just like it is your choice to abide by the law. Think carefully about the larger consequences. Look beyond your own nose.

I love you, man!

Anonymous's picture

You have the most clear explanation I have ever encountered in my life. Thanks a lot man!

P.S.: The truth might be in the very middle... We need a part of our world under GPL, and a part after BSD. I don't know... :-) But it is good everyone can make a choice on their own :-!

Re: Why I Don't Use the GPL

Anonymous's picture

get your head out of your arse andy hoffman!! there aint' gonna be a software utopia and as soon as you geeks figure that out, then we can all move along. yes there are problems with microsoft but they've been swingin that big stick too long and as soon as something comes out better, ms will be finished. but you know what? ms makes pretty attractive operating systems. they brought an entire populace kicking and screaming to the pc age. and you know what, no f#@king consumer gives a crap about a license. so what if you can change and have access to the source code if no one buys it!! imho, the pc is the worst consumer product EVER!! think about how complex a pc really is and what can go wrong with one. and now you are wanting to push linux on the masses?? give me a break. you guys should line up for your kool-aid at the jamestown linux summit and don't fight that sleepy feeling. when a better consumer product comes along, ms will go away. until then....sorry nerds, that's just the way it goes. hate me, love me, i don't really care. i come to set you free!

I would do it like Trolltech does.

Anonymous's picture

Hi,

If I were to release open source work, I would go for a double licensing scheme, just as Trolltech does (i.e. _both_ GPL and commercial).

That way, you can get payed for your work by selling licenses to companies that make money with _your_ work and let anyone else use your code for free at the same time.

Just my $.02

-- Arend Lammertink --

Why not use a better license? Like this one...

Anonymous's picture

This license is quite novel, maybe it's worth a look as an alternative to GPL or dual-licensing http://www.zesiger.com/license/

Re: I would do it like Trolltech does.

Anonymous's picture

I don't know, is this the same way Sun is doing Star Office? If so, it makes perfect sense to do a GPL and a commercial version. After trying OpenOffice.org, I bought a copy of Star Office. It's cool. The same software is "out there" as open source, but I cose to purchase it for the support and goodies. Sounds like a pretty good structure to me. But hey, I'm just one of the unwashed masses.

Re: I would do it like Trolltech does.

dmarti's picture

Dual licensing rules.

However if you do dual licencing and not just pure GPL you need to consult with a _good_ lawyer to draft a copyright assignment so that you can use contributions in both the GPL and the proprietary versions.

IANAL.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix