23
submitted 11 months ago* (last edited 11 months ago) by jack@monero.town to c/rust@lemmy.ml

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

you are viewing a single comment's thread
view the rest of the comments
[-] calcopiritus@lemmy.world 4 points 11 months ago

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.

[-] jack@monero.town 8 points 11 months ago

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

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

I didn't know that the difference between LGPL and GPL is that it allows to statically link. Then idk the reason

[-] javasux@lemmy.world 1 points 11 months ago* (last edited 11 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.

[-] SomethingBurger@jlai.lu 6 points 11 months ago

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 5 points 11 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.

this post was submitted on 30 Nov 2023
23 points (96.0% liked)

Rust Programming

8163 readers
2 users here now

founded 5 years ago
MODERATORS