Context:
Permissive licenses (commonly referred to as “cuck licenses”) like the MIT license allow others to modify your software and release it under an unfree license. Copyleft licenses (like the Gnu General Public License) mandate that all derivative works remain free.
Andrew Tanenbaum developed MINIX, a modular operating system kernel. Intel went ahead and used it to build Management Engine, arguably one of the most widespread and invasive pieces of malware in the world, without even as much as telling him. There’s nothing Tanenbaum could do, since the MIT license allows this.
Erik Andersen is one of the developers of Busybox, a minimal implementation of that’s suited for embedded systems. Many companies tried to steal his code and distribute it with their unfree products, but since it’s protected under the GPL, Busybox developers were able to sue them and gain some money in the process.
Interestingly enough, Tanenbaum doesn’t seem to mind what intel did. But there are some examples out there of people regretting releasing their work under a permissive license.
I’m an idiot making a thing, and I need to pick a license. Where’s a good place to talk to people more knowledgeable than myself on the subject?
EDIT: so my thing isn’t software, i probably should have mentioned that. I am making a ruleset and setting for something similar to but not exactly a tabletop rpg. The ORC license sounds promising, but the legalese makes my brain gray out. ChatGPT tells me to use a version of the Creative Commons license, but ChatGPT isn’t exactly reliable.
https://choosealicense.com/
Very simple guide with in depth examples if you want further clarification.
Not an expert by any means, but it depends.
Are you okay with people potentially making a closed-source fork of your code? If yes, then choose a permissive license like MIT, BSD, or Apache. If you do not want people to make closed-source versions of your code, and want all forks to remain open-source, then go with GPL.
Remember that choosing the GPL means other people, especially businesses, will be less likely to consider your project because that would mean they would have to make their versions open-source, which some people may not want to do.
EDIT: As always, this is not legal advice and I am not a lawyer.
Just a small note that the businesses only have to open source their version if they release it. If they just use it internally then they don’t have to distribute the source code. So it depends on the use case.
I’ll throw my opinions in here.
If you’re publishing a standard or a reference application, a permissive license makes sense. What better way to guarantee compatibility than being able to use the reference code in your product. This is what happened with the TCP/IP stack, and it was used in its original form in Windows for years.
If you’re making something that you want to build a community around, something more akin to the GPL may be more aligned with your goals. The nice part is, you can include MIT licensed projects as part of your GPL project. This means there is nothing stopping you from building your standard with a MIT license while building your community-driven application using GPL, maximizing the reach of your standard while reducing the risk to your community.
Note that either option opens you to EEE (Embrace, Extend, Extinguish), the GPL option just takes an extra step (clean room implementation of a published standard).
My personal philosophy:
That’s usually not what someone would want to do. The default if you don’t provide a license is essentially “all rights reserved”, and you’re not granting anyone else permission to use it in any way. Everyone that wants to use it has to get explicit permission.
If you really want “no license” then you probably actually want to release it as public domain.
For truly small random pieces of code I’m putting online, yes, that is what I generally want. (Also, that’s sort of presumptuous to believe you know what I want better than myself.) I’m not going to hunt down people who are infringing on projects like this: https://github.com/JacksonBailey/julian
I made that because I was bored and thought I could easily solve a problem my wife described having at work. If someone copies and pastes it into their own project do I care? I mean, sort of? Not really. It’s just too small to worry about. Specifically leaving it unlicensed gives me.the freedom and flexibility to license it as I choose in the future and also pursue people using it if they refused to stop. (Although this example is particularly trivial. I probably wouldn’t do that. But that’s my whole point, I’m only choosing to do this with trivial code.) Applying a license doesn’t give me that flexibility though.
(Apologies for typos, I just woke.uo.and don’t have my glasses on either.)
It’s more that people won’t use the code at all if there’s no license attached. For someone that’s looking for a snippet of code to reuse, it’s much easier to instead find a permissively licensed piece of code that performs a similar function, instead of contacting the author of the unlicensed code and trying to figure out what to do.
Sorry - I meant to address it to readers of your comment rather than you. I edited the comment to make it clearer.
I think you’re putting a lot of faith in people when you say that. When’s the last time you properly obeyed a license when copyijg and pasting from Stack Overflow? When’s the last time you think the average dev did?
Also, no hard feelings about the presumptuous thing. Idk why I got defensive.
And as an aside, I think I’ve heard that in some jurisdictions there is no concept of public domain and in others you cannot willfully put things into it. So licenses like CC0 or the awfully named Unlicense are better alternatives. (Bad name because Unlicense and Unlicensed are so close in spelling but wildly different.)
Wish someone would reply to this guy. I am also, a fellow idiot making a thing.
Some did, check the replies.
Rule of thumb: if your full license text is longer than your actual source code, you’ve probably picked the wrong license.
That is actually a really bad rule, though you probably are only joking.
There are many examples of short, but very valuable code. Just think about anything math or physics related.
A totally new or even just a very efficient implementation of an already existing algorithm can be gigantic if others need to build upon it.
And many licenses are verbose not because they are complicated in intent, but merely because they need extensive legalese prose to cover against many possible avenues of attack.
No, I wasn’t.
A rule of thumb is not a strict law. I never disputed that there are certain edge cases. What has to be considered but is not on the radar of most people: Threshold of originality. A “valuable” 3 LOC bash script is likely not being able to be copyrighted in the first place. In cases where the work is tedious but not creative, the work may also not be able to be copyrighted (depending on jurisdiction). See https://en.wikipedia.org/wiki/Sweat_of_the_brow whether a certain jurisdiction protects tedious work or not.
You sound like someone i know xD
But I think gpl isn’t limited to software, or is it ? Anyhow, you have different varaites of Create Commons, depending on much limits you put, from 0(nothing) to 4(no commercial use, no remix etc.) they have license chooser on website here