One of the things I got thinking about during my weekend away at the fantastic LugRadio Live! was the question of how to attract users to Linux / OSS. This was a question that was put out to the audience during the Live and Unleashed recording on Saturday afternoon, and I missed getting my points in
I did, however, have interesting discussions with some guys during the party, and Matt & Pickle on the way back to the hotel.
Currently in the community we have a view that stems mostly from Eric S. Raymonds ‘The Cathedral and the Bazaar’ that says that all users are basically part of the development process, because all users can find bugs. And so much of our focus is ensuring that users become good community members, and that they log bugs, and ask smart questions, so that we can all get along in our big community. Therefore our main aim is really to recruit community members, who should, at a bare minimum, log bugs, but ideally will also help other members with problems, write documentation, draw artwork or even code.
I think this is wrong…..
I think there are, essentially, 3 types of person within any one project:
1. Users - these are people that use the software. They want help when it breaks, but they don’t necessarily want to interact at any other point.
2. Community members - people that are actively involved in the community around the software, but are generally reactive - they reports bugs as they find them, and might answer questions on a forum/mailing list.
3. Community contributors - the developers, documenters, etc. People who proactively produce something that benefits the project.
Now - people can move through the stages. Most people will start at 1. Some will move to 2. Even fewer will move to 3. In the past the FLOSS community has basically rejected people who refuse to move to 2. Conversely, most efforts to increase usership often try to either bring people straight into 2, or bring them in to 1, but expect them to be 2.
Some suggestions
So, if we make this realisation on the categories, what do we need to do to support such an infrastructure:
- We need to develop a support mechanism for the Level 1 people. These people will not and never will log bugs, or ask ‘Smart’ questions. And they should not be required to. If this were commercial software, then they wouldn’t. They could contact support and ask anything they like. We need to be able to do the same. We need to breed a group of ‘level 1 support’ community members, who will happily answer the same stupid question all the time. It’s a sucky job, but without it I think we will continue to struggle to introduce large numbers of people to FLOSS
- We need to recognise that a majority of level 1 people will never become level 2. They will not file bugs, they will not become part of the community, they will not write documentation. Essentially they will only do 2 things:
- Use your software
- Complain if it doesn’t do what they expect - which may either be a bug, or a user error
We cannot ignore these people, but we do have to learn how to deal with them
- We need to discover good ways to attract new level 1 people. This will be the entry point for 99% of people
- We need to work out how to convert people from being level 1 people to being level 2 people, without making it seem mandatory, and thus alienating the people who will only ever be level 1.
- We need to create communities that are not necessarily based on contribution, but merely on membership. Analysers of social trend say that, in this day and age, people first need to feel that they belong, then they will begin to believe, and only lastly will their behaviour change. We need to create communities where people can just belong. Once they then begin to ‘believe’ in that community, then they can recieve opportunities to take action, and ‘behave’ as a community member should.
Anyway - that’s just a few thoughts to begin with. I’d appreciate peoples thoughts/comments, especially experiences with communities and support from both open source and closed source software.
mrBen














