With GPL, you're programming Freedom. With MIT, you're programming for free.
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 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.
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.
The MIT license guarantees freedom for developers proprietary software conglomerates to use FOSS code in their proprietary products. The GPL guarantees freedom for end users the entire FOSS community, both for users and developers.
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.
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.
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.
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.
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?
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!
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).
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.
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.
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.
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?
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.
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!
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.
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.
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.
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.
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.
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.
This sentiment makes the enclosing sentence an Ad-hominem fallacy, by attacking the would-be MIT license party as having poor morals and/or low social standing. Permissive licenses absolutely do allow others to modify code without limit, but that is suggested to be a bad thing on moral grounds alone. That said, I'd love to see a citation here because that's the first I've heard of this pejorative used to describe software licensing.
I was surprised that comment this got so many upvotes, so I'll respond by saying that, with all due respect, I think your argument is much more fallacious than the one you are trying to debunk.
The comic author takes one specific case of an MIT licensed product being used in a commercial product, and pits it against another GPL product.
Yes, this is called an example. In this case, the author is using a particularly egregious case to make a broader conclusion: namely that if you release software under a "do whatever you want" license, it may come back to bite you in the future when it's used in a product that you don't like.
This comic is a warning to developers that choosing MIT/BSD without understanding this fact is a bad choice.
This ignores situations where MIT is the right answer, where GPL is the wrong one
It does not ignore those situations. All situations are multifaceted and need to take multiple considerations into account. The author is trying to argue that people should take care not to overlook the particular one to which he is trying to draw attention.
situations where legal action on GPL violations has failed
Just because legal efforts have failed does not mean that they are not worthwhile. There may be many cases where people avoided misappropriating GPL software because they did not want to deal with the license - there may be cases where people were less hesitant about doing so with MIT/BSD because they knew this risk was not there.
From that I conclude that this falls under The Cherry Picking Fallacy. While humorous, it’s a really bad argument.
Just because the author used a single example does not preclude the existence of others. That is a much more fallacious assumption that invalidates much of your argument.
and all cases where the author’s intent is considered (Tanenbaum doesn’t mind).
Just because Tanenbaum didn't mind does not mean that other developers who mistakenly use MIT/BSD will not either. Also, it honestly shouldn't matter what Tanenbaum thinks because we don't know what his rationale is. Maybe he thinks malware is a good thing or that IME is not a serious issue - if that's the case, do we still consider his sentiments relevant?
commonly referred to as “cuck licenses”
This sentiment makes the enclosing sentence an Ad-hominem fallacy
It does not, in fact. Just because the author used a slang/slanderous term to describe the licenses he doesn't like does not mean that his logical arguments are invalid. Ad-hominem fallacies are when you say "the person who argued that is $X, therefore his logic is invalid", not when he uses a term that may be considered in poor taste.
by attacking the would-be MIT license party as having poor morals and/or low social standing.
Misrepresentation. The author is not arguing that they have poor morals, he is arguing that they are short-sighted and possibly naive with regards to the implications of choosing MIT/BSD.
My conclusion: I appreciate the author for making this post. People should be more aware of the fact that your software could be used for nefarious purposes.
So unless you really don't care about enabling evil people, you should be defaulting to using GPL. If people really want to use your copyleft software in a proprietary way, then it is easily within their means (and resources) to get an exemption from you. The fact that there is so much non-GPL software out there makes the GPL itself weaker and makes it easier for nefarious interests to operate freely.
(Not that I would ever release software under GPL myself. I think software licenses are stupid. But no license basically has the same non-derivative limitation as GPL so it doesn't matter as far as I'm aware.)
and all cases where the author's intent is considered (Tanenbaum doesn't mind).
I think you're ignoring that most people wouldn't want their code used like that. Just because the author doesn't mind doesn't make that typical. Look at Mongo and Elastic. They felt the need to use an arguably non-free license for their code because of perceived abuses. AppGet is another example of something similar.
I think you’re ignoring that most people wouldn’t want their code used like that.
That's why you should read and understand a license before choosing it. MIT license is just a couple of lines of easy language, so it's not like you need a degree to understand basic English. Anybody who's surprised by the contents of the MIT license has no sympathy from me. Reading the text requires no more than one minute of time.
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 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.
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.
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.
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.
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.
Are you okay with people potentially making a closed-source fork of your code? If yes, then choose a permissive license like MIT, BSD, or Apache. If you do not want people to make closed-source versions of your code, and want all forks to remain open-source, then go with GPL.
Remember that choosing the GPL means other people, especially businesses, will be less likely to consider your project because that would mean they would have to make their versions open-source, which some people may not want to do.
EDIT: As always, this is not legal advice and I am not a lawyer.
Just a small note that the businesses only have to open source their version if they release it. If they just use it internally then they don't have to distribute the source code. So it depends on the use case.
If you're publishing a standard or a reference application, a permissive license makes sense. What better way to guarantee compatibility than being able to use the reference code in your product. This is what happened with the TCP/IP stack, and it was used in its original form in Windows for years.
If you're making something that you want to build a community around, something more akin to the GPL may be more aligned with your goals. The nice part is, you can include MIT licensed projects as part of your GPL project. This means there is nothing stopping you from building your standard with a MIT license while building your community-driven application using GPL, maximizing the reach of your standard while reducing the risk to your community.
Note that either option opens you to EEE (Embrace, Extend, Extinguish), the GPL option just takes an extra step (clean room implementation of a published standard).
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.
That's usually not what someone would want to do. The default if you don't provide a license is essentially "all rights reserved", and you're not granting anyone else permission to use it in any way. Everyone that wants to use it has to get explicit permission.
If you really want "no license" then you probably actually want to release it as public domain.
That is actually a really bad rule, though you probably are only joking.
There are many examples of short, but very valuable code. Just think about anything math or physics related.
A totally new or even just a very efficient implementation of an already existing algorithm can be gigantic if others need to build upon it.
And many licenses are verbose not because they are complicated in intent, but merely because they need extensive legalese prose to cover against many possible avenues of attack.
But I think gpl isn't limited to software, or is it ?
Anyhow, you have different varaites of Create Commons, depending on much limits you put, from 0(nothing) to
4(no commercial use, no remix etc.) they have license chooser on website here
Sometimes you want to start a beautiful family that makes the world a better place. --GPL
Match your license with your feelings about the project.
Just don't, you know, pick the former and mistake it for the latter because your ego gets stroked. If you pick MIT, you increase your chances of collaborating, but get in and get out.
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.
Yes you can. You just change the license that lives with the code.
What it changes depends on the project, how it's used, who uses it, etc. It's really a social question of how people might interact with your project differently.
You can use the gpl license in newer versions of your software, but keep in mind, in order to avoid future misunderstandings, that you can only do that because the upstream project uses the mit license. If the project used a reciprocal license like the gpl, you'd need to stick to it or use a compatible one. You can't, for example, take a upstream gpl project and use a mit license
From what I understand, I can't replace the license, but I can add on top of it. So it will kinda have both the upstrean's mit license and my gpl license. I remember looking this up a while back and it was a little confusing.
Permissive licenses are truer to the spirit of free software but copyleft, while kind of a copout, seems more pragmatic due to corporations. I wouldn't avoid copyleft licensing on principle or anything but it feels incongruous to want to make something freely available to all but then nitpick over how they use it.
Permissive licenses are truer to the spirit of free software
Yeah, which is why the person who popularized the concept of Free Software invented copyleft -- oh wait.
"The spirit of Free Software" is freedom for the end user; as such, copyleft is much more truer to it. Remember, the whole thing started with the notion that Xerox shouldn't be able to stop you from fixing your fucking printer by withholding the source code to it.
That's what I said. Free licenses are for free software, while copyleft is for "free software." Copyleft is because corporations like Xerox will act in bad faith, etc. Free licenses are for free software. Copyleft is for Free Software, The Movement. People aren't cucks for not deigning to make every piece of code they write part of some statement.
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.
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.
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).
Interesting point for the military: If you build a rocket that contains GPL software, and shoot the rocket towards your enemy, you are obliged to send another rocket containing the source code.
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".
I think the confusion here is selling software vs distributing source code. Free software can be sold, as long as you provide the source code and don't try to stop others from redistributing copies for free. The busybox GPL lawsuits were about companies that redistributed busybox (or software built on top of busybox) without providing the source code. Whether or not they charged money for it isn't relevant.
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.
I'm going to guess because of the tools that don't use LGPL.
Which makes them quite limiting and kind of controversial since you have to adopt their license from my understanding, even if used as a library.
I try and use LGPL on all my projects since it allows others to use the Library as a library, and anyone that wants to modify or use the source has to copy left.
Just about every FOSS and Source-Available license that I've seen is perfectly valid. As a software developer, one has the option to choose how they wish to license their software. This can be based upon one's personal philosophical view or what seems most appropriate for the piece of software.
Not everyone is motivated by profit. Most software that I develop personally is permissively licensed because IDGAF as long as I have enough to get by. If I write some code that makes someone else's life better or easier, that's more than enough for me.
Wait. What am I saying? This is the Internet and, according to the rules of corpo social media, we're all supposed to be dicks to each other to further "engagement". WHICH ONE OF YOU SAVAGES IS USING TAB INDENTATION INSTEAD OF BLOCKS IN YOUR LICENSE FILES?!?;?!!!!111one
I like your idea about using permissive licenses as long as it helps people. But as you said, “if … that makes someone else’s life better or easier …”, what would you do if someone used it to hurt people instead? I’d personally feel like shit if my software were used for that, and as others said in this post, they’d prefer to have entities request an exemption rather than have their code used in ways they don’t approve of. So what say you?
what would you do if someone used it to hurt people instead? I’d personally feel like shit if my software were used for that, and as others said in this post, they’d prefer to have entities request an exemption rather than have their code used in ways they don’t approve of. So what say you?
I've a few thoughts on this:
Anyone who wants to use anything that I release for harm, will probably do so regardless of license. Bad actors are going to act badly. Plus, chances are that they'd see no legal repercussions as underdogs winning in court is the exception, not the rule. The legal system is heavily stacked against the little guy.
I tend to specifically avoid working on things that are weaponizable to reduce the chance of ethical conflict.
The projects that I've released or plan to release tend to be pretty esoteric. The one that saw the most interest was years ago and it was an adapter between abandoned gallery plugin and an abandoned social media CMS thing. It would take some great creativity to hurt people with that, other than making them read my horrible code from that era. My current projects are more about FPGA and mixed reality stuff.
Once I've created something and shared it freely, it is no longer wholely mine. I cannot dictate how one uses it, anymore than a musician can dictate how someone listens to the radio. As long as one abstains from creating tools intended to harm (or that can be predictably turned to harm), I don't see legitimate ethical culpability. We only have control over ourselves.
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?"
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.
Is that arguable because it's complete bunk? You may as well say the same about IPMI.
I've seen busybox in a lot of software that's not free. One notable example is VMware. It runs on top of esxi as a package to provide command line functions to VMware hosts.
I'm pretty sure (IDK, I don't do development for vmw) that it's running on top of VMware's kernel, and they have binaries that you execute from busybox that interface with the vmkernel to accomplish things.
I don't have all the details and I'm far from an operating system guru/developer/whatever. I think that's permissible under copyleft, since they're not running things that you paid for on top of busybox, but I have no idea. I'm also not a lawyer, but they've been doing it forever, as far as I know.
Does anyone know more about it? I'm just surprised that smaller fish have fried for infringement, but someone like VMware is shipping busybox without reprocussions.
Maybe it's not busybox? Maybe it's something that just looks and acts like busybox? Idk.
TIL openssh, xorg, apache, nginx, all of *bsds are cuck-licensed.
While GPL-licensed linux, used by every corp out there, is not.
but since it’s protected under the GPL, Busybox developers were able to sue them and gain some money in the process.
Don't need to steal anything. Lots of today's usage doesn't involve giving a binary to the customer. Thus Google, FB and who else don't have to share any of their internal changes to Linux.
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.
of losing many developers who would otherwise choose a license like the GPL. Fortunately, I'm glad to be surrounded by people, just like you, who care about licenses like GPL. By uploading this type of content and engaging with it, be show our commitment to it. I wish to suggest how we can deal with this threat.
We will lose developers who choose GPL if we use words that suggest GPL is "restrictive". Sure, the word "restrictive" was avoided in this meme by using the word "copyleft", but the cognitive jump from "permissive" to "restrictive" is minimal: just add an "opposite" and you've got "permissive is the opposite to restrictive". It really is that simple. That's how brain works (check out Relational Frame Theory to see how that works).
So what can we do about it?
Well, we can approach this with science. There is a historical global trend towards people being more meta-cognitive. That means that people are becoming more aware of how our thoughts interpret everyday reality and how to be intentional with our relationship with our thoughts so that we live better lives. We know this trend is happening to virtually everyone everywhere because of the work of brilliant sociologists like Anthony Giddens and Christian Welzel. Heck, even the history of psychology —going from noticing and changing behaviors (behaviorism) to noticing and changing behaviors and thoughts (cognitive-behaviorism), to noticing and changing the context and function of behaviors, thoughts, and emotions (functional contextualism)— reflects this trend.
We can use meta-cognition in our favor; we can use the meta-cognitive tool of framing to change how we think about GPL and MIT licenses. Effective communicators like influencers, political campaign experts, and influential activists use framing all the time. For example, instead of using the dangerous framing that suggests GPL is 'restrictive', we can use another one that truly displays the virtues of the license.
What would this other frame look like? I may not have a perfect answer, but here are some
ways of framing (thinking about) the relationship between licenses like GPL and MIT:
(ironically!!!, these were 'suggested' by an LLM; I wonder if these frames already existed)
"Investment-Protecting Licenses" vs. "Investment-Risking Licenses" (as in developers invest by working on projects that they could (not) lose the ability to contribute to)
"Community-Resource-Guarding Licenses" vs. "Exploitation-Vulnerable Licenses"
"Give-and-Take Licenses" vs. "Take-and-Keep Licenses" ⭐
"Freedom-Ensuring Licenses" vs. "Freedom-Risking Licenses" ⭐
"Contribution-Rewarding Licenses" vs. "Contribution-Exploiting Licenses"
"Open-Source-Preserving Licenses" vs. "Closed-Source-Enabling Licenses"
I'd be happy to hear what you think, including suggestions!
There's a fair bit of bias in those terms, which make GPL seem like a 'better' choice than an unrestricted license like MIT.
The truth is, GPL is restrictive to developers.
Copying just one line from a gpl-licensed project will automatically restrict you to using only gpl-compatible licenses.
I'd prefer to advocate for LGPL and similar licenses, as they seem to offer a better tradeoff between user and developer freedom.
GPLs "restrictions" are freedom preserving though. It only restricts developers from keeping dirivitive code proprietary. In order to violate the GPL you'd have to choose to use GPL code and then choose not to release your modified versions of it under a similar copyleft license. It may seem counterintuitive, but having those restrictions results in more software freedom overall - similar to the paradox of intolerance.
I'm not saying MIT or so called permissive licenses are bad, but the permissive/restrictive language is just as loaded as the OPs suggestions. Both styles are needed, but copyleft licenses are better at promoting software freedom.
Edit: I do agree with you that LGPL serves an important role in promoting free/libre software where it would otherwise would never be used.
There's a fair bit of bias in the terms "restrictive" and "permissive", which make MIT seem like a 'better' choice than a give-and-take license like GPL.
The truth is, MIT is risky for developers. Using just one line from an MIT-licensed project will automatically allow others to exploit your work without giving back. I'd prefer to advocate for balanced licenses that protect both user and developer interests.