Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know that it is possible to sell GPL code, but I wanted to know if it was possible to sell GPL code that has been forked and modified. The forked and modified code will still be available to use, modify, and redistribute.

share|improve this question
Yes, you're just exercising your rights under the license as intended. One of the arguments against the initial GPL was 'nobody will make money using it', which was proven false. – Tim Post Nov 30 '12 at 14:05
Just remember that when you fork, the forked code is till GPL. – Michael Kohne Nov 30 '12 at 14:12
...yeah ...but who will pay for something he can download and build for free? – dagnelies Nov 30 '12 at 14:34
As far the GPL is concerned, there is no difference between "mainline" and "forked" derived works; both are just derived works. – MSalters Nov 30 '12 at 14:34
@arnaud people who want to be able to call/email support and say "fix it for me" when something breaks instead of hunting for solutions on forums or diving into the code themselves. – Dan Neely Nov 30 '12 at 15:36

Yes, that is allowed, but you still have to meet all of the requirements of the license. Whoever you sell it to must be allowed to use, modify and redistribute it as allowed by the GPL.

share|improve this answer
and the code doesn't need to be forked! – Jaydee Nov 30 '12 at 13:57
@Jaydee - it does if he's not going to push all of his changes back to the main project. In that case, whether he calls it a fork or not, he will have effectively forked the main project. – Michael Kohne Nov 30 '12 at 14:11
Sorry, I should have been clearer I meant all GPL code can be sold, it doesn't need to be forked for that purpose. You are correct about changed code. – Jaydee Nov 30 '12 at 14:14
Thanks for the heads up! – Thomas Jan 17 '13 at 13:17

The Free Software Movement has always clearly differenciated between Free of charge and Freedom of usage/modification/redistribution. The GPL is clearly about the latter. The only fundamental issue is full compliance with all the terms of the license. Apparently you intend to do just that so it shouldn't be a problem.

In summary: Nothing in the GPL prevents you from charging for the program.

The only issue that might arise is independent from the GPL and is simply a matter of logic/psychology: if the modified program is freely redistribuable and thus available then why might anyone pay for it. It still doesn't make it undoable.

share|improve this answer
Actually I've already seen a GPL application on Android makret that was there twice, once free and once paid. And it was the same application. With comment like "The application is free and open source, but if you like it, consider donating, which you can do by simply choosing the paid version...". – Jan Hudec Nov 30 '12 at 15:09
"Why might anyone pay for it?" - Simple: To get it initially. The GPL doesn't say you must provide it for free; instead, you can charge as much as you want, but you have to allow your client to offer it for free, and you must provide the source and the right to change it, distribute it etc. Therefore, if you have created a very useful nontrivial fork of a GPLed program, and someone desperately needs it, you can set the price as you would for a proprietary product. Caveeat: You can only do that once, since the first client can always become your competitor for the second client. – user281377 Nov 30 '12 at 15:21
I thought that the code had to be freely available and distributable. A link to the code can be placed in the application to meet this requirement, but no where in the GPL did it say that the compiled binary or library had to be freely distributable. I could be wrong about this though- – lukecampbell Nov 30 '12 at 17:21
The code and software can be sold because GPLed, but not for this reason, the software should be available to everyone! It's perfectly reasonable to share the code only to a limited number of entities. – Luca Nov 30 '12 at 21:34
Heh ... the Free Software Foundation initially funded itself selling Free Software distributions :-) – Ross Patterson Dec 1 '12 at 0:30

You shouldn't do anything with GPL code until you've read and fully understand the license. Specifically, the third paragraph of the preamble to the GNU Public License version 3 says this:

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

That'd seem to answer the question, but section 5 specifically covers Conveying Modified Source Versions:

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions...

And section 10 explains essentially that while you can charge for the code, you have to keep the license intact and you can't charge someone for exercising their rights under the GPL.

share|improve this answer
Which means somebody can fork his code and then give it away, correct? – Ramhound Nov 30 '12 at 14:56
@Ramhound: Yes, anybody who gets the source can distribute it further and you have to give the source to anybody whom you gave the binary and asks for it (you can charge for that as well, but GPL restricts it to "no more than your reasonable cost of physically performing this conveying of source" and only if both binary and source is shipped on physical medium; internet download must be free). – Jan Hudec Nov 30 '12 at 15:23
I'd rephrase as "You shouldn't do anything with GPL code involving distribution until you've read and fully understand the license." The GPL is strictly a license to distribute and adds no restrictions on how you can use or modify the software, provided you don't also distribute it, so it's totally safe to use GPL software without knowing anything about the license at all. – Ian Nov 30 '12 at 15:31
@SunAvatar Until you understand the license, you really shouldn't do anything with any code, GPL or otherwise. For all you know, the license might say that you must sacrifice a chicken at dawn. (Who wants to get up that early?) More to the point, until you understand the terms, you might reasonably assume that the "free" in (GPL'ed) free software means that you can do what you want with it and thereby fail to realize that incorporating some of that code into your own project can have implications for how you may distribute your project. – Caleb Nov 30 '12 at 16:13

Yes, go for it, noting that the license says you have to make the source available to anyone you distribute the software to. That aspect is NOT optional. You also need to understand that you can't stop your users from giving the software to other people (the FSF link below explains these points).

Here's the FSF's page on selling GPL software, basically 'yea, you can do that, but you still have to obey the license'.

One thing to be careful of - there are a lot of people who associate the GPL with free (as in beer) software, not just in freedom to do what you want with the software you get. If there's a large community around the software, you may get unfortunate push back when you do try to sell your forked version. One reaction is likely to be that you are trying to make money off the hard work of others.

If you can, make your source generally available. Where appropriate, you may also want to consider pushing some of your changes up-steam to the original project. This may not make sense for your business plan, but if you can swing it, it would go a long way to shutting up anyone who thinks you are just leaching off the community.

share|improve this answer
You should be sure. You can't stop your customers from anything. That's the reason the license exists. – Jan Hudec Nov 30 '12 at 15:26
@JanHudec - edited to fix. It's even in the Selling free Software link. – Michael Kohne Nov 30 '12 at 17:21

Sure, you can sell GPL software whose copyright is held in full or in part by someone else. Doing so is just like distributing it for free, and subject to exactly the same limitations. It's just that the group you're distributing to is "people who pay me $10 first."

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.