5 ms·
I like Linus's generalization of (in my words): - If you like the idea of sharing code and want people to share code back. Use GPL - If you like the idea of s
by xahrepap 6y ago
I like Linus's generalization of (in my words):
- If you like the idea of sharing code and want people to share code back. Use GPL
- If you like the idea of sharing code, and merely want credit for it. Use BSD.
Your point about patent is an import part of his generalization that is not addressed.
GPLv3 solves the first bucket WRT patents. Is there a license that falls under Linus's SECOND bucket, that solves the patent issue?
EDIT: formatting and clarifying words.
- gnomewascool 6y ago> Is there a license that falls under Linus's SECOND bucket, that solves the patent issue? Apache 2.0 License.
- xahrepap 6y agoGood to know. Thanks!
- ksec 6y agoAnd BSD + Patents
- Benjamin_Dobell 6y agoI think this is a common misconception. The Apache 2.0 license isn't all that similar to simpler licenses BSD/MIT/X11. Apache 2.0 has some clauses which (most people tend to ignore and which) make it somewhat incompatible with modern open-source fork and pull request workflows. In particular 4.b) > You must cause any modified files to carry prominent notices stating that You changed the files; For the most part, people just throw their name in the file, in an attempt to "meet" this requirement without massacring the file header/notice. However, if the Apache 2 license is taken at face value, when you fork and modify a file, you have to mark it as such. Then when you submit back, the project (in adherence with the Apache 2.0 license) has to retain this notice. Technically the project may even then need to add their own notice to indicate they modified the file since you did. Clearly, that's not tenable, so most (small) projects just offer leeway. Larger projects instead have contributor agreements (AOSP and alike).
- est31 6y agoYeah it's a bit troubling that such weird clauses exist in the Apache license, and that the Apache license has become this popular lately. The main motivator is that everyone else is doing it I think, and the patent license. Large Apache licensed projects without contributor agreements exist (LLVM for example).
- frant-hartm 6y agoI would argue that git blame is prominent enough. And as long as you don't distribute sources in any other way than a git repo you are fine.
- Benjamin_Dobell 6y agoAssuming this is true (hopefully it never comes down to it, but I'll leave that for the courts), then the simple act of hosting on Github, with its download source functionality, would make you in violation.
- atq2119 6y agoYou can argue all you want, ultimately it's for courts to decide, and in the meantime the Apache 2 license creates a ton of legal uncertainty for no good reason. For example, GPL has language requiring you to make clear that you changed the software, but leaves open how you do it, and doesn't require you to mark individual files.
- smaddox 6y agoI guess I assumed you only need to be clear about the modifications if you are not also releasing them as Apache 2.0. is that not the case? If not, is there any other similar standard license with a patent clause that I could use?
- xxpor 6y agoThe "default" license for Java libraries being Apache 2.0 shouldn't be overlooked as a reason for the success of Java in the corporate world IMO. It's a perfect license to make corp lawyers comfortable.
- RcouF1uZ4gsC 6y agoI believe Apache solves the second bucket with respect to patents.
- Ajedi32 6y agoI actually really like the idea of a license that forces changes to the licensed code to be made available to be merged back upstream, at least in theory. The issue I have with the GPL is that it doesn't, in my opinion, do a good enough job of distinguishing between "changes to the licensed code" and "changes to unrelated code which happens to be integrated with the licensed code". I would prefer not to impose restrictions on the latter, because in my mind that effectively restricts what people are allowed to DO with my code by making it harder for them to use it with code that's available under a different license. For example, if I were writing some kind of calendar application which contained a date parsing module within it and someone wanted to copy some code out of that date parsing module and paste it into their own application, I'd be perfectly fine with that. If they later make improvements to that code they copied, I'd prefer it if they'd contribute those changes back, but I absolutely don't want to try to force them to make their entire application open-source, or if it's already open source, to force them to re-license it under my license. I recognize that the line between "unrelated code" and "improvements to my code" can get really blurry, which is why right now I prefer to err on the side of freedom by using permissive licenses like the MIT, but I wouldn't mind using a copyleft license that took greater pains to ensure it isn't "viral" like the GPL.
- smaddox 6y agoIf you haven't already, you might take a look at the LGPL.
- deleted 6y ago[deleted]
- matheusmoreira 6y agoLinus is also against enforcing the GPLv2 against violators because it alienates companies and contributors. Their preferred strategy apparently consists of using two properties of the Linux kernel as leverage: the massive scale of its development and the instability of its internal interfaces. Linux kernel hackers get about 20 patches every hour and that figure comes from a video I watched years ago. Those patches improve things all over the place and nobody cares about code that isn't in the kernel tree. As a result, out-of-tree code quickly becomes out of date and the companies must pay the constant maintenance costs or be left behind.