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.
The MIT license guarantees freedom for developers. The GPL guarantees freedom for end users.
The MIT license guarantees that businesses will use it because it’s free and they don’t have to think about releasing code or hiding their copyright infringement. The developers I’ve seen using that license, or at least those who put some thought into it, did do because they want companies to use it and therefore boost their credibility through use and bug reports, etc. They knowingly did free work for a bunch of companies as a way to build their CV, basically. Like your very own self-imposed unpaid internship.
The GPL license is also good for developers, as they know they can work on a substantial project and have some protections against others creating closed derived works off of it. It’s just a bit more difficult to get enterprise buy-in, which is not a bad thing for many projects.
Not all of us write code simply for monetary gain and some of us have philosophical differences on what you can and should own as far as the public commons goes. And not all of us view closed derivatives as a ontologically bad.
And not all of us view closed derivatives as a ontologically bad.
Please explain how allowing a third-party to limit computer users’ ability to control and modify their own property is anything other than ontologically bad?
If I release something free of restrictions to the world as a gift, that is my prerogative. And a third party’s actions don’t affect my ability to do whatever I want with the original code, nor the users of their product’s ability to do what they want with my code. And the idea of “property” here is pretty abstract. What is it you own when you purchase software? Certainly not everything. Probably not nothing. But there is a wide swath in between in which reasonable people can disagree.
If you are an intellectual property abolitionist, I doubt there is much I can say to change your mind.
Software licenses don’t change ownership. That requires transfer of copyright, like with contributor agreements.
Though I am aware that a small set of people seek less copyleft licenses because they think they’re better. They are usually wrong in their thinking, but they do exist.
I’m not sure what you are referring to about ontologically bad. Has someone said this?
You’re not seeing the whole picture: I’m paid by the government to do research, and in doing that research my group develops several libraries that can benefit not only other research groups, but also industry. We license these libraries under MIT, because otherwise industry would be far more hesitant to integrate our libraries with their proprietary production code.
I’m also an idealist of sorts. The way I see it, I’m developing publicly funded code that can be used by anyone, no strings attached, to boost productivity and make the world a better place. The fact that this gives us publicity and incentivises the industry to collaborate with us is just a plus. Calling it a self-imposed unpaid internship, when I’m literally hired full time to develop this and just happen to have the freedom to be able to give it out for free, is missing the mark.
Also, we develop these libraries primarily for our own in-house use, and see the adoption of the libraries by others as a great way to uncover flaws and improve robustness. Others creating closed-source derivatives does not harm us or anyone else in any way as far as I can see.
If the government is the US (federal), I think you are technically supposed to release your code in the public domain by default. Some people work around this but it’s the default.
But anyways, the example you’ve given is basically that you’re paid with government funds to do work to assist industry. This is fairly similar to the people that do the work for free for industry, only this time it’s basically taxpayersl money subsidizing industry. I’ve seen this many times. There is a whole science/engineering/standards + contractor complex that is basically one big grift, though the individual people writing the code are usually just doing their best.
I’m also an idealist of sorts. The way I see it, I’m developing publicly funded code that can be used by anyone, no strings attached, to boost productivity and make the world a better place. The fact that this gives us publicity and incentivises the industry to collaborate with us is just a plus.
Perhaps it makes the world a better place, perhaps it doesn’t. This part of the industry focuses a lot on identifying a “social good” that they are improving, but the actual impact can be quite different. One person’s climate project is another’s strategic military site selector. One person’s great new standard for transportation is another’s path to monopoly power and the draining of public funds that could have gone to infrastructure. This is the typical way it works. I’m sure there can be exceptions, though.
Anyways, I would recommend taking a skeptical eye to any position that sells you on its positive social impact. That is often a red flag for some kind of NGO industrial complex gig.
Calling it a self-imposed unpaid internship, when I’m literally hired full time to develop this and just happen to have the freedom to be able to give it out for free, is missing the mark.
Well you’re paid so of course it wouldn’t be that.
Also, we develop these libraries primarily for our own in-house use, and see the adoption of the libraries by others as a great way to uncover flaws and improve robustness. Others creating closed-source derivatives does not harm us or anyone else in any way as far as I can see.
Sometimes the industries will open bug reports for their free lunches, yes. A common story in community projects is that they realize they’re doing a lot of support work for companies that aren’t paying them. When they start to get burned out, they put out calls for funding so they can dedicate more time to the project. Sometimes this kind of works but usually the story goes the other way. They don’t get enough money and continue to burn out. You are paid so it’s a bit different, but it’s not those companies paying you, eh?
You aren’t harmed by closed source derivatives because that seems to be the point of your work. Providing government subsidy to private companies that enclose the derivative product and make money for their executives and shareholders off of it.
You are almost on point here, but seem to be missing the primary point of my work. I work as a researcher at a university, doing more-or-less fundamental research on topics that are relevant to industry.
As I wrote: We develop our libraries for in-house use, and release the to the public because we know that they are valuable to the industry. If what I do is to be considered “industry subsidies”, then all of higher education is industry subsidies. (You could make the argument that spending taxpayer money to educate skilled workers is effectively subsidising industry).
We respond to issues that are related either to bugs that we need to fix for our own use, or features that we ourselves want. We don’t spend time implementing features others want unless they give us funding for some project that we need to implement it for.
In short: I don’t work for industry, I work in research and education, and the libraries my group develops happen to be of interest to the industry. Most of my co-workers do not publish their code anywhere, because they aren’t interested in spending the time required to turn hacky academic code into a usable library. I do, because I’ve noticed how much time it saves me and my team in the long run to have production-quality libraries that we can build on.
You are almost on point here, but seem to be missing the primary point of my work. I work as a researcher at a university, doing more-or-less fundamental research on topics that are relevant to industry.
This is something I’m very familiar with.
As I wrote: We develop our libraries for in-house use, and release the to the public because we know that they are valuable to the industry. If what I do is to be considered “industry subsidies”, then all of higher education is industry subsidies. (You could make the argument that spending taxpayer money to educate skilled workers is effectively subsidising industry).
This is largely the case, yes. Research universities do the basic research that industry then turns into a product and makes piles of cash from. And you are also correct that subsidizing STEM education is a subsidy for industry. It very specifically is meant to do that. It displaces industry job training and/or the companies paying to send their workers to get a degree. It also has the benefit of increasing overall supply in theur labor market, which helps drive down wages. Companies prefer having a big pool of potential workers they barely have to train.
We respond to issues that are related either to bugs that we need to fix for our own use, or features that we ourselves want. We don’t spend time implementing features others want unless they give us funding for some project that we need to implement it for.
That’s good!
In short: I don’t work for industry, I work in research and education, and the libraries my group develops happen to be of interest to the industry. Most of my co-workers do not publish their code anywhere, because they aren’t interested in spending the time required to turn hacky academic code into a usable library. I do, because I’ve noticed how much time it saves me and my team in the long run to have production-quality libraries that we can build on.
I think your approach is better. I also prefer to write better-quality code, which for me entails thinking more carefully about its structure and interfaces and using best practices like testing and CI.
The MIT license guarantees freedom for
developersproprietary software conglomerates to use FOSS code in their proprietary products. The GPL guarantees freedom forend usersthe entire FOSS community, both for users and developers.
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.
I mean, it’s funny for a couple of reasons
I guess they take things seriously even in a linuxmemes community
Controversial opinion: Copyleft is actually more free than permissive licenses.
Because the way the GPL works is how the world would be if there were no licenses and no copyright at all. Because then anything made public is free to use. And if I were to reverse-engineer a binary then I could still add that code to my software.
But since we live in a world where we play make-believe that you can make something public and still “own it” at the same time (e.g. copyright) and where using reverse-engineered code can still get you into legal trouble, the GPL is using their own silly logic against them (like fighting fire with fire) to create a bubble of software that acts like a world without any licenses.
Permissive licenses don’t do that, they allow your open software to just get repurposed under a non-free paradigm which could never occur in a world with no licenses. And so ironically permissive licensing in a world that is (artifically) non-permissive by default does not reflect a world with no licenses, and is thus less free than Copyleft.
And if I were to reverse-engineer a binary then I could still add that code to my software.
That’s actually an important factor for ancient software whose source code was lost. A developer could, for example, declare all their old Atari 2600 games to be under GPL by just announcing it in their news blog. Collectors could then hunt for the binary files and decompile them. Decompiled software is still a derivative work, so that source code would still be under GPL. Sadly I’m just aware of one case from years ago where I can’t even remember the specifics who and which software it was but he was like “I found some floppy disks from the 1980s, I lost the source code but binaries under GPL, so have fun”.
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.
My personal philosophy:
- Is this trivially small? Don’t bother licensing. People will just copy and paste regardless of what I do and I don’t care. But it gives you the option to change your mind later. Licenses are irrevocable. (I specifically mean not applying a license and maintaining all rights.)
- Is it a small part of a whole that people need to use? LGPL. But take this with a grain of salt. FSF says to prefer GPL.
- Otherwise, AGPL. If there was a more strict but also commonly used license I’d use it instead.
Interestingly enough, Tanenbaum doesn’t seem to mind what intel did.
Yeah, duh. Intelligent people read licenses before they pick one.
But there are some examples out there of people regretting releasing their work under a permissive license.
That’s like signing a contract before reading it and then complaining that it contains provisions that surprise you when they are enacted. I’m baffled on a regular basis by how many people understand FOSS licenses only on the basis for hearsay, for example when people insist that GPLed source code must be made available free of charge for everyone. The GNU project has a FAQ about the GPL that spells it out that this is not the case and yet hardly anyone discussing FOSS licenses has even read the FAQ.
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 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.
I find MIT to be good for libraries as you can get companies using it and working on it. However, apps and binaries should be copyleft to not get fucked over.
This is what LGPL is for.
You can still use a library like a library freely, without restriction, but you are keeping your IP protected from being copied cloned and modified elsewhere.
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.”
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.
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.
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.
Tannenbaum is fucking asshole. Isn’t he the idiot that told Torvalds “you certainly would have failed my class if you submitted your OS as a final project?”
The guy deserves no respect.
Busybox was quickly replaced by BSD-licensed Toybox everywhere for that exact reason.
Copyleft licenses (like the Gnu General Public License) mandate that all derivative works remain free.
This is false. It’s perfectly legal to take GPL-licensed work, modify it, and sell it. As long as the work itself does not reach the general public, you don’t need to release it’s source code to the public (e.g. your work for the military, you take money for your work, and provide source code to them, but not release it publicly).
Busybox is very much widely used though?
And how is it false that the GPL makes software remain free? Read the free software definition, it’s about the freedom of users, not the freedom of people who aren’t users (that doesn’t really make sense). Free software isn’t “source code available to general public even if they aren’t users”.
It’s false that you cannot sell GPL-licensed work.
Ok but I don’t see how that was ever in dispute?
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”.
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’ve taken up saying “temporarily free/libre” and “permanently free/libre” instead of the permissive/copyleft, since imo “permissive” has a suggestive positive connotation. Especially to ppl who do not know much about the free software movement
Temporarily free gives the idea that the code will stop being free at some point and may cause misunderstandings. It would be better to use nonreciprocal.
It will stop being free the second a corporation gets it’s hands on it, makes improvements and put’s those under a proprietary license