Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Suppose someone writes some code, and publishes it as open source under the GPL. Later they decide to close source their application and put it for sale. Is that in violation of the GPL? All code in the closed source app was written by the said author. Since he "owns" the code, I would think he can choose to re-license it however he wishes. Is that right?

share|improve this question

migrated from stackoverflow.com Aug 5 '11 at 2:11

This question came from our site for professional and enthusiast programmers.

marked as duplicate by gnat, Dan Pichelman, MichaelT, Bart van Ingen Schenau, Kilian Foth Feb 9 at 12:06

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
Did you check the FAQ? –  Mateen Ulhaq Aug 4 '11 at 23:24
1  
Closest FAQ I found was this, which seems to support the answers: gnu.org/licenses/gpl-faq.html#ReleaseUnderGPLAndNF –  mikew Aug 5 '11 at 1:17
    
Lol at the "To release a non-free program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times." :) –  Mateen Ulhaq Aug 5 '11 at 2:07
    
Example application available under both GPL and proprietary licenses: Ghostscript. Skip to History. –  Rick Sladkey Aug 5 '11 at 3:50
1  
You've got a bunch of good answers already, but the one thing I'll add is that of course, if the author decides to go closed source, the old code is still out there under the GPL, but if he continues to progress the closed source version, the old GPL version will soon start to look quite outdated and lame compared to the "for sale" version. –  Carson63000 Aug 5 '11 at 4:15

4 Answers 4

Yes, if they wrote it, they own the copyright (unless they have assigned that copyright to someone else, of course, like their employer). The GPL confers extra rights to non-copyright-holders over and above what copyright law gives them.

The copyright owner is never technically in violation of the GPL since they have all the rights they need under copyright law.

What they can't do is to pull back the code already released under GPL, that would be covered by estoppel (basically: if someone does something based on a promise you made, you can't later withdraw that promise - it's an equitable thing).

But they can re-licence their code as much as they want, selling it commercially or even not releasing later versions at all.


Keep in mind I am not a lawyer (though I deal with them quite a bit), I am certainly not your lawyer, and this advice is worth every cent you paid for it (which is zero).

share|improve this answer
2  
Estoppel: en.wikipedia.org/wiki/Estoppel –  Nicholas Carey Aug 4 '11 at 23:33
    
How could someone relicense his code commercially if he has previously already put it in the free domain? Aren't licenses either you choose A or B, but not both? (The OP is talking about his old code that has already been GPL-ed, not new ones). –  Pacerier Feb 6 at 13:59
1  
@Pacerier The copyright holders are the only parties not bound to continue redistribution by the GPL. This re-licensing happens occasionally, and the copyright holders generally change the version number or the package name to clarify exactly where the licensing change occurred in the timeline. –  Ross Patterson Feb 6 at 15:17
    
@RossPatterson, Hmm, I think there's some real confusion here. So if we release a code as GPL, and we decided we don't want to GPL it anymore, Is the only way we could do to create a new version based on the old one? Are we actually allowed to un-GPL the old code that has already been GPL-ed? –  Pacerier Feb 8 at 15:42

If you own the code and you have GPL'd it, you can't take it back. The best you can do is grant yourself (or someone else) the right to develop the code further under a closed model.

There was a semi-famous case of a few years back, with some software I actually use called pchdtvr. The guy who wrote it was a pretty good guy, but he tried to revoke the GPL from his code and basically got flamed right off the net. (Angry people basically forced him to shut down his domain, and he disappeared.) You could search for the package or search for his email, inkling@nop.org.

So, closing your code and putting it up for sale is no problem. Trying to stop people from giving away your GPL'd code? Big problem.

share|improve this answer
2  
"Flamed right off the net" doesn't sound like a legal procedure –  raptortech97 Feb 6 at 14:44

You could try reading the GPL. Version 3 is at http://www.gnu.org/copyleft/gpl.html

The short answer is "NO". The grant of license is in perpetuity. The GPLv3 makes this explicit; earlier versions did not. Legal issues aside, once you've published your source code on the InterTubes with a license saying "go to town", there's the practical issue: how are you going take it back?

2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

Note: I'm no lawyer. I don't even play one on TV. This advice is worth every penny you paid for it. You need to consult an attorney who knows something about copyright law if the answer to this question is actually important.

share|improve this answer
5  
He can't UN-GPL the released code BUT the author does still own the copyright and can additionally use and license the code however he wants. –  Martin Beckett Aug 5 '11 at 3:51
1  
"The GPL" is both a contract and an offer for such a contract. The "irrevocable" applies to the contract, not the offer. There are probably laws in your jurisdiction that deal with the withdrawal of offers. –  MSalters Aug 5 '11 at 7:45
3  
-1? really...for quoting the GPL's own terms? –  Nicholas Carey Aug 5 '11 at 17:21
2  
No, he can't withdraw the offer either. If he could withdraw the offer, that would prevent any further distribution of the code by new recipients which would defeat the entire purpose of the GPL. GPL section 6 makes this explicit. "Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein." –  David Schwartz Aug 21 '11 at 7:01
    
This probably got downvotes because it fails to separate the two issues of 1) attempting to revoke the GPL and 2) offering a new proprietary version alongside a GPL-licensed version. The first case is not possible (as you correctly point out) but the second is fully possible, and your blanket "NO" makes it sound as though it is impossible. Your answer seems indisputably correct insofar as it addresses the question, but it doesn't fully address the question (and tacitly implies an incorrect conclusion for the portion left unaddressed). –  apsillers Feb 6 at 21:09

Yes. The author can change their licensing terms at any time for any reason.

What happens to previous revisions of the code that were already distributed to others under the GPL is more of a gray area, however. The author can indicate that they no longer want their previous versions distributed, but they cannot legally require others to comply with this request. And in practical terms, once something is out there on the Internet, there's no reigning it back in regardless.

share|improve this answer
1  
There's nothing gray about previously distributed code. @NicolasCarey has the correct answer. –  Ross Patterson Feb 6 at 15:14
    
All the answers here basically say the same thing, but if anyone has the correct answer it's @paxdiablo. Regardless of what the GPL says or does not say, pulling back code that has been released under any open-source license is legally questionable and practically impossible. Even if the license explicitly reserves the right to do so. Once the code is out there, it's out there. That's a gray area, if you ask me. –  aroth Feb 7 at 1:58
    
Yeah, I upvoted paxdiablo too. –  Ross Patterson Feb 7 at 15:30