top | item 42986170

(no title)

debeloo | 1 year ago

>But all it has done is enable developers to make these breaking changes in the first place, under the protective umbrella of “I’ll just bump the major version.”

Which is just fine when it is a non funded free software project. No one owes you anything in that case, let alone backwards compatibility.

discuss

order

ninkendo|1 year ago

The problem is the normalization of breaking changes that has happened as a result. Sure, you don’t owe anybody backwards compatibility. You don’t owe anybody anything. But then whole ecosystems crop up built out of constituent parts which each don’t owe anyone backwards compatibility, and the result is that writing software in these ecosystems is a toxic wasteland.

It’s not an automatic outcome of free software either. The Linux kernel is famous for “we don’t break user space, ever”, and some of Linus’s most heated rants have come from this topic. All of GNU is made of software that doesn’t break backwards compatibility. libc, all the core utilities, etc, all have maintained deprecated features basically forever. It’s all free software.

debeloo|1 year ago

Agree with the toxic ecosystem wasteland, but I'm not sure semver is to blame. Linux has been good, but most projects were pretty wild before SemVer came to be. At least with SemVer you stand a chance knowing what you have.

It problem is more deep rooted with both "move fast and break everything" and non/under funded project. Everyone is depending on each others hobby project. The js/npm culture is especially bad.

Yes, SemVer makes it easy, but versioning has to be dead easy.