Comment Re:hmm (Score 1) 394
Yes, you can go "closed source" after you've licensed something under the GPL if you are the sole author, or can get the written permission to do so from all of the authors and contributors. As the author (or authors) of a work, you are free to release it under multiple licenses, or change your license in subsequent versions.
What you can't do is "take back" versions that have already been released under the GPL. You can't stop people who are using the GPL'ed version from continuing to use and update that code - even if you release the code under a different license.
As a practical example, say I write something called InFooSec 0.1 and release it under the GPL. As it turns out, nobody is interested in contributing, so I get only a handful of changes from the Free Software community - most of which I decline to implement in the codebase. I sell some support and consulting on InFooSec, and generally manage to scrape by, making improvements and adding features with an eye towards a vastly improved 0.2 release.
For whatever reason (perhaps I have a competitor who is a really gifted salesperson and sells InFooSec pre-installed on some hardware at a huge profit), I decide that InFooSec 0.2 will be closed source software. Now, InFooSec 0.2 is a derivative work of version 0.1, so I need some right to use InFooSec 0.1 ... and since 0.2 will be closed source, the GPL doesn't provide me with that right. However, as the author of InFooSec 0.1, I already own all of the rights to the code. I can do anything I wish to do with my own code - I don't need a license from the GPL to do it. So it's perfectly legal for me to release 0.2 under any license I choose.
If I'm not personally the author of all of 0.1 (or if I'm not personally the author of all of the improvements in 0.2), then I have to buy the rights or otherwise get a license from the original authors to use their portions in InFooSec 0.2. Any code that I can't get permission to use under my non-GPL license will have to be left out, or rewritten. For a small number of additional authors, or for non-critical features, this is probably quite practical.
SO I can release InFooSec 0.2 under my new, closed-source license. It has a bunch of nifty new features that should make it very competitive in the marketplace. My main competitor is still using the "old" version 0.1, and can continue to do so indefinitely under the GPL. Hopefully the new features in 0.2 will let me clobber them from a technical standpoint. Of course it's no guarantee - because 0.1 was GPL'ed, my competitor can hire a hot-shot programmer to improve InFooSec 0.1, thus forking the project.
You are probably right to say that Linux could never be released under a different license. The sheer number of authors involved makes this practically impossible. I can't imagine getting them all to agree on new license terms. Even managing to contact every single one of them could be problematic.
What you can't do is "take back" versions that have already been released under the GPL. You can't stop people who are using the GPL'ed version from continuing to use and update that code - even if you release the code under a different license.
As a practical example, say I write something called InFooSec 0.1 and release it under the GPL. As it turns out, nobody is interested in contributing, so I get only a handful of changes from the Free Software community - most of which I decline to implement in the codebase. I sell some support and consulting on InFooSec, and generally manage to scrape by, making improvements and adding features with an eye towards a vastly improved 0.2 release.
For whatever reason (perhaps I have a competitor who is a really gifted salesperson and sells InFooSec pre-installed on some hardware at a huge profit), I decide that InFooSec 0.2 will be closed source software. Now, InFooSec 0.2 is a derivative work of version 0.1, so I need some right to use InFooSec 0.1
If I'm not personally the author of all of 0.1 (or if I'm not personally the author of all of the improvements in 0.2), then I have to buy the rights or otherwise get a license from the original authors to use their portions in InFooSec 0.2. Any code that I can't get permission to use under my non-GPL license will have to be left out, or rewritten. For a small number of additional authors, or for non-critical features, this is probably quite practical.
SO I can release InFooSec 0.2 under my new, closed-source license. It has a bunch of nifty new features that should make it very competitive in the marketplace. My main competitor is still using the "old" version 0.1, and can continue to do so indefinitely under the GPL. Hopefully the new features in 0.2 will let me clobber them from a technical standpoint. Of course it's no guarantee - because 0.1 was GPL'ed, my competitor can hire a hot-shot programmer to improve InFooSec 0.1, thus forking the project.
You are probably right to say that Linux could never be released under a different license. The sheer number of authors involved makes this practically impossible. I can't imagine getting them all to agree on new license terms. Even managing to contact every single one of them could be problematic.