Mailinglist Archive: opensuse-packaging (97 mails)

< Previous Next >
[opensuse-packaging] Re: On how to improve Rust packaging experience for suse
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@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-packaging+owner@xxxxxxxxxxxx

< Previous Next >