November 25, 2002

Participation and open source

Andy rants about people who expect opensource project to fix their problems, read their minds, balance their books, etc. (Anthony discusses this too.) IMO this is one of the more interesting aspects of the culture: how does a project make newbies feel like they can understand it enough to try and fix it themselves?

There are an awful lot of factors going into how people react when they encounter a problem. Here are a few off the top of my head, all IMO of course:

  • If the user is a lazy bastard there's really nothing the project can do. Projects that assume a certain level of expertise (more fundamental plumbing) don't have as much of a problem with this while projects that market themselves as "foo for the masses" have more instances. These people are the most frustrating but we shouldn't take it personally and only spend the bare minimum of time on them.
  • If a user believes there's deep magic going on behind the scenes he's more likely to throw up his hands and ask for help at the earliest opportunity. Note that believes is the operative word here -- the code and design can be fairly straightforward but if it's accomplishing something hairy or the docs aren't there the user won't know.
  • If a user can find a FAQ and history of other people asking for help she's likely to look there first. After all, people who aren't lazy bastards don't want to look like lazy bastards. What's important for these folks is keeping the FAQ up-to-date, ensuring that all correspondence takes place (or is copied) to the '-help' mailing list and that the mailing list is searchable, even if it's via google.
  • If a user asks a question and gets attitude back -- "Who are you to question how this is done?" -- or finds a pattern of such a response in the history is less likely to put forth the effort in solving her own problem. Why bother if you're only going to get flamed?
  • If the user can get the project up and running quickly then he's more likely put forth the effort in solving the problem. This is all about perceived reward -- why bother spending the time if you don't know if the solution will actually get you anything? (I also wrote about this on Perlmonks.)

I think one of the many reasons that Struts has done so well is that the user mailing list is very friendly to newbies. The frontline support folks won't suffer people who are lazy bastards, but people who present their problem, show that they've looked in the history and earnestly try to solve it themselves get tons of help. I try to do the same thing with OpenInteract and SPOPS, but it's a much easier task since the userbase is smaller :-)

Next: Those animals in your house
Previous: Martin Fowler interview: flexibility == complexity