7 ms·
"When I release an open-source program, I want to guarantee something very simple. The program and its source code can be distributed and used by anyone for any
by nbpoole 15y ago
"When I release an open-source program, I want to guarantee something very simple. The program and its source code can be distributed and used by anyone for any purpose, and all modifications to the program must be released as open-source under these same terms. I want to guarantee that the program and any improvements made on it are available to anyone, proprietary or not, forever."
Those terms are contradictory.
On the one hand, you want to guarantee "The program and its source code can be distributed and used by anyone for any purpose." That seems to mesh with the BSD license in a straightforward way: you want people to be free to use the code in proprietary or open source applications. On the other hand, you also "want to guarantee that the program and any improvements made on it are available to anyone, proprietary or not, forever." That requirement is much closer to the GPL (or even the AGPL): if someone distributes a modified version of the software, you want the source of those modifications to be released so other people can modify their application in the same way. Unfortunately, that requirement is also completely at odds with the BSD license you champion in your blog post; under the BSD license, I'm free to modify your application and distribute a modified binary without ever releasing the source. There's no guarantee that modifications are ever made available to anyone.
A lot of the rest of the post appears to be hyperbolic anti-GPL rhetoric, not backed by any facts or examples. "A company has zero motivation to help improve GPL'd software because they can't benefit from their improvements" for instance. RedHat or Canonical serve as decent counter-examples.
There are many legitimate reasons to disagree with the GPL's philosophy: this is not one of them.
- blackhole 15y agoI don't know why you say I champion the BSD license, I only used it as an example. I have never used the BSD license, for the very reasons you just stated - it is at odds with what I want the program's code to be used for. These terms are not contradictory. Anyone can use and distribute the code for whatever purpose, and any changes made to the code must be made available to the open source community, just like the GPL, except now only that part of the program must be released as source code, and the unrelated portions of the program are free to remain proprietary. This isn't incompatible, and it isn't the GPL.
- wwrap 15y agoThere's this magical license you may not have heard of that does just that called the LGPL. The LGPL's entire existence is about compromise. Why are you intentionally ignoring it?
- blackhole 15y agoI would appreciate it if you had actually read my blog post where I spend a paragraph explaining why the LGPL doesn't solve this problem :)
- corysama 15y agoLGPL is a nice compromise. However, it's my understanding that LGPL requires that the user must be able to substitute alternative implementations (swap in custom DLLs). That simply isn't an option for me (console games, mobile apps). There have been many situations where I'd be happy to use OS code, fix bugs and publish my changes. But, I'm not willing or able to OS my proprietary code. LGPL won't let me do that because RMS's vision is not compatible with my reality.