this post was submitted on 30 Nov 2023
1 points (100.0% liked)

Rust Programming

8074 readers
2 users here now

founded 5 years ago
MODERATORS
 

UPDATE: I found this issue explaining the relicensing of rust game engine Bevy to MIT + Apache 2.0 dual. Tldr: A lot of rust projects are MIT/Apache 2.0 so using those licenses is good for interoperability and upstreaming. MIT is known and trusted and had great success in projects like Godot.

ORIGINAL POST:

RedoxOS, uutils, zoxide, eza, ripgrep, fd, iced, orbtk,...

It really stands out considering that in FOSS software the GPL or at least the LGPL for toolkits is the most popular license

Most of the programs I listed are replacements for stuff we have in the Linux ecosystem, which are all licensed under the (L)GPL:

uutils, zoxide, eza, ripgrep, fd -> GNU coreutils (GPL)

iced, orbtk -> GTK, QT (LGPL)

RedoxOS -> Linux kernel, most desktop environments like GNOME, KDE etc. all licensed GPL as much as possible

top 22 comments
sorted by: hot top controversial new old
[–] technom@programming.dev 1 points 10 months ago

The newer FOSS projects have a preference for permissive licenses like MIT. That's due to a narrative going around that copyleft licenses like GPL are somehow 'less free'. Apparently, GPL etc are not free enough that companies avoid such projects. And if you want your project to be adopted, you have to avoid these licenses. You can easily guess who is behind such narratives and why.

[–] alsaaas@lemmy.dbzer0.com 1 points 10 months ago* (last edited 8 months ago)

always go with the GPL family if you don't want your work to be stolen by a proprietary project

[–] belated_frog_pants@beehaw.org 0 points 10 months ago (2 children)

Something being "the most popular" doesn't make it the right license for everything. FOSS uses the GPL if it makes sense and often when it doesn't but its not an end all be all for FOSS and its needs.

https://snyk.io/learn/open-source-licenses/

[–] SomethingBurger@jlai.lu 1 points 10 months ago (1 children)

It is, though. GPL forces all code using a GPL-licensed project to also be GPL-licensed. MIT is a cuck license allowing corporations to use your code for free without anything in return, the entire text of the MIT license could be replaced with "pls steal my code harder, daddy big corporation".

[–] belated_frog_pants@beehaw.org -1 points 10 months ago (1 children)

A "cuck" license? I have 0 interest in engaging in any meaningful conversation around "we live in a society and rigidity of value measurement cannot be without context" because thats childish at best and a dog whistle of the anti-intellectual at worst.

[–] SomethingBurger@jlai.lu 1 points 10 months ago

I'm using cuck in the literal sense, not the MAGA fascist sense. Your code, someone else's profit. GPL or bust. If corporations want to use the features of a FOSS project without contributing their changes, they can fuck off and rewrite it from scratch.

[–] jack@monero.town 0 points 10 months ago (2 children)

That doesn't explain the preference for MIT tho

[–] XTL@sopuli.xyz -1 points 10 months ago (1 children)

Mit is kind of the "I don't care and I don't want to think about it" license. I also suspect many will also just use the same license they see in other projects. So, if they've been using rust crates that are MIT, they're more likely to pick that. But who knows.

[–] jack@monero.town -1 points 10 months ago

That makes sense, it's probably easier to just use MIT instead of learning the differences between GPLv2, v3, AGPL, LGPL, MPL etc

[–] Octorine@midwest.social -1 points 10 months ago

Preference for MIT and Apache is part of the culture of rust. Also, the lead dev behind Redox has mentioned that he chose MIT over GPL because it makes it easier to contribute, which he felt was important for getting Redox off the ground.

[–] snowe@programming.dev 0 points 10 months ago (2 children)

I have never heard anyone claim that GPL or LGPL are the most popular licenses for tools. From what I’ve seen it’s the opposite. MIT is by far the most popular by an insane margin. So much so that when I see an lgpl license I’m surprised.

[–] rah@feddit.uk 1 points 10 months ago

for tools

For GNU/Linux tools?

[–] jack@monero.town 1 points 10 months ago* (last edited 10 months ago)

Most of the rust projects I listed are replacements for stuff in the Linux ecosystem which are licensed (L)GPL. The most popular toolkits by far are GTK and QT, both LGPL

[–] Narann@lemmy.world 0 points 10 months ago

GPL is basically a contract that code will always be shared if distributed. This licence ensure any distributed library will give your code (legal standpoint).

MIT is more a use as you want licence. Devs can take the code, build and distribute binaries without restrictions.

They are not made for the same reasons. If you want to write Libre software, GPL is your friend.

As other says, rust build statically by default, having a MIT ecosystem help to spread the langage. Yet, this also mean someone can see its code used in a commercial product without sharing back, credits or counterpart.

Different uses.

[–] Vorpal@programming.dev -1 points 10 months ago

LGPL specifically does as far as I understand have some issues when used in rust. In particular the border for the copyleft is dynamic linking. That doesn't work well with rust. I would instead consider MPL where the copyleft border is on a source file level.

That said, I'm not a lawyer!

[–] calcopiritus@lemmy.world -1 points 10 months ago (2 children)

Probably because rust links statically by default, so making a library gpl means users will be forced to make their project GPL too, so MIT libraries have an incredible advantage.

IANAL though, so idk.

[–] SomethingBurger@jlai.lu 1 points 10 months ago (1 children)

so making a library gpl means users will be forced to make their project GPL too

So GPL libraries have an incredible advantage.

[–] calcopiritus@lemmy.world -1 points 10 months ago

GPL libraries have an advantage in their legal power. MIT libraries have an advantage when users have to choose between 2 libraries.

All other things being equal, users will use more permissive libraries. So unless maintainers put more effort into the GPL, a MIT one will gather more users, which attracts more maintainers, which ends up in more MIT libraries than GPL ones existing.

[–] jack@monero.town 1 points 10 months ago (1 children)

That's what the LGPL is for, the library itself has to stay open source but the program using it does not have to be. So no advantage for MIT

[–] javasux@lemmy.world -1 points 10 months ago* (last edited 10 months ago)

The text of the LGPL actually imposes some very inconvenient restrictions around static linking:

Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.

https://www.gnu.org/licenses/lgpl-3.0.html#section4

In order to be compliant, you would have to also ship linkable object files of the proprietary application code alongside the executable.

[–] BB_C@programming.dev -1 points 10 months ago

It's a conspiracy too big that I don't think anyone of us can really understand or grasp the scale of it all.

Thankfully, the EU was aware and prepared. And the EUPL is ready to usurp whatever project license, whenever needed.

[–] anlumo@feddit.de -1 points 10 months ago

The GNU project emerged from academics, which don’t get paid for their software in general, they get paid for writing papers about it. So, they want to stop all commercial use of their software.

The Rust project emerged from the startup culture, where everything is just a stepping stone to eventually get sold in some kind of software project to get rich. So, being able to use the software in a commercial setting is essential.