Users and Developers in FOSS

August 11th, 2010

Want to hear something interesting?  The often made claim that “there are no distinctions between developers and users” is at worst a lie and at best misinformation.  What it actually means is that if you really don’t like something about a program you have the code and can change it yourself.  What the implication though is that if you have an issue with a program you can contribute these thoughts to the developers and be taken seriously – which pretty much is never the case.  The reality of the matter is that unless you are willing to actually code the fix yourself it simply wont get done and even then you have no guarantee of it actually being included.  On average you have more chance of being listened to by closed source developers as their success is financially linked with your usage.

Sure if you can make the thing crash then that’s clearly a bug and the bugtracker can take care of it.  What I actually mean is what if the program fundamentally doesn’t do what you need or essential functionality is missing?  What then?  All the talk of ‘community developed’ falls flat once the realisation kicks in that unless you are going to code it yourself it’s simply not going to get done.  Obviously if someone is working for free they don’t have to listen to you, but it’s not really honest to promote it as an alternative to the proprietary market if there is no actual movement to compete.  You cannot choose “scratching your own itch” and “if you don’t like it don’t use it” as an answer if you also want to choose “quality, useful software”

Take Ubuntu for example.  If our interested user (say, myself) was to try it out and decide it was not suitable but was keen on the whole ‘open’ thing then the first port of call would be to say so on the forums.  I tried this and aside from the inherent defensiveness of the community to criticism (which is a whole other post) I was repeatedly told ‘the developers don’t read these forums’.  After much more investigation it was made clear that Ubuntu was only the packager and hardly wrote anything, instead getting everything from ‘upstream’.  I realised what I wanted to get involved in was largely usability concerns with the Gnome desktop (this was circa 2004 btw) and after searching various borderline-dead mailing-lists I came to the startling realisation:  There is virtually zero dialogue between the developers and the users.  I had always just assumed there were places where vibrant debates between users and developers were taking place but despite half a decade of searching I’ve only found a few isolated cases in a few random places.  There are occasional efforts to reach out, such as the 100 papercuts thing but they are generally one-offs at best, rarely significant and tend to be the exception that proves the rule.

But what about Ubuntu Brainstorm you say? When I asked a senior member of the Ubuntu design team about this I got the following reply:

“Forum contributors, if they see a response from a developer, may be reassured or inspired to contribute elsewhere. But that’s an intangible benefit, and unattractive for that reason. That’s why you get told “The developers don’t read these forums”. That’s why Brainstorm acts mainly as a honeypot drawing noise away from the bug tracker. And that’s why it’s gradually getting more difficult to report a bug about Ubuntu. We *need* to erect those barriers, so that we have time left in the day to improve the software.”

That is they are actually making efforts to erect barriers between the creators and the users as apparently there is no time to listen to them.  The very fact that no efforts are made to find out what your users think and what problems they are having is disturbing enough, actively putting roadblocks in their path is just madness.  After all the only people who make it through this trial-by-fire are going to be the most tenacious pro-Linux advocates.  Of course they think everything’s hunky dory and dispute what I say, it’s the very definition of selection bias – the unhappy people all left a long time ago.

Virtually every other FOSS project follows the same model.  They release it and then you can either submit ‘bugs’ or get ‘support’.  Try it.  Google your favorite FOSS project and see if you can find a link to something even vaguely related to user feedback.  Then check to see if it’s actually being used.  Then go to a random closed source projects site and check if they have any way to give feedback – and post your results!

I actually wrote a long post outlining the necessity of user feedback and how it is important to know how your software is being viewed by your users.  The idea was basically a three tier system staffed by recruited volunteers (who largely do not necessarily have to know anything about programming).  The first, public facing, level simply take and log user concerns, issues and the like.  This way you would have some hard numbers to questions like ‘Why do people discontinue the use of this software’.  The second level would look for trends (or would be alerted by level 1) in problems and aim to address the core issues that keep coming up sending a detailed report to level 3 who would create proposals for the core developers based on the discovered issues as without such a system there is absolutely no (remotely scientific) way to know what people think of your creation.

Unfortunately since the developers don’t read the forums it was ignored, but so it goes.

Photo by abux_77