Some experience again with some developer inspired me to some further thoughts. To generalise this a bit more: How should developers working on a FLOSS project interact with the public? What can they expect users and other people from the community to do and what should be expected from them? First I think that nobody should expect anything from anybody. The expectations come into play if one wants to move things forward instead of just doing something for our own ego. So generally if you want to develop a or work for a community based FLOSS project you should be willing to interact with the public in this or that way. This said does not mean that this has to be in a special way.
One constant behaviour I am experiencing is that developers tend to think from their own knowledge. So they think what they do know, everybody knows or at least will know and be able to find out the right information like they do. Even the next step is rather common: That developers expect rather simple users to compile out of a version control system or that they are able to enable the features they look for by compiling it themselves. I guess the reason why so many FLOSS developers think like that is because they tend to communicate a lot with fellow developers and come to the conclusion that every user is or could be a developer.
One thing is true: Many FLOSS users are more knowledgeable than a general Mac or Windows user. But to EXPECT users to have that knowledge or the time and willingness to walk those paths a developer does every day is just ignorant to other lifestyles and focuses in live and even to other attitudes to computer work. So it might be ok to ASK a user to test a new feature from the latest source code, but its not ok to EXPECT all that from EVERYBODY.
And here we also come to the basics of human interaction: If somebody comes and asks a question because he or she is interested an a topic or in a software it should be the goal of community members not to turn people away. Every community project depends on a positive interaction of those who are involved and those who are interested. I have seen myself how a good spirit in a community can make a difference at Foresight Linux. Its ok to take a RTFM approach if you don’t want to make a community project and hate to talk to people. But then it might be better not to pretend to do a community FLOSS project. those projects highly depend on communication and interaction. If this does not happen this will in a high volume of redundant work. I have constantly found out about different projects doing the same thing and actually not knowing from each other – and often these projects die out. This is described in “ReinventTheWheel“.
I think IsYourRudenessNecessary describes very good the wisdom that has been developed of more experienced community members. Quote:
“One of my specific problems in real-time fora like InternetRelayChat is with people giving a smug, useless answer that’s a waste of everybody’s time, then getting irate when the questioner inevitably reacts badly. Example: “Anyone know about foo?” “Yes, many people know about foo.” The questioner may well be irritated by this; unsurprising, because it’s a worthless reply which helps nobody. You’re not a robot; there is no need for this anal literalism. Anyone with two brain cells to knock together is aware of common forms that questioning in the English language can take. Our imaginary questioner clearly has a foo-related issue and is looking for people knowledgeable in the ways of foo. Answer the earlier question with: “I don’t, but Fred is our resident foo expert,” or “Yes, I have some foo experience, what’s up?” or some other useful response….”
I have often met users who know much less tabout one topic han I do. And I could easily satisfy myself with a “RTFM” answer. But again this really helps nobody and also if I am in a situation myself where I look for a specific information I am happy if somebody also takes the time to either takes the time and explains the issue or points me to where i can get an answer. This sure is more true if the answer to a single question is “yes” or “no”. I remember having some very lengthy email conversations with an technically experienced usenet user who always answered perfectly minimalistic. But this in the end costed both of us maybe ten times the time that it would have if he would have been able to answer in one good and understandable answer/sentence.
I also have experienced that it is mostly better to invest more friendliness and time, because this results in more knowledgeable users that are then empowered to get the information themselves instead of only having a limited insight. So often the less information you are sharing the more time you will have to take to answer simple questions – keyword: transparency. Transparency comes from good websites. At Foresight we have just put the FAQ in a wiki that everybody can edit and just adding the answers you give in IRC also in this wiki made this FAQ grow quickly. Its not really a good FAQ, but people use it and refer to it so I could see how some questions just seem to have disappeared in IRC and users are getting more experienced and even writing their own HOWTOs as they make their experience with their own hardware or specific software needs.
I often prefer to talk personally to some developers instead of just looking up an information because it gives you much more insight and you also have the chance to tell them you like their software. Humans are social beings and so you often learn quicker and more in social interaction than if you just work on information gathering yourself. It also gives developer insight of who is using their software and also which information can not be found in a FAQ. With this I do not want to suggest that everybody turns to the IRC instead of trying to find the right information themselves! I often work months and years to find out how to do things without asking on the right channels. Asking in IRC always means to get more involved in a software or project than just gathering bits and pieces. You give and take. And I always love to see the users I have taught answering questions to the absolute newcomers.
There are some users who are just (sorry) stupid. Who demand everything yesterday are just taking our time. I am one of the first that starts to ignore them or tell them that their style is not ok. But these really are less than one percent of the users. Most do just have some simple questions they like to be answered which should not be too complicated?
What I suggest or asking for is not that knowledgeable users give up their own interests. Instead I argue that its in their own interest that the community as a “being” be more knowledgeable and by that becoming a real help instead of just a bunch of users desperately seeking for bits of information. And also do never underestimate what you can learn from others.