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.
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.
If I choose MIT it’s because I don’t care if people “steal” the code. This meme is stupid and condescending, if he didn’t mind that Intel used it’s code it’s because he didn’t mind, that why he chose MIT. Why is Intel beating him in the meme? It makes no sense. You are proyecting your thoughts onto him as if that’s how he felt, but then you show that he didn’t feel the same way you do. Why?
When I see a GPL license I don’t see freedom. I only see forced openness, which makes me immediately avoid that library, since I can’t statically link to it.
Freedom means that everyone can use your code. Yes, that means for-profit corporations. For free, without restrictions.
If I want to make a piece of software to improve people’s lives and I don’t care to do it for free, I’ll choose MIT. If it gets “stolen” by a for-profit corporation it only makes it better, because now my software has reached more people, thus (theoretically) improving their lives.
You seem angry at me because I don’t license my code as GPL. Is that what freedom means now? Freedom means everyone has to use the license I want or I’ll bully them!
It’s the code I wrote, let me license it however the fuck I want if I’m not using your code.
You can eat wild berries too, noones stopping you, just people saying there are better options
Its like saying people enjoying a moment collectively in a park means forcing people to give up their smart phones to force communication
Intel Management Engine improve no one’s life.
It is very sad how you don’t see that “forced openness” is good for everyone.
Yes, end products licensed as GPL are good. I use many of them. Libraries, however, are just avoided by companies and they just develop their own.
I prefer my libraries MIT licensed because then there’s a chance that people out there use it to develop products. If I make a GPL library then only products that were already GPL would use it. And there are way more proprietary products than GPL.
If it gets “stolen” by a for-profit corporation it only makes it better, because now my software has reached more people, thus (theoretically) improving their lives.
well that’s a very idealistic, and capitalistic way of looking at this (i.e. for-profit corporation is making a profit only because it’s making people’s lives better). which just isn’t the case in real life.
realistically, when you release something in a permissive license, you are more likely to improve someone’s bottom line, than to improve people’s lives in general.
Well, it did improve someone’s live, didn’t it? I’m not claiming my library that has 3 stars on GitHub is gonna revolutionize all of humanity. But it’s a little improvement. That contributes to having a more complete software ecosystem.
That code is now available to everyone that wants it. If they need it, it’s there to use. Better than every company having to reimplements for the thousandth time the same closed software.
Which brings me to another point I didn’t mention before. If a company uses an open source library, even if they are not required to publish their improvements to the library, they might do anyway because it is easier than maintaining their own fork and migrating every upstream change.
If I want to make a piece of software to improve people’s lives
If that is your intention, GPL would make more sense, as every improvement and development would be forced to be made available to those people, thus helping them further.
I doubt that your code helps anyone who needs/deserves to be helped, after beeing processed by big corpo.
You could think about your definition of freedom. For me: My freedom ends, where it restricts others people freedom - I shouldn’t be free to rob people and call it restriction if someone forbids this.
GPL means big corporations just won’t use it. If they have to make their software open source, they will just search for an alternative or make their own.
GPL means big corporations just won’t use it.
Great. No corporation is working on software for the freedom of its users.
they will just search for an alternative or make their own.
Or pay the developer to dual license, which can and should be the preferred way for FOSS developers to fund their work?
If it gets “stolen” by a for-profit corporation it only makes it better, because now my software has reached more people, thus (theoretically) improving their lives.
Or it could be “stolen” by Raytheon, and helping ruin lives better.
And I’m not poopoo’ing, what you’re saying, I just want you to consider all consequences, because it kinda seems like you haven’t.
How does GPL prevent Raytheon from using their software?
Open source is open source.
If I don’t want my software being used to make weapons I just won’t make weapon-related software. If they wanna use my 3D graphics library to display their missiles, cool, idgaf, that’s like putting ethical burden on a restaurant that serves food to soldiers because a military base was built nearby. The restaurant was there before the military base opened, and it’s not like they’re gonna use their food to kill people.
I don’t care if people make money to use my code. I just want my name attached to it somehow, even if you make it closed sourced which is MIT and OpenBSD. I hope you do use my code and even if you heavily reference it to make something new, carry that forward so more can learn and benefit.
I also don’t understand “better for the end user” arguments either. I have a library that people want to be included in another project, but that project is GPL. They won’t merge my code unless I change my code to be GPL. So everyone who wants them merged is out of luck. I can’t merge their code either with mine. What is supposed to happen is I freely give up my name to the code and restrict it to only being GPL and for GPL projects. Essentially, assimilate and join with the Borg. No, thanks.
And while that’s from my experience, I’ve also seen good projects get traction, have excitement over it, and fall off the earth because they end up making it GPL. Everyone interested in adopting it, personal or business, just disappear. Then something with less restrictions comes along and gets adopted.
End-users move to what’s better for them, and if you have a library that is only for GPL, you can end up limiting your options with a wasteful purity test. If you want it to be free you’d give freely with no restrictions. And if you think, “You can contact me to discuss licensing” that doesn’t happen. It’s still a restriction and almost nobody actually bothers.
They won’t merge my code unless I change my code to be GPL.
If you are the author of the code you want to merge, you can double-license it you know. Hand them a GPL license, they’ll be able to use your copy under the same terms, while you and everyone else use your current license.
GPL has no requirements for author attribution which is contrary to the entire point of an MIT license.
That’s why I described it as joining the Borg. You release individualism and freely give it to the collective. That’s cool, and I get the ethos behind all that, but I don’t want to add any of those constraints to my code. I just don’t want credit for my work or the others to get lost. I don’t think it’s a hard ask.
Regardless, we ended up ultimately being a full replacement for the other project.
If I want to make a piece of software to improve people’s lives and I don’t care to do it for free, I’ll choose MIT. If it gets “stolen” by a for-profit corporation it only makes it better, because now my software has reached more people, thus (theoretically) improving their lives.
I’m not completely sure about this.
Suppose you write a library that a company like Facebook finds useful. Suppose that they incorporate it into their website. I’m sure I can skip the portion of this post where I extol the harms that Facebook has wrought on society. Do you think your software has improved people’s lives by enabling Facebook to do those sorts of things? They would not have been able to do them if you had used AGPL instead.
And I don’t want to make it seem like we should never do anything because someone might use the product of our work in a sinister way (because that would quickly devolve into nihilism). If 99 people use it for good and 1 for evil, that’s still a heavy net positive. But at the same time, I would be lying if I didn’t acknowledge that the 1 person using it for evil still would make me feel bad.
Freedom means that everyone can use your code. Yes, that means for-profit corporations. For free, without restrictions. If I want to make a piece of software to improve people’s lives and I don’t care to do it for free, I’ll choose MIT.
Why not put the code in public domain then? Why MIT?
Two reasons:
- public domain is not very well legally recognized, so code licensed under MIT is easier to use internationally than code in public domain.
- MIT includes disclaimer of liability, which as an author you want just to be safe.
See that’s the thing, all licenses want to draw up some boundaries. As far as I’m concerned MIT and GPL are just interested in different ones.
Licenses aren’t “restrictive”, they’re permissive. Without a license you can’t do anything with the content, a license gives you some rights instead of none.
When I see a GPL license I don’t see freedom. I only see forced openness, which makes me immediately avoid that library, since I can’t statically link to it.
One of the arguments in favor of GPL and other “forced openness” licenses is that users should have the right to understand what their own device is doing. You paid for your computer. You own it. You should dictate how it operates. You should at least have the option of understanding what is being done with your machine and modifying it to fit your needs. Closed source software may provide utility, but it doesn’t really further collective knowledge since you’re explicitly refusing to publicly release the code, and it provides obscurity for developers to hide undesirable functionality like data collection or more directly malicious activity.
I’m not personally sure how I feel about that argument myself, but I can at least readily acknowledge it as a valid one whether I agree with the decision to force openness or not.
Forced openness is good for certain things, but not so good on others. That’s the reason why I licensed my game engine under BSL (whith some components of course under MIT, ZLib, and Apache), within the game development community things like that more accepted. It does have branding material, which anyone can use unless they were either behaved really badly, or being used for non-engine related material. Certain engine assets are under yet another license (public domain).
As you’ve phrased it, this seems to me to be a question of how to balance the rights of the developer versus those of the end user. The developer wants to monopolize commercial usage while the end user wants full control and authority on their machine.
Some would argue that the developer’s goals are unethical, but I think it’s an unfortunate consequence of a societal system that would see them starve on the streets if they didn’t earn with their work. In an ideal world, end users would prevail unquestionably, but so long as developers must operate under capitalism where ownership is critical, concessions will have to be made.
Yes, of course GPL is good for some things. But it being called the pinnacle of freedom is just wrong. It claims that it’s freedom for the users, but that’s not true.
In the case of libraries, the users of the libraries are not the end users of the program. The users of the library are the developers. GPL is NOT freedom for developers.
I completely agree that programs having a GPL license is positive. You can even use them with complete freedom in commercial settings!
In the case of libraries, the users of the libraries are not the end users of the program. The users of the library are the developers.
Except the end user does inevitably become the user of the library when they use the software the developer made with it. They run that library’s code on their machine.
It claims that it’s freedom for the users, but that’s not true.
In light of the above, this is incorrect. By using GPL, you preserve the end user’s freedom to understand, control, and modify the operation of their hardware. In no way does the end user suffer or lose any freedoms.
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?
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)
Permissive License promoters are corporate trolls
The two licenses have distinct use cases, and only overlap for some definitions of “free” software. I also think both the comic artist and OP set up a fallacious argument. I’ll add that in no way do I support Intel’s shenanigans here.
The comic author takes one specific case of an MIT licensed product being used in a commercial product, and pits it against another GPL product. This ignores situations where MIT is the right answer, where GPL is the wrong one, situations where legal action on GPL violations has failed, and all cases where the author’s intent is considered (Tanenbaum doesn’t mind). From that I conclude that this falls under The Cherry Picking Fallacy. While humorous, it’s a really bad argument.
But don’t take it from me, learn from the master of logic himself.
commonly referred to as “cuck licenses”
This sentiment makes the enclosing sentence an Ad-hominem fallacy, by attacking the would-be MIT license party as having poor morals and/or low social standing. Permissive licenses absolutely do allow others to modify code without limit, but that is suggested to be a bad thing on moral grounds alone. That said, I’d love to see a citation here because that’s the first I’ve heard of this pejorative used to describe software licensing.
I was surprised that comment this got so many upvotes, so I’ll respond by saying that, with all due respect, I think your argument is much more fallacious than the one you are trying to debunk.
The comic author takes one specific case of an MIT licensed product being used in a commercial product, and pits it against another GPL product.
Yes, this is called an example. In this case, the author is using a particularly egregious case to make a broader conclusion: namely that if you release software under a “do whatever you want” license, it may come back to bite you in the future when it’s used in a product that you don’t like.
This comic is a warning to developers that choosing MIT/BSD without understanding this fact is a bad choice.
This ignores situations where MIT is the right answer, where GPL is the wrong one
It does not ignore those situations. All situations are multifaceted and need to take multiple considerations into account. The author is trying to argue that people should take care not to overlook the particular one to which he is trying to draw attention.
situations where legal action on GPL violations has failed
Just because legal efforts have failed does not mean that they are not worthwhile. There may be many cases where people avoided misappropriating GPL software because they did not want to deal with the license - there may be cases where people were less hesitant about doing so with MIT/BSD because they knew this risk was not there.
From that I conclude that this falls under The Cherry Picking Fallacy. While humorous, it’s a really bad argument.
Just because the author used a single example does not preclude the existence of others. That is a much more fallacious assumption that invalidates much of your argument.
and all cases where the author’s intent is considered (Tanenbaum doesn’t mind).
Just because Tanenbaum didn’t mind does not mean that other developers who mistakenly use MIT/BSD will not either. Also, it honestly shouldn’t matter what Tanenbaum thinks because we don’t know what his rationale is. Maybe he thinks malware is a good thing or that IME is not a serious issue - if that’s the case, do we still consider his sentiments relevant?
commonly referred to as “cuck licenses”
This sentiment makes the enclosing sentence an Ad-hominem fallacy
It does not, in fact. Just because the author used a slang/slanderous term to describe the licenses he doesn’t like does not mean that his logical arguments are invalid. Ad-hominem fallacies are when you say “the person who argued that is $X, therefore his logic is invalid”, not when he uses a term that may be considered in poor taste.
by attacking the would-be MIT license party as having poor morals and/or low social standing.
Misrepresentation. The author is not arguing that they have poor morals, he is arguing that they are short-sighted and possibly naive with regards to the implications of choosing MIT/BSD.
My conclusion: I appreciate the author for making this post. People should be more aware of the fact that your software could be used for nefarious purposes.
So unless you really don’t care about enabling evil people, you should be defaulting to using GPL. If people really want to use your copyleft software in a proprietary way, then it is easily within their means (and resources) to get an exemption from you. The fact that there is so much non-GPL software out there makes the GPL itself weaker and makes it easier for nefarious interests to operate freely.
(Not that I would ever release software under GPL myself. I think software licenses are stupid. But no license basically has the same non-derivative limitation as GPL so it doesn’t matter as far as I’m aware.)
and all cases where the author’s intent is considered (Tanenbaum doesn’t mind).
I think you’re ignoring that most people wouldn’t want their code used like that. Just because the author doesn’t mind doesn’t make that typical. Look at Mongo and Elastic. They felt the need to use an arguably non-free license for their code because of perceived abuses. AppGet is another example of something similar.
I think you’re ignoring that most people wouldn’t want their code used like that.
That’s why you should read and understand a license before choosing it. MIT license is just a couple of lines of easy language, so it’s not like you need a degree to understand basic English. Anybody who’s surprised by the contents of the MIT license has no sympathy from me. Reading the text requires no more than one minute of time.
People generally aren’t surprised by the effects of the MIT license, they’re surprised by the behavior of other humans. Less permissive licenses protect against that.
I’ve been in situations where I wanted to retain credit/ownership of ideas and code, but wanted to be able to use them in the workplace. So building a MIT/BSD licensed library on the weekend and then importing it on Monday was the only game in town. I get the portfolio piece and my job is easier as a result. But I stick to non-novel and non-patentable stuff - “small” work really, as Stallman is quoted here..
In some work environments, GPL or “GPL with an exception” would never get the kind of traction it should. Lots of places I’ve worked lack the legal and logistical framework for wrangling licenses and exceptions. It’s hard to handle such cases if there’s literally nobody to talk to about it, while you have automated systems that flag GPL license landmines anyway. The framing is a kind of security problem, not a license problem, so you never really get to start.