4

Let's say I wanted to close my "GPL v 2.0 (or similar)" licensed project, to which I'm the only contributor, and make it closed source.

  • Do I still need to make the existing "GPL v 2.0 (or similar)" licensed code available after closing the project or can I refuse giving out the source code for old revisions that was previously "GPL v 2.0 (or similar)" licensed?

  • Can I theoretically keep the the code "GPL v 2.0 (or similar)" licensed even after removing the public source code or do I have to distribute the source code if I'm using a "GPL v 2.0 (or similar)" license?

  • are you asking from perspective of one who currently maintains said project? because I can hardly imagine how it would be possible to "close" it against maintainer will – gnat Jul 4 '14 at 11:20
  • 1
    I am not sure you can close a GPLv2 project. Someone could have downloaded it, improved it, and distribute his improved version as GPLv2. – Basile Starynkevitch Jul 4 '14 at 11:21
  • 2
    Have you accepted contributions from anyone else to the project? If so, did they give you ownership of their contributions? You can only decide on future licensing of code you yourself own. – Martijn Pieters Jul 4 '14 at 11:26
  • you can release the same project under different licenses (for example a free personal use and a paid commercial) that inlcudes a open source licence and a closed source license – ratchet freak Jul 4 '14 at 11:28
  • 2
    More detail on why you can't branch a closed source project from gpl code – Nathan Cooper Jul 4 '14 at 12:24
14

There are two cases in which it is possible to effectively change the copyright license on existing code.

  1. The existing copyright license gives you the right to change the license or to sub-license the code. The GPL licenses do not fall in this category of licenses.

  2. You are one of the copyright holders on the code and all copyright holders explicitly agree to the license change. If you ever accepted contributions from others without an explicit re-assignment of the copyright, then you the copyright on those contributions belongs to the person that wrote the contribution and you are bound by the license terms that were in effect when the contribution was made.
    If you want to change the license, you must get permission from all contributers. If any one of them refuses permission, then you must either remove their contributions entirely or forget about the license change.

In both cases, the license change only applies to future versions.

If you don't fall in any of the two categories above, then you can not change the license.


There is one additional possibility to keep your code secret:
Copyright licenses govern what others can do with code you own. They are only relevant when you distribute the code (either in binary or source code form). If you don't distribute your own code, you don't need to bother to think about copyright licenses and if you use code owned by others but you don't redistribute it, then you only need to pay attention to the right to modify or make derived works. In all open-source licenses, any requirements on providing the source code is tied to distribution of your changes and don't apply if you don't distribute.

The key here thus is distribution of the program/library. Different licenses have different notions of what constitutes distribution, ranging from giving out copies to allowing remote access to the program.

But in all cases, if an organization makes tools for internal use, then allowing employees to use those tools is not considered distribution under copyright law. This means that you don't need to release the code for internal tools, even if those tools make use of GPL-licensed code.

| improve this answer | |
  • 1
    I'd restrict the last paragraph to GPL, not open source in general. The conditions vary between licenses, for example AGPL requires you to provide the source code, even if you run it as a publicly accessible server without distribution the binary code. – CodesInChaos Jul 4 '14 at 16:43
  • 1
    The AGPL is the odd one out here, because it (re-)defines distribution to include accessing the program remotely. – Bart van Ingen Schenau Jul 4 '14 at 16:49
  • Thank you for a valuable answer. Could you just clarify if I still need to distribute the source code for old versions of the project, even if I'm legally able to change the license to "closed source". – Erik R. Yverling Jul 4 '14 at 17:41
  • @ErikR.Yverling: You are not required to remain supporting/providing old versions, but you also can't forbid others from keeping the old versions available. – Bart van Ingen Schenau Jul 4 '14 at 18:51
  • @BartvanIngenSchenau Ah great. Finally should I interpret "...As long as you don't distribute the program/library, the requirements of an open-source license that you must provide the source code don't apply" as I'm in fact able to license code that are not publicly available as "GPL v 2.0 (or similar)" as long as I don't distribute any executables or similar? What if I closed down my previously "GPL v 2.0 (or similar)" licensed project and removed all distributions, could I still keep the license even if it's not publicly available anymore? – Erik R. Yverling Jul 4 '14 at 19:46
5

There is a good, long, accepted answer already. This is a short answer.

Yes, as the sole copyright owner you can change the licence for all future distributions. You cannot change history.

Yes, if you have ever distributed binaries without source code under GPL then the obligation to provide source code of that version to those who relied on it is permanent. It never goes away.

What happens in the future depends absolutely on what licence you choose for any future distributions and (for you alone) is not affected by what you did in the past.

| improve this answer | |
1

This is really a legal question and I am not a lawyer. But from what I understand about contracts and software licenses in general:

(1) If you release software under an open-source license, then unless that license says that you have the right to revoke it -- in which case I don't think it would qualify as "open source" by definition -- then you cannot revoke the old license. You could certainly decide to stop providing new versions under open source. So you could take the open source product, use it as the basis for a new project, and then continue development of the new project as copyrighted software. But the portions that were released under open source would still be open source.

As I say, I'm not a lawyer, but I say this based on common understanding of contracts. If I sell you my used car for $2000, I can't come back a year later and say that I've changed my mind and I want another $1000 for it. We made a deal, a contract, and once it's agreed to I can't unilaterally change the terms. But just because I sold you a used car for $2000 doesn't mean that I am obligated to charge exactly $2000 for every future used car I might want to sell.

(2) Just because you released an open source project does not mean that you are obligated to continue to make the source available forever. There are lots of projects that have been started but then discontinued because the project became obsolete, the developer lost interest, the web site where it was being distributed went out of business, etc. Anyone who already has a copy could re-distribute it himself. Just like, if I give $20 to the Salvation Army today, I am under no obligation to give to them again next year. But I can't take back the money I gave them last year.

| improve this answer | |
0

Only the copyright holder or copyright holder can ever sue you for license violations. So if all the copyright holders agree, they can do whatever they want with their license, and nobody can do anything about it. If someone else is the copyright holder, you have to agree with their license.

Now if I received a copy of your software with for example GPL license, any license changes that you make don't retroactively change my license. I still have the right to use my copy of the software according to the license. I may have problems: If I don't have the source code, and you refuse to give it to me, then I cannot distribute the software, because I'm incapable of fulfilling the terms of the GPL license.

If someone received a copy of your software with GPL license and source code, and they are willing to share, then you can in practice not turn this into closed source, other than by convincing everyone in possession of the source code to delete their code.

| improve this answer | |

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