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.)


Comments on this page:

From 121.45.254.63 at 2011-01-04 11:12:23:

I think the main problem that causes this upgrade-breakage is a lack of co-ordinated FOSS testing.

From 129.97.109.15 at 2011-01-05 09:45:03:

Agreed with the above comment.

My first reaction when I read his bit about Apple forces changes too was, "Yes, they do. Yet the only people inconvenienced when this happens are generally developers, and people who happen to use apps written by those developers, NOT most end-users. Why is that? Oh yes, internal testing."

In the open-source world, particularly Linux-land, users are the beta testers, no matter what the version number says.

I don't appreciate feeling like I'm at the whim of some set of people who are inflicting things on me for my own good. That's why I walked away from Linux on my desktop years ago, and am unlikely to ever return. My own breaking point was having just learned ipchains, then having it replaced with iptables and getting told "this might change again," along with multiple screwages from Debian messing up libc -> glibc -> glibc 2 upgrades.

People like the fellow you linked to make me not regret that decision every time I read them.

-- MikeP

Written on 03 January 2011.
« Why there is a gulf between shells and scripting languages
A new building block of my environment: dmenu »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Mon Jan 3 00:36:28 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.