|
|
Subscribe / Log in / New account

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 15:05 UTC (Thu) by bluca (subscriber, #118303)
In reply to: Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ... by taladar
Parent article: Vendoring Go packages by default in Fedora

No, that is very much not true, and objective data on that is so overwhelming I have no idea why you have to say it. Just check the changelog of glibc or libsystemd or any other system library if you don't believe me. The problem is manageable because developers of said libraries have learnt to do updates, bug fixes and add new features and interfaces without breaking backward compatibility, but apparently this looks like an alien concept in the golang/rustlang ecosystems.


to post comments

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 15:34 UTC (Thu) by Wol (subscriber, #4433) [Link] (1 responses)

> but apparently this looks like an alien concept in the golang/rustlang ecosystems.

Because they don't wear the same rose-tinted glasses as you? Because in their world view this particular problem just doesn't exist? (After all, isn't that one of the selling points of Rust - whole classes of major problems in C just disappear because the concept doesn't make sense in the Rust world.)

It's like a bird trying to explain to a fish how you spread your wings to soar in the wind - the fish (one or two excepted) will have no idea what you're talking about.

Cheers,
Wol

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 16:12 UTC (Thu) by bluca (subscriber, #118303) [Link]

Breaking compatibility in public APIs affects all languages and ecosystems. What changes is just who pays the cost. Making sure it's not _developers_ who pay the cost of _developers_ breaking compat doesn't mean it's free.

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 17:34 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

Debian 8 from 10 years ago had about 43k packages. Debian 12 has about 64k packages. That's not a particularly fast growth.

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 17:59 UTC (Thu) by mb (subscriber, #50428) [Link] (4 responses)

>bug fixes and add new features and interfaces without breaking backward compatibility,
>but apparently this looks like an alien concept in the golang/rustlang ecosystems.

Just because Rust chose different solutions than you prefer for the problem of backward compatibility, doesn't mean that they don't care.
Just because somebody else does something different from what you think would be the correct solution doesn't mean they are doing it wrong. It's quite possible that you are wrong. Not everybody except you is an idiot. Do you get that?

If you think backwards compatibility in the C ecosystem is so far superior, then where are C Editions? Where is the common practice in the C community to use Semantic Versioning?
These things work _really_ well in the Rust ecosystem. And they are either completely absent (Editions) or used extremely rarely (SV) in C.

Except from very few examples like glibc there are few projects in the C community that really care about backward compatibility to the extent possible with Rust Editions and Semantic Versioning. Most projects are stable because they are not changed much on the interface level anymore. glibc being a notable exception.

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 18:36 UTC (Thu) by bluca (subscriber, #118303) [Link] (3 responses)

> Most projects are stable because they are not changed much on the interface level anymore. glibc being a notable exception.

This is absolute nonsense. Again, there is data on this, just look at it. Compare symbols exports vs SONAME revision of common system libraries. libsystemd0 alone added 213 new APIs just in the very latest release. SONAME revision is still 0.
Just because rustlang/golang library maintainers can't or won't maintain backward compatibility, it doesn't mean nobody else will.

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 18:48 UTC (Thu) by mb (subscriber, #50428) [Link] (2 responses)

>Just because rustlang/golang library maintainers can't or won't maintain backward compatibility

Saying that Rust people don't maintain backward compatibility is:

>This is absolute nonsense

They do it in a very different way.
Like it or not.

There are more solutions to a problem than the Luca-way, you know?

I do understand that you either don't like or don't know what Rust people do.
But I'm just asking you politely to stop spreading this "they don't have/care about backwards compatibility" FUD.
I have ignored you for over half a year here in LWN comments and you are still busy spreading that nonsense. Why? This annoys me just as much as anti-systemd-FUD annoys you.

If you want Rust to have a stable soname/ABI, please come up with a proposal about *how* to do that.
Be constructive rather than destructive.

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 19:41 UTC (Thu) by bluca (subscriber, #118303) [Link] (1 responses)

> I have ignored you for over half a year here in LWN comments and you are still busy spreading that nonsense. Why?

Because it's true, whether or not you like it. The standard library changes soname on every build. Backward incompatibility is programmatically baked in the build process itself.

Don't just vendor - rebuild the ecosystem and persuade the vendor to work on software management ...

Posted Jan 30, 2025 19:44 UTC (Thu) by corbet (editor, #1) [Link]

So are we sure that this conversation is going anywhere but in circles? Might it be time to conclude that there isn't more to be said (again)?


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds