Off the Beat: Bruce Byfield's Blog

Bruce Byfield

Why are newer versions of free software being rejected by significant numbers of users? Three years after the KDE 4 series began, some users continue to reject it, either preferring KDE 3 or looking for alternatives. GNOME 3.0 and Ubuntu's Unity seem likely to face a similar reaction -- and they are not even in general release yet. Similarly, enough people reject the Amarok 2 releases that Clementine, a music player based on Amarok's first release series, seems to be thriving. The phenomenon is relatively new, but very real, and seems indicative of changes in free software usage that are going relatively unrecognized.

Exactly how widespread the reactions might be is nearly impossible to estimate. Because the unsatisfied are vocal, their numbers are probably smaller than they appear. Certainly, they seem less than half the total users, since many people seem more or less satisfied with newer releases. My own unscientific impression is that the unsatisfied are no more than 25-35% of all users, and may be less than that.

Whatever the numbers, there is nothing wrong with the reaction. After all, free software is all about choice. If anyone cares to keep KDE 3.5 or GNOME 2.32 alive, the licenses positively encourage them to do so.

I do not even think that such forks dilute the programming effort, since I doubt that anyone who rejects the newest releases would contribute much to them anyway. If the discontented care enough to code for the retro-forks, then I would even argue that they are benefiting free software overall by providing greater choice.

Still, I can't help remembering, it didn't use to be this way. Not long ago, people might argue savagely, but they kept with the projects that mattered to them. Something seems to have changed, and I have to wonder what it might be.

The end of the catch-up rounds

Part of the reason for the situation may be the maturity of the free desktop. Ten or twelve years ago, using KDE or GNOME meant giving something up compared to using Windows. Anyone using them did so because they cared about using free software. They were willing to put up with a few inconveniences for a while. If they were developers, they could see all sorts of gaps in functionality where they might make a difference.

However, somewhere in the last few years, the situation started to change. The major free desktops reached approximate parity, and hardware compatibility started becoming less and less of a problem. Users had what they wanted or needed, and developers had less of a chance to make a difference.

In response to this change, developers decided to try to innovate. In reading over the GNOME mailing-lists, for example, it is hard to see any particular need for a new major release, except that developers were coming to the end of what could be done with the existing release series, and wanted new challenges. By contrast, users found that existing features gave them everything they wanted -- which turned out to be not much more than a place from which graphical applications can be launched.

That, I suspect, is why some users continue to be unreconciled with current KDE development. Technically, the innovations in KDE in the fourth release series are brilliant; they include easily changed multiple icon sets, enhanced searching and improvements to virtual desktops.

But the only trouble is, a sizable chunk of users didn't care about these improvements. For one thing, such improvements take time to learn, and may require the changing of old habits.

Even more, importantly, though, the discontented users saw no need for these extra features and the slightly different ways of working and thinking that the extras imply. They were content with what they had, and many probably didn't use many of the features that they already had.

And if the new releases didn't have the features they did want -- as happened with KDE 4.0 -- well, that was just another reason to reject the changes. Never mind that the missing features eventually reappeared. By the time they did, the new innovations had already been judged, and, being content with what they had, the unsatisfied had no strong reason to take a second look.

The separation of users and developers

Another reason for the situation may be that, today, users are not necessarily developers. Increasingly, too, they outnumber developers.

Ten years ago, that wasn't the case. Eric Raymond famously described free and open source development as starting with someone scratching their own itch. That is, a developer wanted some type of functionality that didn't exist, so they wrote code that would add it, or else modified some existing . For all purposes, the developer and the user were synonymous, since non-coding users were a minority. A user revolt couldn't happen, since developers could hardly revolt against themselves.

Today, though, developers and users are no longer distinct at the desktop level. They are at the system level, because few non-coding users venture beyond the desktop, but today the majority of graphical interface users probably have no coding skills whatsoever. Nor do they see themselves as potential contributors to free software in any other role. With most of their experience in proprietary systems and their main attraction to free software being the free cost, they react to free software developers in the same way that they react to commercial vendors (and, often enough, of course, the developers are employees of commercial vendors, at least nominally).

For their part, developers still tend to see free software as centered around them. Too frequently, they refuse to listen to anyone who is not a developer, and to make decisions based on what interest them. Although exceptions exist, on the whole, free software development still has to incorporate user testing and consultation into its development cycle.

The result of these attitudes is inevitable: Users respond to changes like outraged consumers, while developers dismiss user complaints and continually fail to take them into consideration.

And perhaps on some level, the hacker culture of free software discourages developers from listening to users. If they did listen, they might feel compelled to give users what they want -- and since users already more or less have what they want, that would mean that developers would have to work on micro-improvements most of the time, which is generally going to be far less interesting than trying to write the next major innovation in desktops or user application.

The New Reality

This situation is not helped by the fact that the projects that receive the most criticism -- with the exception of Unity -- tend to be upsteam projects. A distribution has a direct incentive to listen to users because its developers want their work to be popular. But what incentive do projects at one remove from users have to listen to them? Only their idealism might encourage them, and habit may often prove stronger.

User revolts are not going to cripple free software. But they are signs of the times, and I think that more projects need to consider what user discontent says about the state of free software and the norms of development.

Comments

Please enable JavaScript to view the comments powered by Disqus.

Disqus