4 ms·
From a legal standpoint, what is required to "un-open source" a codebase? Would all of the contributors need to agree?
by thecolorblue 10y ago
From a legal standpoint, what is required to "un-open source" a codebase? Would all of the contributors need to agree?
- slimsag 10y agoIt depends. If you give someone code which has a LICENSE file containing the BSD 3-clause license -- you've given them a license to use that code under the specified terms in the license, i.e. without charge etc. In order to revoke access to the code from that user, you would have to get them to legally agree (i.e. sign something) that says they agree to having their license of that code revoked / that they will not use the code. That is just for that one user -- at that one revision of code. If you wanted it such that _nobody_ could use your old codebase -- you'd have to get anyone who is using that code under said license to legally agree not to use it. For new revisions of code, assuming a non-copyleft license like BSD, MIT, etc., you could simply state "we were the original owners of the code, therefore we no longer license the code under the open source license" and there is no need for you to distribute that code ever again. In fact, this is why people can legally sell open-source software made by someone else -- even if that is ethically wrong to do. IANAL, and some of the above is light on the details, so take it with a grain of salt / try not to be too nit-picky at me =)
- new299 10y agoFor reference, the code in discussion appears to have been released under the GNU Affero General Public License.
- Hydraulix989 10y ago> "In fact, this is why people can legally sell open-source software made by someone else -- even if that is ethically wrong to do." Why/how is it ethically wrong? If the license permits commercial sale (GPL, for example), then as long as the seller abides by the license (by making available a free download to the source code in the case of GPL, for example), then it is ethically valid because they aren't violating the license. If you develop open source software with a license that allows commercial use, you can't possibly get angry at users who fully abide by the license and commercialize the software, let alone call them "unethical." Either you don't distribute your software with a license that explicitly allows commercial use, or you can't possibly call a commercial user "unethical." That's the whole point of a license -- to definitively spell out in an unambiguous way the legal terms of usage. With GPL, it's not even close to being a "loophole," that license explicitly allows commercial use.
- jillav 10y agoMy guess (for what it's worth) is that getting the code off github is not the same as "un-open source" it. Open source, as far as the GPL license is concerned means that anyone that has a copy of the original codebase is allowed to give away copies of this code. I think it's still the case for the part of the code that was on github under the GPL. What do you think? edit : slimsag was quicker
- iurisilvio 10y agoAFAIK, changes to this GPL codebase must be GPL. Licenses are always complicated, but when I contribute to a project GPL licensed, I expect any changes to be GPL too. I'm not a lawyer, but studied licenses to understand which projects I can use.
- asteadman 10y agoThis would normally be the case, but for small projects with a small number of contributors, they are always free to dual-license their own code, even "retro-actively". Anything that was already released would still be available under GPL, but new edits could in theory be licensed under whatever terms they want, independent of how "derivative" it is. For large open source projects without a copyright assignment clause, this is essentially impossible, but for small projects it's relatively easy, assuming you can track down all the contributors. IANAL.
- akerl_ 10y agoThe author of the code can change the license for future releases. So if I write a GPL'd project and distribute it, I can decide at any point that I want the project to be BSD or closed source or anything else instead. Anybody with a copy of the old code can continue adhering to the GPL for those old versions, but new code follows the new license. Any obligations I have under the old license still stand (for example, if I shipped precompiled binaries of my old GPL'd version, I still need to make the source available at that version for people who have the binary. It gets more complex if, as the other commenter here mentioned, there are multiple contributors. If I merged patches into my project from 10 people, I need their permission to change the license of their code. So either I need to ask them, or I need to get them to assign copyright for the work to me so I can decide for them (this is part of the reason why lots of larger orgs / projects ask contributors to sign a contributor agreement that assigns copyright to the org). For an example of how this looks in practice: OSX still ships an ancient version of bash, which was released under the GPLv2, because newer versions are released under GPLv3 and they're concerned about including GPLv3'd things due to the additional terms in the license. They're free to continue using the old version of the code under GPLv2, but can't apply the old license to the new code.
- x1798DE 10y agoI think it's generally not possible to un-open-source something. Once you release it with a properly open source license, that version is released with that license. Otherwise a single person could release something open source, wait for it to become popular and then revoke the open source licensure and cause all kinds of headaches. That said, if you take down the source code and no one has a mirror, barring any other legal obligations (like those created by the GPL), it's not like you are compelled to provide your source, even if it's been released under an open license.
- tyingq 10y ago>Otherwise a single person could release something open source, wait for it to become popular and then revoke the open source licensure and cause all kinds of headaches. Well, you can do that, assuming you're the original copyright holder for all of the original source. It doesn't change the license for the code you already released...but it would for any new features, bug fixes, etc. That appears to be exactly what's happening here.
- thatcat 10y agoYea, that works for BSD. GPL would prevent this since it requires derivative projects to use the same license.
- tyingq 10y agoWorks for GPL so long as you are the original copyright holder for all the code. In this case, the source is AGPL, and they are doing just that...moving it to closed source.