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.
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.
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?
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.
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.
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.
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.
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.
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
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.