08 June, 2011

On the value of contributing opinions

I recently read a mail on the KDE core-devel mailinglist by Eike Hein. It was quite a good description of the value of opinions and ideas for a FOSS project - something I've been thinking about quite a bit lately.

What is the value of an idea, suggestion or opinion? That is a much harder question to answer than it might seem. Free Software projects solicit user feedback in a variety of ways. For example via a bug tracker or comments on announcements. Users are sometimes asked to participate in mailing lists or on forums. Interestingly, both users and developers often complain about the process and results. Users feel they are not heard, developers say the comments are unfriendly, de-motivating or useless.

In Eike's case, he commented that the user was
sort of implying that the current placement of things in workspace isn't already the result of a thought and decision process, while not actually having done your homework yet on what the purpose of the components in question is
So, he felt attacked a bit - the user makes it seem like the developers just did something at random. And the user didn’t bother to inform himself, so the comments aren’t useful either.

value of input

Taking this serious, it raises the bar for input from an user: first of all, he or she has to assume thought has been put in the decisions by the developers. It might not seem that way sometimes - and it is not always entirely the case. But often, it also happens that the developers simply had more or other use cases in mind. As developer, you have more than one user so you have to make your application fit with more than one way of working. In this case, Eike elaborated on the design decisions here.

Second, input is clearly only useful if it is well thought out. Hein comments further in the mail:
Sorry but that doesn't cut it - starting a discussion like this on that sort of rickety foundation is likely to end up as a http://bikeshed.org/ discussion because the quality bar for participation is already so low: It's easy to have an opinion, but hard to argue for it, so everybody will chime in with a few quick words, and it won't amount to anything substantial.

I personally would like to echo his statement. Yes, opinions are easy - everyone has them. That doesn’t mean they are useful. Unfortunately, without putting in a serious amount of thought, they end up being trivial.

I stumbled into this myself, about 7 years ago. I was active in KDE-promo at the time. Being a student, I had time on my hands to read up on what was going on in KDE development on the KDE-core-devel mailing list. And I voiced my opinion on things there as well. Which was considered - well, noise. I wasn't a developer and most of what I had to say was subjective or irrelevant. This was, at some point, simply told to me in a friendly, private mail. I realized that the person writing that was very much correct and refrained from cluttering the threads on the mailing list from that point on.

So what then?

So this knowledge puts a burden on whoever wants to really contribute thoughts and ideas. Quoting Eike again:
Wanting to shape the product is awesome (we need more people looking at the big picture), but the only way to have debate like this is to do the up-front work so a thread can hit the ground running.

So, yes, throwing some trivial comments at a project is not helpful. If you want your input to mean anything, to be helpful, you'll have to put in more thought. Find out what the background is, why those decisions were made. This is not a trivial amount of work, I recognize that. Most users won't have time to put in that much effort in something.

But it also means that yes, developers do welcome input. They need it to create better products. And you don’t have to be a coder to help. You don’t have to be a designer or a marketing professional. You DO have to commit a serious effort, however. "talk is cheap" is not always true, but very often.

All this doesn't mean that if you're new, un-experienced or not all-knowing, you can't contribute. Of course you can. "There are no stupid questions, only stupid answers" and all that. But you have to be serious. You have to realize that adding trivial comments in a thread on a mailing list has a serious cost: time of the people reading it. Time which could have been spend on reading more important things, or even better: writing code.

openSUSE

In openSUSE, the -project mailinglist is known for having a (too large) number of trivial comments. In his announcement of Tumbleweed Greg mentioned that there had been discussions for years about doing a "rolling update" version of openSUSE on mailinglists and at conferences, but nothing has happened yet. He indicated that this is something he sees a lot. A word has even been invented for it: bikeshedding. Which basically means that people have lots of opinions on simple subjects but this provides little actual value. And when asking for input on a more complicated matter, where it is really needed, often responses are few and far between. This is exactly the problem Eike talked about. Many, if not most developers have unsubscribed from the list, or don't read it anymore. That is a serious issue. Think about it - does your opinion actually add anything to a discussion? Or is it just noise which keeps others away?

bikeshed.org is recommended reading on this subject!