Why the GPL is Incompatible with Commercial Software

# Filed on Feb 25, 2006 by Anthony DiSante 30 replies

Advocates of the GNU General Public License (GNU GPL) like to perpetuate the idea that programs released under it are "free as in speech, not free as in beer."  The implication is that GPL’ed software is not necessarily free from cost, and therefore you can in fact license your programs under the GPL and still sell them for money.

Quoting The GNU GPL FAQ:

Does the GPL allow me to sell copies of the program for money?

Yes, the GPL allows everyone to do this. The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge.

Quoting The GNU GPL FAQ:

If I use a piece of software that has been obtained under the GNU GPL, am I allowed to modify the original code into a new program, then distribute and sell that new program commercially?

You are allowed to sell copies of the modified program commercially, but only under the terms of the GNU GPL. Thus, for instance, you must make the source code available to the users of the program as described in the GPL, and they must be allowed to redistribute and modify it as described in the GPL.

These requirements are the condition for including the GPL-covered code you received in a program of your own.

But those answers are farcical.  The truth is that any "commercial" product released under the GPL will not succeed commercially, because the GPL allows anyone who buys the software to turn around and give it away for free.

I recently sent the following message to the GNU’s contact address:

Quoting my message to GNU:

I’m looking to integrate a pop-up menu system into a program of mine for a new feature that I want to add.  I found a GPL’ed project that implements such a menu system and I’d like to integrate it into my commercial product.

I’ve read the GPL and the GPL FAQ but I’m still not clear about exactly what my obligations would be under the GPL.

Specifically, I charge a fee for my program.  The program is a Perl-based CGI script, so anyone who buys it automatically has the source code.  Still, I do not give it away for free; I sell the program (i.e. the source code) for a fee.  If I include this GPL’ed menu system into my application, then:

1. Can I still charge a fee for my application?

2. Does the GPL give my customers the right to give away my application for free, after they buy it from me, simply because a small part of my application is based on a GPL’ed project?

And the reply:

Quoting GNU’s reply:

> 1. Can I still charge a fee for my application?

Yes.  See [FAQ item] and ["selling" article].

> 2. Does the GPL give my customers the right to give
> away my application for free, after they buy it from
> me, simply because a small part of my application is
> based on a GPL’ed project?

Yes.  When you use that GPLed code, you must release your own work under the GPL as well; this is required by section 2(b) of the license.  As a result, when your customers receive it from you, they’ll have the right to distribute it however they wish; this is permitted in section 1.

I have no problem with the GPL; much of the software I use on a daily basis is GPL’ed software and I’m glad that I was able to obtain this software for free (free as in beer).  But the wording of both the license and the FAQ is misleading, and the suggestion that you can GPL your commercial software is disingenuous.

Comments:

01. Mar 14, 2006 at 12:33pm by Kev:

So it looks like you can use the pop-up menu code in your perl script and sell that script, as long as you GPL the script itself. So once even one person buys your script, they can turn around and distribute it to anyone they’d like for free.

02. Mar 14, 2006 at 05:19pm by Anthony:

Exactly.  Which is fine for free software, but obviously no sane person trying to sell a piece of software would release it under those terms.

03. May 4, 2006 at 05:53am by LogicMan:

So what happens if I am giving you access to my web based product for a monthly subscription and that I have used the GPL menu you mentioned? Is that a violation????

04. May 5, 2006 at 11:40am by Anthony:

I’d say it probably is a violation, but I’m not certain.

05. Jun 27, 2006 at 03:40pm by Stephen Dewey:

I think it is not a violation. If it’s a web-based service, then you are not actually distributing the product. It’s a "loophole" that they want to "fix", but they haven’t "fixed" it yet.

06. Jun 29, 2006 at 08:31am by Thom Wetzel:

If you’re using GPL’d code, you have to GPL the whole application - web app or not. 

What you can use in a closed-source application is code that has been released using the LGPL license. 

You have to credit the author of the LGPL’d code, and make the code you used available for others using your application, but you don’t have to GPL your entire application.

07. Jan 4, 2009 at 12:36pm by Maciej:

And what about using a GNU licensed dictionary file in an on-line dictionary ? Do I have to publish the whole code of web application to use this file ?

08. Mar 26, 2009 at 10:51am by empraptor:

I realize this page is stale, but here’s a response on the concerns about using GPL’d items on a fee-based website.

If you did not modify the specific items that were released under GPL, there is no need to make anything available.  Even if you did modify the GPL’d items, you don’t have to release any of the other code.

For example, if you modified the menu code or the contents of the dictionary, you would be required by GPL to make THOSE SPECIFIC documents available to the public.  You don’t need to open-source any other document that is part your application.

So do you have to GPL your code because you made a call to a GPL’d product?  Hell no.  That doesn’t make any sense at all.  The whole point of GPL is to provide products that you can see/modify the source code for while ensuring you contribute when you make modifications.  It isn’t there to "infect" your own work.

I suppose it gets confusing if the GPL’d code is a short snippet that needs to be pasted into your application code.  Do you have to GPL your thousand line code because you used a 50-line snippet?  I say no.

But if you wanted to be sure, I would package that snippet in a separate file as a class or a collection of functions or a package or whatever.  Then release THAT under GPL.  And use the code in this form.  That would serve both you and the community by making the code available in a form that is easier to reuse and maintain.

09. Mar 26, 2009 at 04:41pm by Anthony:

I suppose it gets confusing if the GPL’d code is a short snippet that needs to be pasted into your application code.  Do you have to GPL your thousand line code because you used a 50-line snippet?  I say no.

You say no, because no would be the reasonable response.  But that’s the opposite of what the GNU GPL spokesperson said.  He explicitly said yes to this exact situation, as noted in the parent post here.

The whole point of GPL is to provide products that you can see/modify the source code for while ensuring you contribute when you make modifications.  It isn’t there to "infect" your own work.

That would be nice if it were true.  And maybe it IS true.  But that’s far from certain.  It certainly appears to be the case that using GPL code in a commercial app would indeed "infect" it as you say.  As an independent developer who makes his living by writing and selling commercial applications, I simply cannot afford to take that risk.

10. May 23, 2009 at 11:18am by Greg:

I think what  empraptor says is exactly true. Think about the reasoning behind the license. It’s there to protect that open source software to always remain open source software. If anyone takes open source code and modifies it, post modification it must remain open source and licensed under GPL.

However, if you use some open source libraries you don’t need to make all your code open source and GPL licensed as well. That doesn’t make any sense at all. If you take some GPL code and modify it, place that modified code into a separate library, license it as GPL and keep the rest of your software closed and commercial under whichever license you choose.

11. May 23, 2009 at 04:26pm by AnthonyDiSante:

Quoting Greg:

I think...
reasoning...
sense...

Everything you say makes sense.  But that doesn’t mean it’s true for the GPL.  I’d love to believe what you say, but I can find no official GPL documentation which supports it; and the word from the people behind the GPL contradicts what you say.

12. Jun 2, 2009 at 05:07am by JeanNoel:

Hi folks,
Google led me onto this page when searching info about "commercial gpl".

I think to have found the specific item in GPL’s site’s FAQ section for this problem. My understanding is that it’s never a problem to sell GPL-covered code (modified or not), it’s a problem in terms of license because as said earlier, it really infects (no other word, sorry) proprietary code.
http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

The only way described to "incorporate" GPL code into yours is to get the two pieces of software "well separated". This full-of-contradiction statement is the root of the problem because it leads to personal interpretation.

Mine is that you can reach this level of integration only if you can say "my proprietary program (as source object) uses a totally externalized program for this functionality which could be totally replaceable, via options menu or externalized configuration". I’m not even talking about source code to illustrate my point.

Applying a strong decouple-pattern to your app might be a solution, but then consider GPLing the 80% work-time consuming interface (which can be a security threat depending on your level of implementation).

To conclude, let’s have in mind that free software is not always an appropriate solution. It comes from a war based on ideas with a noble goal (the know-how and fit-to-your-needs), but is at least as extremist as the opposite side. Other licenses that are less restrictive exist, but are more rare (LGPL for instance).

13. Jun 24, 2009 at 05:34am by Anoop:

I’m still a bit confused.

Suppose I want use a GNU licensed icon library (say Tango). Is it possible to use that in a propreitery application? I kept reading contradictory statements here and there; and my interpretations seems to be changing by the second.

14. Aug 14, 2009 at 01:39am by cjs:

Yes, the GPL infects software with which it’s combined, even if you include only ten lines of GPL’d code in a million line program of your own. The readline library, for example, is licensed under the GPL instead of the LGPL for exactly this purpose.

In general, you can safely assume that the author of a GPL’d piece of code either really does intend to prevent you from exploiting it commercially or doesn’t understand the license he placed on it. (The latter is surprisingly common.)

But I should point out that if you’re the owner of a piece of code you’d like to exploit commercially, the GPL is a great way to look free but make sure you don’t have competitors. This is why MySQL A.B. could sell themselves to Sun for a billion dollars when their only product was a "free" one.

Curt Sampson (cjs@cynic.net)

15. Aug 23, 2009 at 08:27pm by paul:

Okay here’s what I’d like to do if it’s legal.

(1)  There’s some GLP software that I’d like to use.  It’s an open source backgammon software ("OSBS"). 
(2)  I’d like to modify it to allow users to offer dll’s or some other such thing with a decision engine (i.e., receive info. from the OSBS and return decisions)
(3)  I have some decision software that I’d like to sell as dll’s for this software.  And, I’d release the revised OSBS with a GPL.

Does this change the game?  Or am I in the same soup with a guy who uses a few lines of GLP code in his commercial code (i.e., infected)?

Said differently, is there any way to put a condom on my code so it’s not infected?

16. Sep 7, 2009 at 06:46am by DanHeeks:

looking at http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
It says "However, in many cases you can distribute the GPL-covered software alongside your proprietary system."
and
"if the two programs are combined so that they become effectively two parts of one program, then you can’t treat them as two separate programs"

So long as the GPL backgammon software works fine without your program and your program works fine without the backgammon, then it’s OK to ship them together.

I suggest you should make your decision program an .exe file which takes text file input and output. Also adapt the GPL backgammon software to read and write text files, so it can communicate with any decision making programs in the same way.
Make sure when you distribute the whole thing you include all the source code for the modified backgammon program.

17. Sep 8, 2009 at 01:56am by BerlinBrown:

Yea, it is a little nutty.

Like why even answer the first question, "Can you sell the software"

Why sell it if your new code is now under the GPL?

"You can sell it but you have to change the license of your software to the GPL"

Also, it seems nuts that you must change your license, regardless of the size of the code you included is GPL.  For example, lets say you have Microsoft Windows xp operating system. And Microsoft decides to include some GPL widget they found online.  Does that mean Microsoft Windows xp has to fall under the gpl.

The gpl license is viral, but I bet the GNU group can’t possible keep up with which software is correctly following the gpl anyway.

18. Sep 16, 2009 at 11:32am by DY:

That’s the entire point. The FSF wants to encourage the end of proprietary software and writing it for a living. If Windows wanted to include the GPL widget, it would have to become GPL. The GPL’s intent is to ensure proprietary software can’t live off free software. I’m not supporting it, just stating it objectively.

19. Jun 2, 2010 at 07:04am by Max:

I know this article is fairly old but I think this link explains everything, http://www.gnu.org/licenses/why-not-lgpl.html

GNU is trying to encourage open-source developers to license their libraries under GPL because it gives open-source community a huge advantage.

Do you think it’s fair to use an open-source library licensed under GPL without giving anything back to the community? Think about it. Giving access to your source is the price you pay.

It doesn’t matter how many lines of GPL code you use in your program. One line of code can create an innovative feature. If you don’t like the terms then write it yourself from scratch.

GPL is probably the most commercially unfriendly of them all, but it exists to protect the community as a whole and individuals in it. Now, LGPL is different, it is more commercial-friendly.

Just to give you an example why two of those licenses are so important to open-source community, my current project will have two products.The project I’m working on is a sprite sheet creator. So, the application itself is gonna be licensed under GPL and the library that comes with it for importing sprite sheet into other programs like games will be licensed under LGPL. This way I make sure that if somebody wants to use my program’s GPL source to create a new application and sell it they have to make their source available to the community. But if somebody wants to use the import library in their commercial products they can do so without any restrictions. This setup will encourage them to use my application because the importer depends on it.

I hope this helps. ;)

20. Jun 2, 2010 at 03:53pm by AnthonyDiSante:

Quoting Max:

Do you think it’s fair to use an open-source library licensed under GPL without giving anything back to the community?

It’s not a question of fairness, it’s a question of honesty.  For the GNU people to claim or imply that the GPL can be used for commercial software is disingenuous.  They preach about openness and freedom, which sounds like a lot of BS considering that GPL’d code is neither open nor free for commercial developers, which is a huge segment of the software world.  If they said "half-open" and "half-free" that would be more accurate.  The truth is that you can only use GPL’d code if you play by their rules, just like you can only use commercial software if you play by the company’s rules.

Quoting Max:

GPL is probably the most commercially unfriendly of them all

Yes, exactly, which is why their statements about commercial usage are so ridiculous.

21. Jun 3, 2010 at 05:57am by Max:

I don’t think it’s a question of honesty. They are not misleading anybody. It explicitly says that you can sell copies of programs for money and that you have to disclose your source if you want to use GPL-licenced libraries.

They never claimed that it’s commercial-friendly, in fact, the v2 and v3 have this note at the bottom

Quoting GPLv2.0:

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

As for openness and freedom, they talk about software’s source code not what you can do with it. They can’t say software is "half-open for commercial developers" because it’s not ture. As a commercial developer do you have access to the library’s source code? Yes, you do. That makes it open for everybody. And they can’t say software is "half-free for commercial developers" because it’s not true either. Can you copy, modify and sell it? Yes, you can. You might not be able to make much money, but still you can sell it. ;) Although, there’re companies that make tons of money being open. It’s just a different game.

I certainly agree with you that GPL is not very compatible with commercial projects especially from a traditional point of view of software. But the openness, freedom and availability of the "original" software doesn’t change whether you’re an open-source developer or commercial developer.

As a reference,

Quoting Wikipedia:

Open source describes practices in production and development that promote access to the end product’s source materials.

Quoting Wikipedia:

Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and that manufacturers of consumer-facing hardware allow user modifications to their hardware. Free software is generally available without charge, but can have a fee.

Please note, "or with minimal restrictions only to ensure that further recipients can also do these things".

22. Jun 4, 2010 at 01:39am by AnthonyDiSante:

Quoting Max:

As a commercial developer do you have access to the library’s source code? Yes, you do. That makes it open for everybody.

Open for everybody to look at, not open for everybody to use.  It’s only open for usage that complies with the terms of the license.

Quoting Max:

Can you copy, modify and sell it? Yes, you can. You might not be able to make much money, but still you can sell it. ;)

Which is exactly my point: it’s disingenuous to claim that you can sell the software, because the point of selling is to make money, which is not possible in any realistic sense under their license.

Quoting Max:

Please note, "or with minimal restrictions only to ensure that further recipients can also do these things".

For commercial developers, the restrictions are not minimal; they’re deal-breakers.

23. Nov 19, 2010 at 04:41am by Tim:

What it breaks down to is the separation of licences. I have had this discussion with a few lawyers myself. You can sell your commercial software under its own licence and not ship it with the GPL add-ons. This is a little inconvenient for the customer and you, but it keeps things separate. However, you can obviously offer to send the GPL add-on separate on request to the customer.

i.e. Here’s my great software that you can buy for only $10k and you won’t be allowed to redistribute it. In order to use all features, we recommend that you obtain a copy of GPL software x which you can download here. Alternatively, we can distribute that software separately ourselves - free of charge.

24. Apr 14, 2012 at 09:16am by Federico:

Sorry, I have to something you will not like: you CANNOT sell software. Oracle can, IBM can, Apple can... but you can not. The reason is simple: whatever software you’ll create, there are tons of free (GPL) softwares which do the same things, and do it much better (less bugs, better performances, easier to mantain, better documented) at no cost. In this world there are too many developers: don’t try to convince me or anyone else that no one created you software much better than you. It’s absurd.

What you CAN do is selling technical support, customized versions, services, webinars, books, etc. And you can do it much better if your project is free software. And even better if the development process is open to the community of your users. No, the community forums are useful but CAN NOT be a replacement for your technical support. Yes, anyone can sell technical support for your GPL’ed software, but they CAN NOT compete with you if you create the software. Yes, they can fork your software, but their forks will NOT be better than your project if you know how to program and you accept patches and bug reports from the community.

It’s really hard to explain why all that works. But it’s simple to understand if you know free software. So, my advice is stopping trying to do something you can’t do, and approach to the free software world.

25. Apr 14, 2012 at 10:04am by AnthonyDiSante:

Federico, you are completely wrong.  There are thousands of companies selling software every day, and most of them are not giant businesses like Oracle, IBM, and Apple.  Open source software has been around for decades, yet it has not stopped commercial software from existing.  Why not?  Because the market is big enough for both.

Some companies sell software and give away free support.  Other companies sell support and give away free software.  Both approaches are equally valid.  Neither approach is "right" or "wrong".  The only thing that’s wrong is people like you, who come around and insist that EVERYONE must do things exactly the way that FEDERICO says they should be done.  That’s absurd.

26. Sep 17, 2012 at 07:22am by Arunav:

I completely agree with Anthony and Federico you cannot be more wrong. I have been an independent developer/consultant in IT and though I use various GPL softwares for personal use and also contribute in two of them however when I am building an app for commercial distribution I stay far-far away from GPL components. The reason being they are indeed "infectious".
Further in my experience a majority of my clients for whom I build softwares which they sell, they have similar apprehension from open source for the same reason. In my opinion "free" as in freedom should mean having the ability to decide what I want to share and what I do not want to share.
Finally you can always build a software that you can sell and which no one else can create better than you. Example of GPL failure:- less than 2% of computers run on linux.

27. Oct 23, 2012 at 06:10am by Marc:

This thread still seems current.
Cjs, in an earlier reply said :
"But I should point out that if you’re the owner of a piece of code you’d like to exploit commercially, the GPL is a great way to look free but make sure you don’t have competitors."

Does that mean the owner/author can use the GPL’ed code in commercial software without releasing the source code of his/her software ? i.e. are the rules under GPL different for the author and those who licence it. That would seem counterintuitive to the objectives of GNU ?

28. Dec 12, 2012 at 08:56pm by leth:

The idea of selling something which takes no effort to make is rather odd don’t you think?

Making a copy of a program takes no effort.
Writing the code takes effort.
One should get paid for writing the code not copying the program.

So thus commercial faif software should be contracted to be written not to be copied.

Makes sense.

29. Dec 13, 2012 at 06:02pm by AnthonyDiSante:

No, that doesn’t make sense, not for apps that take hundreds or thousands of hours to write, and which are continually improved over the course of years.  To make a living writing those kinds of apps, you can either:

a) contract the app to a single buyer, charging them a huge amount of money for all of the labor you put into it; or

b) sell the app to many buyers at a much lower price, amortizing the development costs over the larger customer base.

The first option is much more difficult, if not impossible.  You’d either have to convince a buyer to pay for the app months in advance (taking a huge risk on you), or else you have to put in all that labor with no guarantee of sale (taking a huge risk yourself).

The second option is far easier and makes much more sense.

30. Dec 30, 2012 at 09:09pm by Spinner:

QUOTE:
"Example of GPL failure:- less than 2% of computers run on linux"


hmmm....

"In a company survey completed in the third quarter of 2009, 48% of companies surveyed reported using an open source operating system"

"All the fastest supercomputers use Linux. The IBM Roadrunner, illustrated, ......"

Those numbers are climbing and climbing.

For servers..
http://www.zdnet.com/blog/open-source/linux-servers-keep-growing-windows-and-unix-keep-shrinking/10616

95% of movie studios use Linux workstations for their visual effects.


And lets not forget all the embedded systems, or android

Doesn’t look like it’s a failure to me.

If anything, Windows, gained it’s market share simply because it was bundled with a non-proprietary hardware design.
It’s ironic that that hardware.. The standard "PC".. was not the best in any way.. it simply was built without a restrictive license as to who could build and sell them.

Reply to this message here:

Your name
Email (why?)
Website (if you have one)
Subject
search posts:

home | archives ]

Shopping Cart

Your cart is empty.

Client Quotes

The work, the thought and the organization you put into this app is incredible.
– Bruce C.
I looked all over trying to find a simple cgi script.  I found that FileChucker was by far the best.  If you have issues with your hosting service's php.ini max upload size then this is the way to go.  Looking forward to future enhancements.
– Bob C.
Nice script, it's saving the day on our project.
– Aaron W.
I just wanted to say that yours is the first product that I've tested so far that hasn't failed on handling uploads.  This is going to work for a print company, so they are handling nothing but large files and all the other solutions I've tried so far have not been reliable.  So far yours has been 100% successful in my tests.
– Kevin H.
I just installed the demo of your product and got it up and running in no time.  I searched high and low for a decent login script and thank God I found yours.
– Adrian F.
FileChucker is working great...  Clients love it.  Vendors love it.  We love it.
– Gerry W.
The amount of customization in the program is incredible.  I was able to integrate it into my existing page layout relatively simply.  I was also able to easily customize the look/feel to match the current site.
– Jason M.
Do you know how rare it is to have a "canned" shopping cart with the ability to fairly easily do complex pricing options on a single item?  Maybe you do, but if you don't... basically, they don't exist!  I have looked.  Everywhere!  And the few that might even come close to the functionality that you have in CornerStore cost a fortune!
– Tashina P.
Just one word: Fantastic.  10-minute job to plug FileChucker into my app, and it now works a treat.  It's through the hard work by people like yourselves that make my job so much easier.  Congratulations on an outstanding product... Many many thanks.
– Sean F.
Our members think your software is fantastic...  I would recommend your software and your company to anyone.  Thanks for all your help.  It has been a pleasure dealing with you.
– Tommy A.
FileChucker is helping drive the backend of several high profile entertainment sites for people like Shania Twain and Dolly Parton.  We're also using it to drive backend file uploads for a multi-billion dollar banking institution.  It's a great product.  We've tried other "chucking" upload solutions with progress bars using flash and php, but nothing works as reliably as FileChucker.
– Michael W.
Thanks again for a great product and great support - beyond expectations.
– Greg S.
FileChucker is a great drop-in solution for file uploads, and worth every penny of its very reasonable cost.  Encodable's support is excellent to boot.
– Loren A.
I just want to say you guys really stand alone in that you have a quality product and you provide genuine customer service.  It's sad but those qualities are seldom found separately, much less together.  Thanks again for your time and help.
– Alex S.
Thank you VERY much for all of your help.  You've really impressed me.  We have support agreements for other software that costs thousands of dollars / year (just for the support), and most of them aren't as helpful as you have been.
– Keith Y.