5 ms·
I recently wrote a piece of software and wanted to make it open source. GitHub's helpful dropdown of license choices gave me more pause than I expected as I str
by Townley 8y ago
I recently wrote a piece of software and wanted to make it open source. GitHub's helpful dropdown of license choices gave me more pause than I expected as I struggled to choose between MIT and GPL.
"I definitely want someone to be able to modify, fork, and publish better versions of this code. Do I also want them to be able to commercially license their derivatives?"
On one hand, this code was contributed to the public commons and it'd be sleazy for Amazon to come along, improve it, and license it. It seems unfair, and the spectre of giving free labor to innovation-killing, rich entities discourages me from contributing. A GPL license takes care of that concern, and provides a much-needed codification of fairness.
On the other hand, giving people an MIT license and saying "You can do whatever you want! Go nuts! Innovate!" is a boon to creativity. If some startup took my weekend project and made $1 billion off of it, good for them! That's the innovation that open-source is meant to encourage!
When the article mentioned that coders are confused, it hit the nail on the head. We're confused individually and collectively; emotionally and conceptually; theoretically and concretely.
We're looking for a simple answer to the question "Which option do I select from the GitHub license dropdown so I can get back to making value" when there's no simple answer to be found.
- StavrosK 8y agoIsn't a Creative-Commons-style license good for that? You could choose attribution-sharealike-noncommercial or something like that and be done with it.
- homarp 8y agoCreative-Commons-style license is usually not recommended for code https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software https://creativecommons.org/faq/#can-i-apply-a-creative-comm... "We recommend against using Creative Commons licenses for software. Instead, we strongly encourage you to use one of the very good software licenses which are already available."
- StavrosK 8y agoThat's Creative Commons itself, by "Creative-Commons-style" I meant "something like, but not exactly CC itself".
- RexM 8y ago> On the other hand, giving people an MIT license and saying "You can do whatever you want! Go nuts! Innovate!" is a boon to creativity. If some startup took my weekend project and made $1 billion off of it, good for them! That's the innovation that open-source is meant to encourage! How does attribution-sharealike-noncommercial fit this case? It sounds like he doesn't mind if some people (small startups) make money using his project, he just doesn't want anyone (large companies) to be able to.
- zubspace 8y agoThere are 2 problems with this license. 1) Sometimes it is hard to tell, if an entity is regarded to be commercial or not. Is a hacker, who receives ad-money and donations a commercial entity? What about a university? It's unclear and therefore many won't touch your code. 2) The license may not be fully compatible with, MIT, BSD, Apache, etc license which also hinders integration. Anyway, I would also welcome a license opening up your code for hackers and non-profits alike... Maybe someone knows?
- Townley 8y agoI'm unfortunately even more conflicted than that. I can't answer the question "If someone wants to take my crummy code and commercialize it, am I okay with that?" If it's a kid in his basement with an amazing idea, absolutely. I'll watch them ring the closing bell at the NASDAQ from my couch and feel nothing but pride. If it's Google or Amazon... maybe still yes, but less so? It'd depend on my subjective perception of the net benefits to societal innovation, which is 1) more wishy-washy-subjective than I'm comfortable with, and 2) seems like it would make for a really bad license: "MIT-Unless-I-Dont-Like-You"
- Retra 8y agoYou should probably just retain those rights then and encourage people to contact you for permission to use it commercially under a more specific license. No harm in mentioning that you'll probably allow people to use your work if they aren't in a position to pay for it or working for someone you don't like.
- coldpie 8y agoI would agree, but then it makes accepting outside contributions much trickier.
- zanny 8y ago> is a boon to creativity. Its a boon for one generation of creatives, but then the buck stops there and you are right back to proprietary everything no creativity left for the masses such as on mobile platforms. Copyleft guarantees creativity for all who touch the software, not just the first developer to commercialize it. > good for them! Made this comment[1] that Steve even replied to a week ago, and imagine that whole discussion thread inspired this blog post, but its not really just "good for them". > looking for a simple answer to the question And have spent going on forty years at it, because there is no simple answer to escape the externalities of writing code. Either nobody uses your code and it doesn't matter, or somebody uses your code and it does matter. What you write, how you license it, how you distribute and produce it, will all matter if it gets used. The fallacy is that the permissive community wants to see it used at any cost. To make the code matter, even if it has a negative impact - on the developer ecosystem, on the ecosystem it works in, or on society at large. But at the end of the day, FAANG is entirely built on top of both free and open source software, they represent combined the greatest concentration of wealth in the history of the free world, and you can't stay naive enough to think the code you give away is simply "so people will use it" as the be all and end all forever. [1] https://news.ycombinator.com/item?id=19497949 https://news.ycombinator.com/item?id=19497949
- steveklabnik 8y ago> imagine that whole discussion thread inspired this blog post It's part of it! The original genesis of these ideas was a comment I made on HN back in 2017. It took me a while to sort out some of my thinking here, and that post was me trying to set up this one, and that conversation certainly played a part.
- derekp7 8y agoMy solution is to start of with GPLv3, then I can always relax it later if needed. If your project takes a lot of external contributions, you can always require that the contributions be licensed under a less restrictive license in case you need to relicense later. The other thing is you can grant exceptions to people if they have an unanticipated need (i.e., mixing your code with other free software code with incompatible licenses).
- kakwa_ 8y agoFor that solution to work, you need to be extra cautious about ownership. If you are the sole contributor, no issue there. But if you start receiving contributions from outside (Pull Requests on Github for example), then part of the code is owned by the external contributor. It means that if you want to change the license, either you made the external contributors sign some (digital) papers stating they give away ownership of their contributions, or you chase down each individual contributors and manage to make them agree to the license change, or you remove any code from external contributors. The first is doable but is a bit of of barrier to external contributions, the middle one can work on a small project with few external contributors, but is a bit risky (the external contributor can say no, or more likely be difficult to contact), the later is somewhat impractical. Changing the license of a project is not impossible, but it can be somewhat of a nightmare, specially if there is a lot of external contributors.
- davidjnelson 8y agoI wish license selection was mandatory. A massive amount of projects have no license at all.