Reading07: Why Open?
What motivates or drives people to contribute to open source? What prevents people from doing so? What is required to sustain a healthy community?
For four years now projects have been a fact of life. College professors love to assign projects, especially in computer science. Many courses have some form of final project that a majority of one’s grade depends upon. Also a majority of projects are completly open-ended. To me the open ended projects were always the most exciting, the best place to show off my interests and to get a good grade in a class for the hard work I would put in. This raises another question though, if I was only doing the project for the grade why did I ever do more than the bare minimum that the project required? Why should I ever go above and beyond when I was already guarenteeded to get a high grade as long as I checked a set of boxes? The answer to this question, I believe, is the exact argument that ESR makes in his essay. I was simply acting within the gift culture and by trying to have an amazing project I was attempting to increase my own reputation, within the small community that is the computer science deptartment at Notre Dame.
The reasons that people contribute to open source are varied. One of the main reasons in my opinion though, as ESR suggests, may be that many are trying to Homestead the Noosphere
, people see a need for some product that doesn’t currently have an equal and set out to create that product. Even on a smaller scale people may contribute to an existing open source project becasue they see a feature that they would like that doesn’t currently exist in the project. The hard part about contributing though, at least for me, and I would imagine for a lot of other people is that exact gift culture that I discussed earlier. Within the gift culture your reputation is everything and your reputation comes from the work you do, it can be extreamly hard to approcah a group of strangers and present your work only to have it be torn apart by those strangers. This culture can create a barrier to entry that can prevent very knowledgable people from making good contributions.
So if the issue is that there is a barrier to entry what can be done about it and how does the community itself maintain a healthy culture? The first thing is for people that are maintaining a project to realize how intimidating they can seem to outsiders. After all they are the one’s with all the reputation! Hell if they are a maintainer there is a good chance that most of the project code was written by them. If this is a big project, like linux this can make them a god in some people’s eyes. By helping new people have an asscessiable entry point to the project it can benifit the new contrinbuter as they now feel like they have their foot in the door, and the community as they have just picked up another contributer. Finally once someone has gotten their foot in the door in the community it would be wise to remember ESR’s open source taboos. While some would say that these taboos are an affront to open source, I think for the culture that open source has adopted they are a very good enumeration of what not to do. Each one of his taboos in some way is an affront to the gift culture and the reputation-status that it runs on. Forking a project instead of contributing to an existing project gives the air that the current project maintainer isn’t as good as you when in reality he/she has probably written a majority of the code. The other two taboos are taboos for similar reasons, changing a project without maintainer approval also undermines their reputation and deleting their contribution history distroys their reputation completly.
It is clear that the open souce community is varied and has a culture all of it’s own. But understanding this culture and what drives people to contribute to helps us to be better open source contributers ourselves and help advance the entire field of computer science and engineering.