- cross-posted to:
- technology@lemmy.world
- cross-posted to:
- technology@lemmy.world
A few people pointed out that many rust projects were MIT licensed and since then I indeed have seen MIT licensed projects everywhere in Rust. Then I found the link of this post and it looks like MIT was by far the most popular license in all of opensource in 2023.
Any ideas why?
MIT is the de-facto license that says “Do what you want with the software, just give me credit. Also, I don’t owe you anything”.
It lets people do basically anything with it but protects you from:
-
People who would steal your project and claim they were the original creators (your name and copyright info is filled in the license which they have to include and mention)
-
Any sort of liability or warranty - people can’t blame you for any damage done by your software
Don’t GNU, MPL, EUPL, and other opensource licenses do the same? Why is MIT favoured?
-
The rust community cares more about the spread of rust than the long term user freedom problem that the GPL/AGPL solves.
If you click the link, you’ll see that Rust projects are no exception in their use of MIT. Do you believe other programming language communities also just care about spreading?
Unfortunately, open-source software is quickly being coopted in many communities, particularly due to corporate influences, such as Microsoft (with GitHub, WSL, etc.) or Red Hat (closing down RHEL). Corporations must use open-source, and GPL (which I am a strong believer of, by the way) does not allow most corporations to use the software, as the software must remain free-and-open-source (FOSS).
Not really, you can charge for GPL software, but you must always provide the source and anyone may redistribute those
MIT license predates the GPL. Tiny projects like X chose it many decades ago.
Most Open Source software is written by corporations.
Probably the largest developer of GPL software is Red Hat. I will avoid responding to the “closing down” of RHEL except to ask how Alma and Rocky are doing. Pretty well I believe.
Permissive licenses like MIT and Apache require the software to “remain free-and-open-source (FOSS)”. That is “the software” released under those licenses (not some future software that has not been written yet).
WSL is Open Source.
But don’t let the facts get in the way.
Unfortunately
Depends on how you look at it.
I think some would argue that the competition and rapid innovation garnered by companies who are more freely able to leverage existing software in capitalist society, and the products and services they bring because of it, might be a net positive for the world, in comparison to the alternative.
I think if you were to go down the path of what many FOSS zealots seem to want (not capitalism), you end up with a system that does not promote competition, and people get tired of nothing happening, and society as a whole may not progress much.
Obligatory link to https://choosealicense.com/ - which gives some guidance and overview of license differences
This is not a rust thing. Most popular languages with a library distribution system favour permissive licence like MIT Apache 2.0 or BSD or similar.
More mainstream languages are that way because cooperations use them - most people learn a d use the language that will get them a job or the ones used by where they work. And if the language it tooling and libraries where not permissive they would likely not be allowed to be used in a lot of companies.
And most of the libraries written for languages these days are done by people paid to do it, either directly by being hired or sponsored to do so or so they can be used when they are at work. The GPL would basically not allow the vast number of people who are writing code from using the library.
Standard libraries…sure, but I think OP is talking about general projects.
Techbros love MIT
If you’ve ever been in a position where you weren’t able to relicense an entire project as GPL, or were developing for a platform that doesn’t allow LGPL3 libraries to be used because users can’t replace the LGPL3-licensed binary (ios, android, game consoles, proprietary hardware), which I’m sure many people with programming careers have experienced at some point, you’ll quickly find that any copyleft-licensed library is effectively useless to you.
I would wager that those who have had to deal with that before are much less likely to use a copyleft license for future projects.There’s also a lot of small projects where the developer doesn’t care about licensing. They just want the code out there, and for anyone to be able to use it, as long as they get some recognition for making it.
Most people aren’t lawyers, and don’t care enough to read all the different licenses and compare them all. They pick the simplest one that ensures anyone can do anything with it, and they aren’t held liable for anything.
Apache is too full of legalese for most people to bother reading. BSD has different versions which make it more complicated to pick which one you want. MIT has much less confusion about versions (there are different versions, but most people associate ‘MIT license’ with the most common one).
And then the existing popularity helps lock in a license choice once you’ve picked a license category. “If MIT is good enough for ‘x’, it’s good enough for me.”
…developing for a platform that doesn’t allow LGPL3 libraries to be used because users can’t replace the LGPL3-licensed binary (ios, android, game consoles, proprietary hardware)…
TIL. I didn’t know that LGPL would add any additional restrictions except for inside the library
Explanation from HN in case anyone else is wondering:
In the case of the App Store, Apple is the one doing distribution, so Apple must also comply with the terms of the license (in addition to the app developer). Apple has decided they will not do that (that is, people they distribute to will not have the ability to modify the LGPL code, relink the final executable, and run it on their devices), so Apple cannot legally distribute binaries that contain LGPL code.
It only makes sense, then, that Apple should preemptively reject apps that link in LGPL code, as they know that they will not abide by the licensing terms.
I think it’s at least partially a cultural thing. I used to participate in the ZFS ecosystem. ZFS got kinda burned by having it’s spread limited due to it’s pre-existing license, but found a home in the BSD ecosystem.
Once burned twice shy. So add-ons, extensions, etc were defacto BSD 3 Clause licensed in that community to avoid that issue moving forward.
I could only speculate why MIT is used a lot in the rust community, but if you’re taking inspiration from a half dozen other successful projects and you see them all MIT licensed, you’re probably going to lean towards MIT when picking your own.
Permissive licenses are trending in popularity vs copyleft. As a “newer” ecosystem, the Rest-dev culture skews towards permissive.
Why are permissive licenses popular?
Most Open Source software is written by companies.
“Permissive” licenses offer more flexibility and compatibility while minimizing future legal complications. You can replace the word flexibility with the word freedom if you wish. By compatibility, I mean it can be combined with code using other licenses. So no “we cannot combine ZFS and Linux” type problems.
MIT offers the absolute minimum of legal footprint and maximum compatibility.
The above are attributes companies value.
On the other side of the “freedom” front, licenses like MIT guarantee all of the “4 freedoms” that groups like the Free Software Foundation talks about with adding an restrictions on the freedoms of others.
So, why doesn’t everybody use MIT? The patent guarantees in Apache 2.0 are useful if you are ok with the added complexity (still permissive but more legalese).
It’s a multi-decade tradition that goes back to Project Athena, a collaboration between MIT, DEC, and IBM. X11’s reference implementation has been the main flag-bearer of the license, propagating it forward to many freedesktop.org projects.