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.
People seem to think that those who choose permissive licences don’t know what they’re doing. Software can be a gift to the world with no strings attached. A company “taking” your code is never taking it away from you, you still have all the code you wrote. Some people want this. MIT is not an incomplete GPL, it has its own reasons.
For example, OpenBSD has as a project goal: “We want to make available source code that anyone can use for ANY PURPOSE, with no restrictions. We strive to make our software robust and secure, and encourage companies to use whichever pieces they want to.”
Indeed, I think it’s just two philosophies that don’t necessarily need to be at odds. Permissive licenses help speed the adoption of languages and libraries, which ultimately feeds into the slowly building momentum of the copyleft projects that use them.
People seem to think that those who choose permissive licences don’t know what they’re doing.
Most of them don’t. Lots of people say they use MIT because they want “no restrictions”, or call GPL terms “restrictive”. That’s an instant giveaway that they don’t understand what they’re talking about.
I don’t get the whole MIT vs GPL rivalry. They both have their uses. If you want to use GPL, go for it. And if you want something like MIT that works too.
Thankfully both exist because I think we definitely need both.
I don’t get people with cuckold fetishes, so here we are again.
Hey, asshole. Stop insulting cuckold. I can explain even that to a practical sense that isn’t literally evil.
Here we are again, in a big circle jerk over GPL. Is that like cucking for other licenses but without sex?
To use the above example, how is it cucky that a license allows something like OpenSSH to gain broad use?
The GPL also makes code available for ANY PURPOSE. It just requires people who modify the code to do the same, which is fair.
It’s fair, but different people have different ideas about what they want, and in the end it’s the authors right to decide what is fair for their code. An unconditional gift is also fair.
this one?
I didn’t know there was a mailman living in my computer screen.
I support MIT because I believe that’s how all software should be
Everyone builds upon each other
I mean, essentially, the GPL just obligates someone borrowing from you to keep doing things “how it should be”.
Yeah but I don’t really care if someone takes it to sell, it creates an endpoint branch but someone else will create a growing branch
One assumes even an endpoint will pass things upstream
My project is MIT because the upstream project is MIT, could I slap a GPL on there? How would I do that? What would that change?
Yes you can. You just change the license that lives with the code.
What it changes depends on the project, how it’s used, who uses it, etc. It’s really a social question of how people might interact with your project differently.
You can change the license to gpl, but keep in mind, in order to avoid future misunderstandings, that you can only do that because the upstream project uses the mit license. If the project used a more restrictive license, like the gpl, you’d need to stick to it or use a compatible one. You can’t, for example, take a upstream gpl project and use a mit license
From what I understand, I can’t replace the license, but I can add on top of it. So it will kinda have both the upstrean’s mit license and my gpl license. I remember looking this up a while back and it was a little confusing.
You can replace in the sense of making new releases on the gpl license. The mit license only requires to keep the original copyright notice. I changed the original comment to avoid this confusion, thanks for pointing that out.
Permissive licenses (commonly referred to as “cuck licenses”)
That’s where I stopped reading. 👎
Yeah I don’t think I’ve ever heard that term before in my life and I’ve been doing this for a while.
And I don’t think I ever wanna hear it again.
It’s a term Trump cultists use.
Memes are srs bidness.
I mean, it’s funny for a couple of reasons
I guess they take things seriously even in a linuxmemes community
The joke in the OP stops at the beginning of the joke explanation. If you just share your honest opinion like that in a shitposting community, you can’t expect everyone to “play along” with your “joke”.
I am a consultant who sometimes writes code to do certain useful things as part of larger systems (parts of which may be commercial or GPL) but my clients always try to impose terms in their contracts with me which say that anything I develop immediately becomes theirs, which limits my ability to use it in my next project. I can to some extent circumvent this if I find a way to publish the work, or some essential part of it, under an MIT license. I’m never going to make money off of my code directly; at best it’s middleware, and my competitors don’t use the same stack, so I’m not giving them any real advantage… I don’t see how I’m sabotaging myself in this situation; if anything the MIT license is a way of securing my freedom and it benefits my future customers as well since I don’t have to rebuild from scratch every time.
Can’t you just publish the work under the GPL license? I have no idea of programming, maybe this is a dumb question.
The problem is, that would limit my own option to make a version of the software and sell it under a more limited license in the future. Whomever I sell it to then has the right to go ahead and redistribute it, competing with me. Sure, my current, highly niche code already carries that risk, but the MIT license doesn’t stop me from releasing a modified version I may write that is more valuable as software, and then protecting that release with other licensing terms.
that would limit my own option to make a version of the software and sell it under a more limited license in the future
Nope. As the author you’re free to license your stuff however you want. You can use 10 different licenses for 10 clients if you want. You could write a custom version of your application and give a non-free license to a specific client if you want.
If someone is paying you to write code, they have some say in the contract about how it is licensed. You could be upfront about only doing GPL, and they could be upfront about saying no. But if you try to do it after the fact, that’s a violation of the contract.
Are we really going to start this pointless discussion again? They are two licenses with different use cases and different considerations. GPL has a lot more mental overhead to using it, MIT is hands off, both of these aren’t inherently invalid.
Also Tanenbaum in your own link mentions that Intel probably would have just written their own microkernel if need be.
I agree that permissive licenses have their place for smaller projects (I personally use CC0 from small programs). The FSF suggests Apache license for programs with less than 300 lines (approximately) in order to avoid the overhead that you mentioned. The LGPL was also created in cases where allowing your free code to be used in nonfree contexts can help advance free software as a movement (e.g. writing a free replacement for a proprietary codec). But I also believe that if you really want to support free software, you have a moral duty to release anything “big” that you make under a copyleft license.
I can’t afford a lawyer so I have no wishy washy ideals of taking a corporation to court for stealing my work ☺️
You can report GPL violations to license-violation@gnu.org
Permissive licenses have their place, a reason Godot engine for games has become appealing is MIT.
It doesn’t need to be MIT, just LGPL
I believe that still compels you to reveal your source code if you modify Godot itself. There’s a chance studios want to create a custom implementation for in-house use.
I believe that still compels you to reveal your source code if you modify Godot itself and release games with that, don’t quote me on that though.
Well, they modified game engine itself. Makes sense.
There’s a chance studios want to create a custom implementation for in-house use.
If game studios wanted to create custom implementation, they can do it instead of changing existing one.
Free software licenses have their place, a reason Blender has become appealing is GPL.
Wut, you create animation not software using Blender
AI tools have turned them all into MIT licenses
AI scrapers don’t obey any license. They strip copyright information from all the code they take.
Worse, public domain license, except you need to modify them a lot.
Since they’re being trained on GPL (and possibly leaked proprietary) codes, I have banned them from my codebases. I also banned AI art from asset usage on similar + ethical grounds.
When I think of Copyleft licenses, I just think of it as “Use this program as you see fit, but if you share/redistribute it, you may not add any restrictions to it.”
I don’t understand why there are communities that hate GPL so much. It is such a powerful license that practically guarantees that the program will be free for any who wants it, it just won’t allow someone to add restrictions to it.
I’ve heard arguments against the GPL like: “It’s too restrictive!” Only if you want your program to be muddled with any kind of program that doesn’t respect freedom. Saying the GPL is too restrictive to developers is like saying the 13th amendment of the US Constitution is too restrictive to slave owners.
There’s nothing Tanenbaum could do
Tanenbaum doesn’t seem to mind
Today OP was very dumb and showed his ignorance of the concept “I do whatever I fucking want.” Don’t be like OP.
people regretting releasing their work under a permissive license
They’re free to change the licence of future versions. OP also failed at understanding the concept of licences. He’s such a silly moron!
They’re free to change the licence of future versions.
Why do you act like I don’t know that? The issue here is that once you realize that the license you chose does not reflect your intentions, the damage has likely already been done. From the article I linked:
I didn’t have the foresight to see this coming. I didn’t think people so lacked in the spirit of open source. I wanted to promote community contributions, not to have them monetized by other people who don’t even provide the source to their modifications. I wanted to grow the tools as a community, not have closed source forks of them overtake my own open source versions.
They’re free to change the licence of future versions.
Only if they are still the only contributor. Once you have more contributors, it gets far tougher to change the licence.
How does it work with contributors? Does absolutely everyone have to consent to having the license changed? If one of the contributors doesn’t consent, can the maintainer “cut out” their contributions into a separate program and redistribute it as a plugin with the original license?
You can keep all the lines of those who didn’t accept to the change with the original license, it will end up as a bad mix, but it’s doable if the licenses are compatible
Does absolutely everyone have to consent to having the license changed?
Very minor changes (like fixing typos in comments) aren’t copyrightable, so these changes don’t require approval. When LibreOffice was relicensed, IIRC they they had some cutoff regarding lines of code.
Pretty sure that with a permissive license you can just change the license of future versions as you want. Ex. v1 MIT license with thousanda.of contributors, v2 Commercial license with contributions from anyone who agrees to contribute to the new version and license. (Anyone can fork v1 and start their own licensed project)
We are at risk
of losing many developers who would otherwise choose a license like the GPL. Fortunately, I’m glad to be surrounded by people, just like you, who care about licenses like GPL. By uploading this type of content and engaging with it, be show our commitment to it. I wish to suggest how we can deal with this threat.
We will lose developers who choose GPL if we use words that suggest GPL is “restrictive”. Sure, the word “restrictive” was avoided in this meme by using the word “copyleft”, but the cognitive jump from “permissive” to “restrictive” is minimal: just add an “opposite” and you’ve got “permissive is the opposite to restrictive”. It really is that simple. That’s how brain works (check out Relational Frame Theory to see how that works).
So what can we do about it?
Well, we can approach this with science. There is a historical global trend towards people being more meta-cognitive. That means that people are becoming more aware of how our thoughts interpret everyday reality and how to be intentional with our relationship with our thoughts so that we live better lives. We know this trend is happening to virtually everyone everywhere because of the work of brilliant sociologists like Anthony Giddens and Christian Welzel. Heck, even the history of psychology —going from noticing and changing behaviors (behaviorism) to noticing and changing behaviors and thoughts (cognitive-behaviorism), to noticing and changing the context and function of behaviors, thoughts, and emotions (functional contextualism)— reflects this trend.
We can use meta-cognition in our favor; we can use the meta-cognitive tool of framing to change how we think about GPL and MIT licenses. Effective communicators like influencers, political campaign experts, and influential activists use framing all the time. For example, instead of using the dangerous framing that suggests GPL is ‘restrictive’, we can use another one that truly displays the virtues of the license.
What would this other frame look like? I may not have a perfect answer, but here are some
ways of framing (thinking about) the relationship between licenses like GPL and MIT:
(ironically!!!, these were ‘suggested’ by an LLM; I wonder if these frames already existed)
- “Investment-Protecting Licenses” vs. “Investment-Risking Licenses” (as in developers invest by working on projects that they could (not) lose the ability to contribute to)
- “Community-Resource-Guarding Licenses” vs. “Exploitation-Vulnerable Licenses”
- “Give-and-Take Licenses” vs. “Take-and-Keep Licenses” ⭐
- “Freedom-Ensuring Licenses” vs. “Freedom-Risking Licenses” ⭐
- “Contribution-Rewarding Licenses” vs. “Contribution-Exploiting Licenses”
- “Open-Source-Preserving Licenses” vs. “Closed-Source-Enabling Licenses”
I’d be happy to hear what you think, including suggestions!
There’s a fair bit of bias in those terms, which make GPL seem like a ‘better’ choice than an unrestricted license like MIT.
The truth is, GPL is restrictive to developers. Copying just one line from a gpl-licensed project will automatically restrict you to using only gpl-compatible licenses. I’d prefer to advocate for LGPL and similar licenses, as they seem to offer a better tradeoff between user and developer freedom.GPLs “restrictions” are freedom preserving though. It only restricts developers from keeping dirivitive code proprietary. In order to violate the GPL you’d have to choose to use GPL code and then choose not to release your modified versions of it under a similar copyleft license. It may seem counterintuitive, but having those restrictions results in more software freedom overall - similar to the paradox of intolerance.
I’m not saying MIT or so called permissive licenses are bad, but the permissive/restrictive language is just as loaded as the OPs suggestions. Both styles are needed, but copyleft licenses are better at promoting software freedom.
Edit: I do agree with you that LGPL serves an important role in promoting free/libre software where it would otherwise would never be used.
There’s a fair bit of bias in the terms “restrictive” and “permissive”, which make MIT seem like a ‘better’ choice than a give-and-take license like GPL.
The truth is, MIT is risky for developers. Using just one line from an MIT-licensed project will automatically allow others to exploit your work without giving back. I’d prefer to advocate for balanced licenses that protect both user and developer interests.
I could imagine MIT might be interesting for Software released by public institutions, that are meant to be used by the industry in any way they want. Sometimes earning money with your product might even be impossible due to restrictions. So, not really Software released with the FOSS philosophy.
Otherwise I also never really understood why anyone would use the MIT license.
I do exactly this: Write code/frameworks that are used in academic research, which is useful to industry. Once we publish an article, we publish our models open-source under the MIT license. That is because companies that want to use it can then embed our models into their proprietary software, with essentially no strings attached. This gives them an incentive to support our research in terms of collaborative projects, because they see that our research results in stuff they can use.
If we had used the GPL, our main collaborators would probably not have been interested.
Then you are pretty much the archetype of what I thought about. :)
Possibly a company that discloses a tiny part of their proprietary code
Yeah, maybe under special circumstances that might also make sense.
Money is literally the definition and essence of all evil.
Sometimes earning money with your product might even be impossible due to restrictions.
Good.
Thanks RMS, you are the ONLY good software patent definition and thus choice available when we want REAL freedom, the ability to even choose at all (everything is a lie), and not wanting to serve the incoming thing that’ll make you wish you hadn’t found yourself stuck in the Matrix without know shit about da fuck is being done by
who/whatErr…we don’t have a word to define that which is in control. You have no way out but death. And you won’t be able to make THAT choice either.
I think the rub here is that most developers aren’t developing/publishing their own software, but honing their skills on writing proprietary code while also putting food on the table. To that end, a permissively licensed library is better because the company will actually use it and the developer will gain experience with it that they can then use outside of the proprietary environment to contribute to FOSS projects (some of which may well use GPL). If a GPL end user product gets popular enough, it will eventually be able to use all of that gained experience to compete with the propriety alternatives, so I do think the two can work in tandem.
Permissive licenses are truer to the spirit of free software but copyleft, while kind of a copout, seems more pragmatic due to corporations. I wouldn’t avoid copyleft licensing on principle or anything but it feels incongruous to want to make something freely available to all but then nitpick over how they use it.
Permissive licenses are truer to the spirit of free software
Yeah, which is why the person who popularized the concept of Free Software invented copyleft – oh wait.
“The spirit of Free Software” is freedom for the end user; as such, copyleft is much more truer to it. Remember, the whole thing started with the notion that Xerox shouldn’t be able to stop you from fixing your fucking printer by withholding the source code to it.
That’s what I said. Free licenses are for free software, while copyleft is for “free software.” Copyleft is because corporations like Xerox will act in bad faith, etc. Free licenses are for free software. Copyleft is for Free Software, The Movement. People aren’t cucks for not deigning to make every piece of code they write part of some statement.