Backwards compatibility, once more
Posted Dec 13, 2012 0:06 UTC (Thu) by man_ls
In reply to: Mmm
Parent article: Haiku edges toward general release
You make good arguments. However, I am not sure that the background idea is completely sound. I would like to point you to a subtle contradiction in your message:
- When systems have evolved in a common direction you complain that the result is a lot of cruft and shows the legacy.
- But when projects have broken with the past and evolved in different directions, then you complain that there is no unifying vision.
The underlying theme is the same old tension explained in this classic Spolsky article
You will notice that the only way to keep backwards compatibility is to keep the cruft and polish it. Many packages in a modern distro have preferred this route: Linux, X Window System, Bash, emacs (and vim). But, as others have pointed out, all this baggage is actually useful: it codifies many use cases which have not disappeared magically but are still used by someone. Whenever a specific bit is not used by anyone it will decay naturally. Just browse the Debian-PowerPC archives for an example.
On the other hand, when compatibility is not a requirement developers are free to break with the past. The result is not always to the liking of everyone: we have seen many recent examples with PulseAudio, systemd, Gnome 3 and Ubuntu Shell, to keep it short. In an unconstrained environment such as the GNU/Linux ecosystem, it is inevitable that some people will prefer compatibility, and others will prefer to take a different route of their own.
Breaking with the past and bringing everyone else aboard can apparently be achieved only in a very reduced environment or when there is a controlling entity, and even one of these conditions may not be enough: Microsoft has tried to peddle Windows Vista and now 8 without success, and in the reduced *BSD world there are many competing distros. Perhaps Haiku can do what it does (break with everything) only because it has no inertia and few developers. We will see.
to post comments)