On improved but less functional versions of things
January 3, 2011
Every so often I wind up reading something that makes me see red. Today's is this piece (seen via Hacker News). So I want to write an open message:
Dear open source people, it is really simple. If someone has a working system at time X, upgrades to your new software, and their system stops working, they do not care if their system might work at some undefined point in the future. You broke their system now, and this is what they care about. You cannot win their hearts back by telling them that everything will be even better than it was before at some point in the future. Instead, the inevitable result of breaking things now is to cause people to abandon your software and you, because most people want a working system more than anything else.
(People do not even care about exactly why their system broke, no matter that open source people think that they should, but this is a separate rant.)
This doesn't mean that you can't release your new stuff before it is completely baked and ready to replace the old stuff; release all you want, just with appropriate cautions. It does mean that you should not start advocating replacing the old stuff with your new stuff (no matter how convenient it would be for forcefully recruiting unwilling beta testers) until it really is a fully functional genuine upgrade. Ideally you should think about how to run both the old and the new systems in parallel, so that you can easily recruit testers and so that distributions will have an easier time of making your new, unfinished stuff an option.
In the Linux world, software authors don't shoulder the major blame for this 'let's throw the users to the wolves' upgrade enthusiasm. Distributions play a significant part, because it's distributions that usually make the final decisions. (Sometimes their hands are cleverly forced by software authors who take advantage of 'must have' upgrades to slipstream in new systems as dependencies.)
The poster child for this entire unpleasant phenomenon is Linux audio. I believe that I have gone through no less than four different audio cards over the course of two years or so, as upgrades to kernels or PulseAudio or both broke my current setup and forced me to find some other piece of hardware that today's software likes. I cannot say that this experience has left me very happy, and I am almost out of audio cards.
PS: this is not unique to open source. Very few vendors can get away with going from working to broken and then telling people to suck it up for some amount of time (especially if the amount of time is unknown). When vendors can get away with it, it is pretty much because their users have no options and could not abandon the vendor under any circumstances. Users placed in this situation tend to devote a lot of energy to getting options, at which point the vendor can become very unpleasantly surprised. (Being hated by your customers is not a good thing.)
* * *
Atom feeds are available; see the bottom of most pages.