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.
I’m not convinced something being your “perogative” and it being “ontologically bad” are mutually exclusive, so I don’t see how that’s a rebuttal.
I want to know why you think it isn’t bad, not why you think you’re allowed to do it.
Because I don’t know why it is closed source. Is it a personal project? A private project? A sensitive project? I don’t see a moral imperative for any of those to be free and open to all users.
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?
I’m not sure what you are referring to about ontologically bad. Has someone said this?
I’m going by the vibe of the comments of people here who are generally anti-MIT. That the very nature of allowing someone to use your code in a closed-source project without attribution is bad. Phrasing it as “hiding their copyright infringement”, for example, implies that it is copyright infringement per se regardless of the license or the spirit in which it was released.
Oh no I mean that there are companies that just don’t care about licensing and plod ahead hoping it’s never an issue. Like having devs build a “prototype” that they know uses AGPL code and saying, “we will swap this out later” and then 6 months later the “prototype” is in production.
Personally, I make a lot of my personal projects’ code closed because I specifically don’t want it to be useable by others. Not for jerky reasons, but strategic ones. IMO common licenses don’t achieve what a lot of people hope they do.
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.
All my own OSS stuff I always release MIT licensed because I want to be able to use the libraries in my closed source job.
Be really careful with this.
Depending on how you contribute to your OSS code, commits you make on company time are considered property of the company. You could, unknowingly, be forcing your code to be closed source if your company ever decides to make a claim for it.
I prefer to keep things bifurcated. I never reuse my own library and if I do, I rewrite it whole cloth.
“Company time” doesn’t mean much to me, as a remote salaried worker with relatively flexible schedules. Not touching anything but work code from my company machine should be enough, as far as I could understand. Not a lawyer, though.
It will come down to the laws in your country and how much money you plan to spend on lawyers if your employer wants to force the issue.
If you’re the copyright holder, nothing stops you from releasing your work under more than once license. It is not necessary to use permissive licensing; you are perfectly free to release your stuff to the general public with a copyleft license while also granting your company a separate license even with proprietary terms if you want.
Only until you have any other contributor, as you’re then no longer the sole copyright holder. If you still want to work like that you’ll need a CLA.
Sure, but I was taking “all my own OSS stuff” at face value.
Correct me if I’m wrong but if I start a project with a GPL and a custom proprietary license for use at work wouldn’t that also apply to any contributions by 3rd parties later on to that projevt? Afaik only adding or switching licenses with existing 3rd party contributions is difficult without a CLA.
Kinda. IANAL, but here’s my understanding: If you’re explicitly dual-licensing and publish the proprietary license then contributions can be assumed to also follow the same dual licensing. You’d need to be extremely careful with writing the proprietary license though, since your business is now using non-employee proprietary code.
If you write “the copyright holder may choose to allow an entity to use this work”, then you do actually need permission from every contributor. If you write “this work may be copied, modified and redistributed freely by Blah enterprises” now the business cannot be sold without losing access (or possibly have it’s name changed). If you write “Neshura may freely copy, modify and redistribute this” then you can’t be fired or move jobs without the company losing access.
You can also never ever change this license, since every contributor needs to agree. So if a mistake is made when writing it you’re just fucked.
On the other hand with a CLA that transfers copyright ownership you don’t need to dual-license at all since everything already belongs to the business. Much less risky.
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.This is the best way I’ve heard it said.
I want to develop plugin for former MIT-licensed software. Now I can’t.
Nah, it’s called the cuck license for a reason.
c/brandnewsentence
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.
Removed by mod
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?
Removed by mod
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.
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.
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.
Permissive licenses (commonly referred to as “cuck licenses”)
That’s where I stopped reading. 👎
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”.
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 published some packages under MIT a couple of years ago. It is difficult to understand at first, I was happy with the license because anyone could use it like they want.
Today, I understand that I want to use GPL. With GPL everyone can use the code like they want and I can use their code like I want.
For writing an application GPL is fine if you don’t want anyone to profit from your work and if they make changes, contribute back.
Things are a little bit more complex if you are writing a library or code that is meant to be included in another application.
If you use GPL you might get rejected even by other open source applications, as GPL might be understandable as it will change license off the application or be outright incompatible.
This was the case with cursor library after author changed license everyone stopped using it: https://github.com/GijsTimmers/cursor/commit/885156333ac9ca335a587b1dd08964074313f026
The most ironic thing is that he created package from stack overflow answer:
https://github.com/GijsTimmers/cursor/blob/master/cursor/cursor.py
The original author never said they are releasing copyright or are making it public domain.
Isn’t this why LGPL exists?
It is
if you don’t want anyone to profit from your work
Technically you can. There are two popular models: Lua model and RedHat model. In first you are paid to develop requeated features, in second for support.
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?
Great. No corporation is working on software for the freedom of its users
A lot of people don’t care.
Or pay the developer to dual license, which can and should be the preferred way for FOSS developers to fund their work?
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.
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 was going to be paid for it.
What I don’t like is that the title minimizes the contributions of the MIT developers.
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.
If you are doing MIT, you are working for free. If you are working with GPL, you are working for freedom.
Damn, that’a good.
Not everyone wants to deal with that (setting up payment methods, filling tax forms, …)
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.
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!
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
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.
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.
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.
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:
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it;
There is no section 15 or 16 in GPLv3, but I did find section 7 saying:
Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
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.
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.
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
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.
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.
Only if they are still the only contributor. Once you have more contributors, it gets far tougher to change the licence.
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)
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.
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.
MIT license is useful for a lot of stuff that is traditionally monetized. Game development tools, for example. I don’t think a game engine could become very popular if you had to release your game’s source code for free.
Literally every library with any traction in any field is MIT licensed.
If the scientific python stack was GPL, then industry would have just kept paying for Matlab licenses
That’s a good point! The FSF also developed LGPL for this reason (their particular example was something like OGG that is meant to displace the proprietary (back then) MP3), but you example with game engines is also a good one!
libvorbis, yes.
LGPL
LGPL
Depending on the provisions of a console’s SDK, that may be not an option because you may be able to deduct some of the SDK’s working from the released source code and that may violate the NDA.
NDAs are cancer
Sure but that attitude doesn’t help game developers looking to make a living selling console games. Godot with its licensing, helped by Unity messing up big time, is about to become the entry level game engine… The engine universities and self-taught game developers will likely use it as learning tool. Godot got a big influx of donations even though it’s under a permissive license. Small indies don’t care to modify the core engine anyway. Most GZDoom games on Steam are living proof of that. Game logic in separate scripts isn’t covered by the interpreter’s license anyway.
Godot got a big influx of donations even though it’s under a permissive license.
Many opensource game engines received donations when Unity tried to rape gamedevs.
Game logic in separate scripts isn’t covered by the interpreter’s license anyway.
That’s why I said game engine can be LGPL. Even GPL, if game logic is loaded separately.
Game engines can’t be LGPL because of console SDK NDAs. At best MPL.
The same way, if the BSD internet stack was GPL, we wouldn’t have an internet at all.
Meanwhile nobody uses BSD this day, everyone is on GPLed Linux
For a different reason tho
Because companies weren’t sharing modifications under network stack that was originally BSD. I think the only advantage *BSD stack has over Linux is kqueue, which notifies also about amount of avaliable bytes in socket, what epoll doesn’t do.
Yep, different licenses have different consequences.
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 and release games with that, don’t quote me on that though. 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
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.
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.
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.
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.
Removed by mod
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.
deleted by creator
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.
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.)
I’d like to counter both these arguments with:
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.
People generally aren’t surprised by the effects of the MIT license, they’re surprised by the behavior of other humans.
Wait, people give other people the right to make proprietary variants of released source code and then are surprised when they exercise that right?
Less permissive licenses protect against that.
No, other licenses don’t protect against not understanding which rights are granted. The GPL, for example, allows to make proprietary web services using GPL code and to never release any modifications to that code. Many people were very surprised many years ago that some web-based messenger could use Pidgin’s libpurple to connect to ICQ etc. without ever giving anything back.
Wait, people give other people the right to make proprietary variants of released source code and then are surprised when they exercise that right?
It’s more like being angry when people try to abuse charities and get money when they don’t need it. Like growing an apple tree in your yard and telling people they’re free then being upset when someone comes and takes all of them. Or a better example, being angry about people taking all the candy from a Halloween bowl.
No, other licenses don’t protect against not understanding which rights are granted.
That’s not what I meant, I meant protect against people taking advantage of your code in a way most people would view as wrong. (Just because something isegal doesn’t mean people believe it is right.)
Also, that’s why I use AGPL.
Dude are you a bot?
Just a cooperate lawyer, so yes.
I know you meant copyright… but this made me laugh.
I actually ment corporate ha
Even funnier. Stupid English and it’s stupid words.
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
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”.
Well you’ve convinced me. I always thought copyleft sounded cool, but never thought of it in this way of more/less free
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.
It really depends. If the contract gives ownership of the work created to the purchaser, he has no rights to it whatsoever. Moreover, trying to do a clean room implementation of your own code is almost impossible without help. A permissive license would give the purchaser unlimited use of the product, including resale while still allowing the producer unlimited use, as well. If the contract is written correctly, the producer might even retain ownership, with the right to use different licenses, while the purchaser would have few or no restrictions.
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.
Work for hire is a completely different situation. You have to accept the terms of whoever’s paying you to do the work.
This comic is more about someone doing something as a hobby project, or writing their own software not under someone else’s direction, where they have full freedom to choose their own license.