Conversation

Jarkko Sakkinen

Edited 6 days ago
For open source to surive, I think there should be radical shift towards wider use of copyleft licenses. This is the reality now, and it is better to accept it. And BTW, I was never a huge GPL advocate before.

How to tackle this with Rust and especially cargo, is an open question that needs to be resolved.

Throwing one potential solution: theoretically cargo could detect LGPL in dependency chains and make DSOs of these crates, which would be piggybacked into a virtual filesystem in the executable.

I'm not sure tho does that still comply for LGPL 2.1 when used e.g., in proprietary context.

There's also ABI work ongoing to get a stable DSO ABI for Rust but perhaps distribution problem could be resolved without resolving the ABI problem?
2
1
4

pinkforest(she/her) 🦀

Edited 6 days ago

@jarkko Most libraries in Rust are tiny heavily interconnected for good and bad, designed to run in environments where it does not assume runtime yet alone OS. Introducing dependency (and overhead of) runtime shenanigans goes against the ethos. Good luck with that will not happen. Unlike C Rust favors tiny compilation units and radical sharing over monolithic big library approach - also Linus recognizes DSO is not suitable for everything https://news.ycombinator.com/item?id=27009044

1
0
0

@jarkko Also the idea that one will save storage space is nonsense given LTO exists. One would also argue that monolithic big libraries end up taking more space given everyone re-invents the wheel implementing some parsing functionality (with varying quality) instead of coming up with one good library that does it properly that gets widely shared over people re-inventing wheels in every big library fortress tribe living in their own islands.

1
0
0

@jarkko EUPL-1.2 anyone?

1
0
0
@oleksandr Just learned of its existence so no further comments :-)
0
0
0
@pinkforest OK so how does it allow to use copyleft licenses effectively in those tiny units? I'm lost with this talk about storage space and runtime overhead, which have absolutely nothing to do with the topic. This is about IP protection e.g. with LGPL.
1
0
0
@pinkforest LGPL terms are technically very hard to implement when using Rust. How the linking works enforces GPL to anything using that dependency, even if you purposely wanted to use LGPL+ to allow fair even proprietary use (like e.g., ffmpeg).
1
0
0

Jarkko Sakkinen

Edited 5 days ago
And not understanding the function, up- and downsides etc. of different ways the license open source software gets people ripped off these days.

And that's why e.g. Linux self-governs it so well because it has a proper license enforced legal framework to do so.
0
0
0