Developer and User Interaction

A free software project such as the many projects under the KDE umbrella do not need users, they only need more developers. A user which is not able to develop is useless. Because of that it is totally acceptable that you demand that user’s should start learning programming to fix the bugs they report.

Of course such an opinion is as ridiculous as users demanding that bugs get fixed or insulting the developers who spend hours and hours of their spare time to produce an awesome product.

What I want to indicate is that the relationship between users and developers in a free software project is very special. And we need both: we need the developers and we need the users. What’s the fun of developing if nobody is going to use your software? How do you get new software if there are no developers?

A recent incident on a mailinglist and similar incidents before motivated me to finally write this blog post which I had in mind for quite some time. I hope this can help users in the interaction with developers. Now I have to add that I am not an expert in that area and most of the things I put down here are based on my personal opinion and experience.

The Value of Free Software

Free Software is something incredible: hundreds of developers write software in their spare time and not only do they give it away for free, no they also give you the right to do whatever you want with the source code. Furthermore you are allowed to give feedback directly to the developers: through bug reports, through mailing lists, through blog posts and many more possibilities. Each user can interact directly with the developers. There is no expensive support hotline in between. Keep that in mind whenever you have the urge to communicate with developers. It is one of our greatest values and it would be a pity to lose it.

Developers are not evil

No developer is going to destroy his software. No developer is going to introduce bugs on purpose. No developer is ignoring bug fixing. Whatever you think, developers are not evil. They are more interested in a successful product than you as a user. It’s what they invest time for, it’s what they like doing. If a developer is not fixing a bug or not even reacting to it, it’s not because he does not care, it is more likely that he did not see it, that he does not encounter it, that he just does not have time or something else. It’s never about ignoring the user. Also developers do not remove features to harm their users. They have to think about more than just a collection of features. Sometimes it is required to remove a rotten log in order to get something better. It might be worse for you, but in general it’s better for all. Developers don’t change for the sake of change – we are lazy.

You are not a Developer

Remember that you are not a developer. You should not try to discuss about technical details with developers: you cannot win. No matter how good your opinion is, no matter how smart you are, the developer is most likely an expert in his area and has a better view on issues. If he tells you something is not possible, it most likely is. If he tells you he cannot fix a bug, that’s the case. If he has to remove a feature, he has to. Please accept it, don’t argue, you will make a fool out of yourself.

Developers might be busy

Even developers might be busy: they have a day job, they might have to learn, they might have to write a thesis. Accept that they cannot answer to your bug reports instantly. It may take some days, maybe even months till there is a response. It’s not optimal, but that’s the way it is. Please also respect the private life of the developers: don’t query them in IRC without asking, don’t send them private mails asking for bug fixes. At least for me it’s a certain way to ensure that the bug won’t be fixed any time soon. Just think if everybody would send their bug reports via private mail, it doesn’t scale.

Bugs belong into the Bugtracker

It’s obvious, right? A bugtracker is the only available tool to ensure that the bugs can be tracked. A comment on a dot article won’t fix your bug, a mail to a mailinglist will be ignored. Use the bugtracker. Even if it seems to be a dumping place, it’s the best we have.

Don’t state the obvious

A unresolved bug in the bugtracker is not fixed. You don’t have to repeat in each minor release that it is still not fixed. If it were fixed, it would be closed or you could close it. Repeating the obvious just causes even more mail in my already overcrowded mail account and it does not increase the chances that I fix the bug for the next release.

Not all bugs are equal

Just because you have a bug which really annoys you, don’t assume that anyone else has the bug. It’s possible and likely that no developer is using the same workflow as you do. So the very obvious bug might be completely hidden to the developers. Also developers run a different version than you do: they run the latest development version. They might be not aware of a bug in an old version. So don’t assume that everyone sees your bugs.

Everybody has his pet bugs

Yes, you are not the only one having bugs. At the time of this writing the KDE bugtracker lists 23374 open bug reports with a rate of more than 400 new bugs per week (more gets closed). So every user has his personal very important bug which has to be fixed. Also there are many more open bugs than the developers could fix. Yes it’s software, yes that is normal. So don’t rally for the bug to get fixed. I as a developer decide which bug I’m going to fix and if I see that you think your pet bug is more important than the pet bug of someone else, I go for someone else pet bug.

Don’t insult

It should be obvious but it isn’t. Don’t insult the developers. It won’t help your case. Do you really think I’m going to fix your problem (which I do not experience) if you are insulting me? It is contra-productive and harmful. Remember that we spend our spare time. If I get insulted in my hobby, I might pick a different hobby. Your problem is never that important that it is worth the risk that developers are leaving the community.

We are not going down the GNOME road

It’s the argument I hate most when it comes to adding new features or removing existing ones when needed. Nobody is going down the GNOME road and it’s a very insulting statement towards the awesome GNOME developers for whom I have great respect. Such arguments are not going to help you: you want a feature and you try to convince me with such an argument? If you need a feature convince with real arguments under consideration that the developer has to take care of more than just collecting features.

Features are Expensive

Each added Feature means more code to maintain, more code paths which could break, more time to spend, less users which actually use a given code path and by that worse testing. There are valid features, there are not valid features. If the developer decides against your idea, please accept it, he has to take care of more than adding a bunch of functionality. Also please think about how likely it is that you find a new great idea which has not yet considered in the past? Please also use brainstorm.forum.kde.org to suggest new features. Everything else is most likely to just be ignored.

Developer Mailinglists are for Developers

It’s great that users can follow the development process directly by reading the internal mailinglists. But please remember that this is the think tank where the developers need to speak freely. There they exchange their ideas, there they might post controversial ideas on purpose. Don’t jump in and tell your opinion on how stupid the developer is. The mail was not intended for users but to get valuable feedback from other developers. Respect that, don’t destroy the discussion by pulling it in the wrong direction.

Don’t mention the war

Yes KDE 4.0 was a bad release, not ready for productive usage and aimed at developers. There is no reason to bring up KDE 4.0 in a discussion about a present bug or missing feature. It is our past and we cannot change it, especially not the developers who joined after 4.0. If you keep mentioning the state of 4.0 people will ignore you, even think that you are a troll. So just forget about it.

You don’t need to learn C++ to help

Everybody can help, so please give something back. It’s the best way to convince developers to fix your bugs by becoming part of the community. There’s documentation which needs to be written, there are translations which need to be done, there is a marketing team which needs help, there is user support which is lacking supporters, there are designers who need more clones, there is the bug tracker which really needs to be cleaned up. Especially if you hate that your bugs don’t get fixed, help the developer team by taking away the burden of going through all the useless and duplicate bug reports.

I hope these items help to keep KDE the friendly place which it is and helps to keep the relationship between users and developers healthy.

70 Replies to “Developer and User Interaction”

As a user of KDE — and occasional reporter of bugs — I am surprised by one of the points: I would have thought that testing/confirming the presence of a bug after a release was helpful: as you say, the developers are busy, they may not have the time to look/merge all the duplicates, the bug might have come from some obscure interaction of features where fixing/changing one of them resolved the other issue.

I usually don’t check on “my” bugs after each release — but I always told myself that I should, but for my laziness…

IMHO it is less a matter of when something is added but more what is added.
“still present” is not adding any information, the unresolved status already contains this.
“no longer reproducable” or new observation/effects on the other hand are useful at any time, especially after a bug fix releae

I read through your post and you make a lot of good points – One of them, however, is a little concerning – “You are not a developer”, in particular the piece about someone should never try and discuss technical aspects with a developer. If this is taken in the context of simply trying to argue with a developer because th ey’re not doing it the way that the arguer wants, then I’d agree with the statement. However, in a more general context, my thoughts are that cutting off discussions would be limiting to a developer; you may be a subject matter expert, however they may be another method that you haven’t considered, or other similar insights. Discussion can also be a form of validation; the points bring brought up by someone in a discussion helping to prove that your approach is the best way forward. It also helps to limit more potential developers, since they may truely just not understand a concept and discussion would allow them to understand the fuller picture and give them a drive to try and help.

Just to level-set, are you defining “Developer” as a) person who is developing for the same project as me, b) person who develops code on any project similar to the one that I work on, or c) person who develops code on any project ?.

Depends a bit on the perspective of the developer I think. I was able to to help a developer of a Java Android app the other day despite being only semi-proficient in Java and never having done Android development.

I usually like to inform users to some extent and ignore irrelevent or wrong comments, but I recognise the time pressure.

As a developer myself I completely agree here. Even if you are the developer, you are not perfect. It’s ridiculous to say that other people cannot argue with you about technicalities if they are not developers themselves. A discussion has to stay constructive, and *all* parties must be aware of their personal limitations. If you/I as a developer cannot even convince a user that his wish/bug is invalid, then you do something wrong. Yes, it might take time, but anything else is just arrogant.

Furthermore your list should really also mention something to the developer crows: Don’t be drama queens. Seriously, just ignore trolls and don’t waste your time on it. This whole mess is just a joke, I can’t understand how people can get so emotionally and personally affected by $random-user. I encountered my fair share of trolls and crazy people in my time as a developer. Worst thing that happened? A good laugh at what people can come up with…

I think this could be interpretated as a slightly arrogant attitude. After reading through it, it sounds to me like

“Don’t bother me, idiot. But hey, you can do the dirty jobs for me that don’t want to do.”

I can understand why you wanted o point out some of these points, but somehow insulting the average user as a stupid guy, who doesn’t know his way around the technical stuff is not fair. You too are a user of software you are not a developer of, and you surely don’t want to be threated like this.

Milian, Burke: I think you are a bit exaggerating his points for the sake of your argument right now. I think it’s quite clear what Martin is trying to express. And this is not a doctrine, it’s a post in a personal blog.

I’ll break here one of your rules, Martin. I will state the obvious: everyone should agree with everything written here.

It’s not arrogance, it’s not a “I’m better than you because I rule and you suck” attitude, it’s reality. Trying to argue with a developer about a technical issue is like trying to argue with a physician about the cancer you have, telling him “You are wrong, I don’t have anything! See? I don’t feel pain, I feel OK!” Sure, you will win the argument, but losing your life in the process.

I don’t know a iota about C++, I studied law in a Civil Law country and I’m specializing in Administrative Law, so, I can’t help with bugfixing and I can’t even do a proper algorhythm. However, I helped to translate Bangarang, and report bugs when things go wrong, so, I agree with what you say not only with words, but with hard facts.

So, there’s nothing more for me to say, except one thing: go ahead with KWin! There are lots of people who appreciate your work, and I am one of them!

And what if your have medical education?
As a developer of an open-source software, which is totally unrelated to KDE, I still feel qualified to argue or give good advices related to programming.
Ok, some KWin-specific questions are not my sphere of competence but I still don’t consider to be a dump KWin user.

Would you argue with an oncologist if you just have a medical education? Of course you can discuss general medical topics but not details on how to treat the cancer. Same applies here: general programming is fine, details about Compositing better with the people who know the code.

Sorry but that is really a _very_ bad comparison and at first I did not intend to reply but now I have to.

Physicians are just human and as humans some of these are lazy. I have heard enough first hand data of people being treated incorrectly by so called “experts” in their fields. And how did they realize that? By a search on the internet or by contacting other doctors.
The mother of a good friend of mine was treated a way which was harmful and my friend found that out in the matter of minutes.

Similar some doctors are very close minded. There is only _their_ way. So instead of _informing_ their patients of the different options they only shove their world view down their patients throats. Especially oncology is a field that changes rapidly. Great to believe a doctor that uses methods outdated for ages or not giving you options to choose from …

Base point: To let others think for you, to let others decide for you, to let others “modify” your body without informing yourself is naive.
Further the media and my personal experience prove that this is not only naive but often also very harmful.

On a related topic, the KDE Bugtracker needs moderation features as soon as possible. As it stands right now, it’s really easy to disrupt KDE. The process goes likes this:

1. Well-meaning user finds a frequent bug, takes the time to report it and waits.
2. More people find the bug, many create duplicates but some start to contribute to the bug report.
3. Time passes and there is no response from the developer (which is understandable). Some people start to get nervous and demand action.
4. A few trolls appear. A heated discussion ensues about how they hate KDE or the way the bug is being handled or whatever.
5. Trolls speak, a lot. And insult a lot more. Well-meaning users are patiently waiting, but the developer continues to receive a lot of flak.
6. End result: the bug is ignored or closed as invalid. The developer is offended and sour. The trolls move on. And legitimate bug reporters felt betrayed, powerless and frustrated. Of course, this process doesn’t encourage them to report a bug the next time.

As a user who tries to contribute bug reports it frustrates me to no end how it takes just one guy to completely disrupt the communication and make the developers stop fixing bugs, leaving a lot of bad feelings in the process. And all of this just because there is no opportunity for moderation.

You can see a recent example of this pattern in bug 278891 (victim: Aaron Seigo) but there are more examples from the past, such as bugs 157284 and 181290 (victim: Okular developers).

Sorry if this rant was a bit offtopic but I don’t know where should I post this and the discussion seemed relevant. Please, help the users who do want to help developers.

I don’t think that this is a rant, it’s the truth. We have a problem with the bug tracker and especially with trolls in it. My personal wanted solution is a closed bug tracker just for development and a user support channel for users. If the support channel notices a bug it can be transformed by trusted authorities to the developer bug tracker.

Sounds interesting but I don’t believe that the KDE project can handle two bug trackers, when it already has a lot of problems with just one.

IMHO a solution would be to better inform the user which parts of KDE are unmaintained. For example Bug 270414. AFAIK the folderview plasma widget doesn’t have an active maintainer ATM. This should be somehow visible in bugs.kde.org so the users know that the fix will probably take a long time if ever.

I maybe sounds a bit weird but I think its up to the people who initially reported the bug to defend the bugreport from attacs of trolls. If I report a bug, I mostly want to get it fiexed. What I do not want is the proper developer to be pissed of so that he ignores my report/issue. So if I encounter a person on the bugtracker who blames my developer for the suffering of the whole world, I have to interfer and make clear that he is wrong. I as a reporter have to be sure that my developer is motivated enough to spend time on my issue.

The thing with the two bugtrackers sounds interesting but indeed it is a bit unlikely that two bugtrackers are better handled than one.

I also fear the situation that users report valid bugs but get ignored by the developers for whatever reason.

I think Bug 278891 (The one with Aseigo) is not really a good example. I read through the bug and I had the feeling that most of the time the people were quite polite and showed patience on the issue. I have seen far more bad bug reports where people were really yelling at each other and at developers.

In this particular case I have the feeling that the people following this discussion did not notice that there were already three fix attemps and another bug report around. That’s because nobody told them. For me it seems that there was no developer who told them so. So they felt left alone, which was appaently a reason for a minority to make some nasty comments.

I can understand that Aseigo was a bit upset about that behaviour, but I can also understand that after this, a few desperate users were disappointed because they tried their best to change things but did not succed.

“Nobody is going down the GNOME road and it’s a very insulting statement towards the awesome GNOME developers for whom I have great respect.”

Thanks God. However, I don’t understand why do you consider it’s insulting to gnome developers. It’s known they remove useful features and make their DE not usable for typical users. Do you expect everyone will like the mess like gnome 3? I remember the last “war” between gnome vs KDE and Canonical and I think many from gnome devs aren’t awesome, but just childish. They were hostile for many times when comes to KDE, so don’t expect I will accept their behavior and respect them. People are free to say what they want about gnome and gnome devs if what they’re saying is truth.

Please read again my complete blog post and think about. Think about it for a day, perhaps even longer. Think about what you just wrote. Do you really think it is acceptable to state that “GNOME developers make their DE not unusable for typical users”? I think such a statement is a slap in the face of each GNOME developer who works on providing an awesome workspace. It is insulting and just wrong. We have to get over such childish accusations.

We have to respect each other and I do not care at all if there have been people in the GNOME community being hostile towards KDE. We have to get over that. We are one environment, we have to work together.

“Do you really think it is acceptable to state that “GNOME developers make their DE not unusable for typical users”?”

Yes,something wrong with that? As far as I know there’s nothing wrong in sharing opinions. Even many of the hardcore Gnome2 users agree with what I wrote here. Just read lwn.net.

“I think such a statement is a slap in the face of each GNOME developer who works on providing an awesome workspace. It is insulting and just wrong.”

If some consider it’s a slap in the someone’s face it’s not my problem. If they messed up their DE it’s their problem. I consider there’s nothing awesome in their workspace. They have made it much harder to use. I don’t care too much about Gnome, but I don’t like you want me to consider Gnome is something great etc.

“We have to get over such childish accusations.
We have to respect each other and I do not care at all if there have been people in the GNOME community being hostile towards KDE. We have to get over that. We are one environment, we have to work together.”

Great, but it’s just a wishful thinking. You’re saying about respect, but you don’t respect my opinions and you’re suggesting it’s wrong to criticize Gnome. What’s funny you’re saying we should respect each other, but you don’t care if Gnome community is hostile to KDE same time. If people will stop criticizing projects that are broken such projects won’t benefit from this.

Just think about the harm you do to FLOSS in general if you bitch other projects. Nobody forces you to use GNOME, if you don’t like it that’s fine. But then there is no reason to bitch them. There are users happy with GNOME and if GNOME developers want to only support such user groups that is totally fine and is no legitimation to bitch the developers.

This attitude of constant bitching the different projects is the main reason why FLOSS does not succeed and it pisses me off. If it does not improve I might start thinking about just stopping to care about free software. It’s getting less and less an environment where I want to donate my time for. User’s are destroying their system without even noticing. This has to stop.

“Just think about the harm you do to FLOSS in general if you bitch other projects. Nobody forces you to use GNOME, if you don’t like it that’s fine. But then there is no reason to bitch them. There are users happy with GNOME and if GNOME developers want to only support such user groups that is totally fine and is no legitimation to bitch the developers.”

I’ll try, but I’m asking you to stop making some illusions how awesome they are. People aren’t stupid, so don’t treat them like that.

“This attitude of constant bitching the different projects is the main reason why FLOSS does not succeed and it pisses me off. If it does not improve I might start thinking about just stopping to care about free software. It’s getting less and less an environment where I want to donate my time for. User’s are destroying their system without even noticing. This has to stop.”

That’s not the case. The case is fragmentation and the lack of cooperation. Be fair with you and the community and ask yourself: who is responsible for this?

i dont know if it will help you but
i bet trolls like vorker are a small minority compared to normal users who really enjoy your work
normally im one of them
i got nothing to complain about
so im just happy using kde and reading your blog
quite sad that these few people take all of the developers motivation
i know how important it is to get good feedback for your work to stay motivated (im doing a little game 3d modelling)
maybe we happy user should speak our mind more often how much we like kde and other projects

btw: i dont would like to use gnome 3 my self too
but that doesnt mean i hate it or think its developers are stupid
actually gnome 3 is one of the 2 desktops my mom will get after the next ubuntu lts upgrade
(the other is pantheon)
i guess im just not the target for this DE
but that is the beauty of linux/foss
everybody can decide what he likes best
and what about the casual users? i think its way better if there is an DE like gnome 3 for them rather than seeing them use windows/osx 😀

I don’t know where you get the idea that I called anyone a troll. I have all the right to ignore different opinions on my blog post. That’s why it is a different opinion. You cannot force me to not ignore your opinion. I’m sorry.

I forgot about this one. No, we’re not one environment. Didn’t you read Aaron’s post? He’s fair with the community and he doesn’t fear the truth. That’s why he called Gnome devs to start cooperating. It is known Gnome devs suffer from the NIH syndrome and it seems they won’t accept anything from KDE. Thus it’s always KDE that implements techs which comes from the Gnome environment, but which are nothing more than rewritten KDE ideas.

What’s utterly wrong is your behavior. You can’t answer a simple question and you didn’t even provide a single counter argument to what I wrote before. I gave examples why I do think we’re not one environment and you have failed to explain why I’m wrong. With such attitude you won’t help anyone.

I’m sorry to disagree, but you don’t know this. I am not a C++ developer, or a KDE developer, in the KDE community I am but a consumer. However, this does not mean that I am not a developer. A problem I have found quite frequently is the attitude “patch it yourself” which not only disrespects users who cannot patch it themselves… but other developers who man not have the time, to learn your language, code base, coding style, etc, to write a patch. Don’t make assumptions about your users, like you they are busy, and have lives. I personally write Perl now, and am currently being a poor patch merger, but if I find a bug in KDE I’d like to be respected like a programmer, if not a C++/QT/KDE dev. Just saying.

And unfortunately, KDE still remained only inspired not realized… Still buggy, and incompetent.

Btw,
GNome 3 devs did overhauled their desktop but they did not take away the functionality like KDE did… they have gnome-tweak-tool to enable all the things which users are used to; unfortunately, KDE devs on the other hand, did the opposite, taking away the useful functionality which users are used to.

So, your post just confirms my assertion that Users are Second class citizens in KDE. For KDE devs, Users means parasites, who suck the time of Developers. And users requests (and existing features) means nothing to them.

As I remember, Koffice 2, konqueror, I see arrogant developers who thought what they think is right, like the functionality change of text layout engine… forcing khtml on users when webkit clearly outperforms. So much for Developers know what’s right…

And talk about fixing bugs, it will always be in Next Qt version which has such and such funtionality.

Developer stating, “removing the eye-sore also called plasma cashew (activities)” would introduce unnecessary complexity and would break the design.

The desktop tool box is required to provide users a way to always get back to their system. It is there for a reason. Of course it might be a valid request to remove it, but that is nothing the KDE developers have to implement. If the maintainers say that it introduces too much complexity that is the case. If someone else provides a third party tool, that’s great. That is exactly part of what Plasma aims at: providing a useful default desktop, but offering the possibility for third party developers to extend the system.

I am sorry, but it is technically hardly possible to use modifiers as a modifier and a key. You have to choose. If other systems provide such hacks, feel free to use them.

I’m not asking for new features, but hey I was using it, they snatched away what was precious to me.

That’s exactly the point what I wrote about to have trust in the developers. Do you know how many people might have had problems with this, because it was not working? Do you really think developers remove functionality just for fun? Removing code is as difficult as adding new code. Please just understand that it is sometimes required to remove functionality.

Reason, code is hackish and one developer did not like the users to use Windows key shortcuts. Why?

How can you say that this was the decision of one developer? I see there multiple developers in the thread, I see that a kdelibs maintainer commented, I see the at that time Kicker maintainer comment and I see that the maintainer of KWin had removed the code. Three maintainers of various part of KDE agree on that and you think it’s bad? Come on! Especially don’t you understand what Aaron was writing about?

Personally I find it very hard to believe that you bring up a bug report about changes done six years ago. If you are still angry because of that – reading your comment in the bug report and here – I think you are, it is time to move on. I don’t think that the KDE developers can provide you a platform you are happy with.

This has nothing to do with users are second class citizens. NO! It’s the opposite! We try to make the best system for all users and it is just impossible to make everyone happy. If you want to be happy while other users have to suffer, I am sorry we won’t help you, please move on.

I respect the developers, and I think are the heart of OpenSource. I get angry when users do not respect them. Martin, you are a good example of how a developer must interact with a common user. You’re always respectful and try to teach with your explanations. I am very grateful that the couple of times when I’ve exchanged words with you, I always learned something. Thanks a lot.
But there are developers who do not have a good deal with the common user, or they can not handle situations. That makes the user is also wrong in how to deal with the developer. The following is an example of what I speak:http://bugs.kde.org/show_bug.cgi?id=151614http://bugs.kde.org/show_bug.cgi?id=268575

Self-proclaimed ‘users’ and consumers should just learn to pipe down, shut up and be grateful that there are developers out there who are willing to produce something for them.

A user is NOT a developer. He knows jack **** about what could break a system because all he wants is his selfish wants to be fulfilled. The developer base should have absolute authority on what features are implemented and removed, and consumers and users will do well to take it or leave it if they so desire.

Sorry, can’t agree with you in some points. First of all, developers are humans after all – they make mistakes (if this wasn’t the case there would be no bugs…), they don’t see all possibilities that are there etc. Four eyeballs see more than two – no matter if the additional ones belong to a “developer” or a “user”. Secondly, users aren’t dumb idiots – which you seem to imply with several of your statements (for example “never discuss with the developer”).

Oh, and “don’t insult” ist also a thing a great many developers have to learn – don’t insult the users, you will either scare them off and lose potential contributors (developers don’t grow on trees either) or, worse, they will start trolling and flaming.

And what’s with that paragraph about ignoring bugs because users want them fixed “too much”? Come on, who doesn’t think *his/her* bug is the most important? (If one didn’t think that, it wouldn’t be his/her pet bug after all…)