Am 26.11.19 um 01:18 schrieb William Brown:
It's also worth bearing in mind that rust does not have most of the issues which makes C developers so anxious or conservative around versioning and releases.
If you read https://semver.org/, you will find that it doesn't mention C or C++ at all. (It was written by Ruby developers.) Versioning is used for software written in almost any language you can imagine. I don't understand how the language differences between C or C++ and Rust should affect versioning and releases. Some users want stable releases with minimal backports, because they don't want any changes that could disrupt their operation. Whether a language has less or no undefined behavior is almost completely irrelevant there. Sure, you are protecting against some low-level errors, but no language (unless it requires you to formally prove your algorithms) will stop you from introducing high-level errors or just changing behavior in a way that some users might not want. Even in such a language, you would probably want to version the specification. Stability does not just mean "no new bugs", it's more about "no changes in behavior". That's why we give users the choice between Tumbleweed and Leap. It's not necessarily that Tumbleweed is horribly buggy or has regressions all the time, but there are configuration changes, interface changes, removed packages, and so on. As a Tumbleweed user, I have to occasionally fix something in the system, even without any bugs.
As mentioned, rust is closer as an experience to docker than C.
Isolated parts ("leaf" packages) aren't what anybody is worrying about, it's parts written in Rust on which other parts of the system depend. Although actually leaf packages don't really exist: there can always be dependencies outside of the distribution. As an example, users might have scripts on their system that stop working with newer versions of some software. Long story short: keeping stable interfaces is about much more than the ABI compatibility a C or C++ developer might be worried about. That's why versioning is used across languages in pretty much the same way. Best regards, Aaron -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org