this post was submitted on 16 Nov 2025
81 points (90.1% liked)
Linux
10165 readers
833 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
"Pushover license" is a pretty descriptive way to call it. I've seen quite a few dumb takes on coreutils that focus on the "Rust rewrite" part and not "MIT-licensed rewrite". Pushover licenses have a place, but to me the goal here is pretty transparent and I don't like it.
I like permissive licenses for libraries, that way you leave room for corporate collaborators, however, all my binaries and end user apps are copy left.
Even then, LGPL exists, I wish more libraries would use it rather than going for MIT/BSD licences.
Rust libraries are linked statically and aren't replaced easily after compilation, this makes lgpl libraries very hard to use in proprietary code. I don't think what the best action is in this case... I should probably start using lgpl.
I'm not an expert on licences by any means, but my understanding was that LGPL explicitly allows you to link it to other binaries with needing to licence them with the same licence. Does rust really only support static linking and not dynamic?
Per the Gnu wiki:
So as long as you also provide your application with an LGPL library shaped hole you can release a static-linked binary with LGPL components.
That was what I was trying to communicate with my comment. It's very difficult to provide the compile objects in rust, and dynamic linking deprives you of many of the benefits of using rust.
It introduces friction if you don't want to open source your code. This friction will drive away many users. I want people to use my code, even in commercial products, so providing libraries in Apache or MIT just makes more sense for that goal. If you have another goal lgpl might be more inline.