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 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.
Great. No corporation is working on software for the freedom of its users.
Or pay the developer to dual license, which can and should be the preferred way for FOSS developers to fund their work?
A lot of people don’t care.
Not everyone wants to deal with that (setting up payment methods, filling tax forms, …)
In addition, as a developer for a corp, I can tell you having to pay for a license would prevent me from using most smaller libraries because the process of getting it approved and paid is too difficult, even if the money is not an issue.
You answer are reasonable justifications for why MIT is used, but they also work pretty well to illustrate the title of the post: If you are doing MIT, you are working for free. If you are working with GPL, you are working for freedom.
Which is still working for free.
If you use MIT, you make products (paid or foss) better for everyone, in a sense making the world better.
If you use GPL, you push FOSS to be more prevalent, arguably making the world better in a different way.
What I don’t like is that the title minimizes the contributions of the MIT developers.
I’m pretty sure that I got paid to work on GPL software, and I am pretty sure that said software would never have been developed if I wasn’t going to be paid for it.
It’s not about the contribution. The MIT license still lets people study and share the code. It’s Free Software. The contribution is still there. The “problem” is that those contributions can be taken and exploited by large corporations.
You say exploited, I say used. Or on the other hand, you can argue that large FOSS projects like Linux distros are exploiting smaller projects they package, since they don’t share their donations…
IMO there is no issue if the wishes of the author are respected. The authors wishing for companies to use their code is just as valid as wishing to restrict it to FOSS.
Damn, that’a good.
So you wish that all corporations shouldn’t pay their developers at all, because MIT licence exists?
I did not write anything even in the neighborhood of that. Go learn how to read with understanding.
Great, I’ll be a bit absolute and say that if a corporation doesn’t want to use my GPL code I see it as a good thing, corporations tend to be soulless leeches.
Why not put the code in public domain then? Why MIT?
Two reasons:
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.
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!
The one freedom the GPL removes is the freedom to be a leech. If you’re linking to GPL code, you are agreeing to follow the same rules as everybody else who has contributed to that code. Nobody gets a pass
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.
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.
I know that the end user is the focus of GPL. But me, when choosing a library, as a user, I tend to avoid using GPL ones, because they restrict my freedom. In consequence, my end users (of which there are aproximately 0 anyway) don’t get GPL code either way.
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.
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.
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.
There is nothing stopping a GPL project using MIT-licensed code except for lack of desire to do the work. They are one-way compatible.
I’ve actually noticed more GPL-licensed projects give attribution to not only the original author but all contributors.
Whereas I can’t tell you how many times I’ve worked on proprietary software where the company didn’t give attribution for MIT-licensed code. Unlike GPL’d code, the author has no way of knowing that they weren’t attributed since the code is proprietary.
I believe GPL does have an attribution requirement btw:
There is no section 15 or 16 in GPLv3, but I did find section 7 saying:
But that’s an optional thing that you must add onto the GPLv3 license. I’ll have to keep that in mind for the future.
That would explain why what I’ve read mentioned it’s not guaranteed in GPLv3 (when comparing to MIT). I’ll have to figure out what that notice would look like.
Implying you can’t profit with open code.
You can, but for most software companies that would mean changing the business model.
If a company has to change its business model just to use a library, they just won’t use that library.
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.
Removed by mod
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
Removed by mod
Uh, wrong post?
Removed by mod
.ml and antagonizing everyone for not having the exact same opinions. Name a better duo.
Its like saying people enjoying a moment collectively in a park means forcing people to give up their smart phones to force communication
Removed by mod
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.