Originally posted by Nth_man
View Post
Announcement
Collapse
No announcement yet.
uutils 0.0.20 Improves GNU Coreutils Compatibility For This Rust-Written Replacement
Collapse
X
-
Originally posted by ClosedSource View Post
> And we are not talking about each license of each dependency. And how they can change.
I'm not referring to licensing. I'm just saying if you build your code from way too many external libraries, you risk pulling in bugs these library authors introduced.
One example: Your project "Adam" pulls in crate "Beta" which you found extremely useful because it has that "mogrify(stuff)" function that is absolutely amazing. But that "Beta" crate depends on crate "solvent" - which is not too much of a problem because it is small - but this one depends on "arbiter", "moab" and "dateconverter". Out of these three, "moab" pulls in some other licensed code...
Patent issues - that's a whole other bucket full of worms.
As kpedersen wrote: "Is it just me or is the[list of dependencies](https://github.com/uutils/coreutils/...ain/Cargo.lock) longer in terms of lines of code than the entire C implementation of Coreutils?"
- Likes 1
Comment
-
Originally posted by mmstick View PostThere's no reason to have yet another dependency debate. That's already been debunked here. https://wiki.alopex.li/LetsBeRealAboutDependencies
Rust projects cannot be compared to C projects using quantity of dependencies as a metric. There are entire classes of problems which cannot be abstracted in C because it lacks generics. Many more problems remain unsolved because C lacks the necessary tooling and infrastructure for publishing and sharing code for reuse.
The true extent of dependency usage in C is a hellish unmaintainable enigma. Many have built their software as if they live in complete isolation from each other. There is a widespread epidemic in the C world where there is large amounts of code duplication across projects. Much potential has been wasted because of this. It is a fatal flaw in C which Rust’s dependency management has exposed.
We don't measure our coffee by the quantity of grounds. We shouldn't do that with software either.
Comment
-
Originally posted by Nth_man View Post
Yes. I meant that you found all those problems without the added drawbacks of the licenses of each dependency. As lowflyer wrote:
One example: Your project "Adam" pulls in crate "Beta" which you found extremely useful because it has that "mogrify(stuff)" function that is absolutely amazing. But that "Beta" crate depends on crate "solvent" - which is not too much of a problem because it is small - but this one depends on "arbiter", "moab" and "dateconverter". Out of these three, "moab" pulls in some other licensed code...
Patent issues - that's a whole other bucket full of worms.
As kpedersen wrote: "Is it just me or is the[list of dependencies](https://github.com/uutils/coreutils/...ain/Cargo.lock) longer in terms of lines of code than the entire C implementation of Coreutils?"
It is a very good analysis of runtime dependencies in C applications. A difference is that developers don't see them and they can't control them at build time.
Comment
-
Originally posted by timofonic View PostWhat I love of uutils is it's MIT license. Seriously, GPL sucks and should disappear from existence.
- Likes 1
Comment
Comment