Open Source Development and "Barrier to Entry"

by Cheryl Jerozal

Cheryl JerozalLast week I had the opportunity to participate in my first "sprint". In a sprint, a group of people gets together and works on an open source project for a few days. In my two days (and one night) of sprinting, I learned a lot, met some awesome people, and contributed to the start of a project. I highly recommend sprinting to anyone who gets a chance to do it.

One thing I noticed, however, was the difficulty of getting to a point in the project where real progress could be made. For example, before my group was able to work on our project, we had to download and install particular versions of six different tools. And then we had to configure our systems properly (set environment variables and run scripts and such).

If there were installers that worked well for all platforms for the tools, maybe it wouldn't have been so bad. But that is often not the case, and the tasks multiply -- we ended up having to install additional tools before we could install the tools we actually needed.

There are, perhaps, the most issues in getting set up on Windows. This might be because most open source developers are not using Windows so they don't bother to document for it and don't have an easy way to test things on Windows. I think this is a serious issue because most people are using Windows. If we want everyone to be able to join open source development efforts, we have to make it possible for people to start contributing on the platforms they already have.

I was able to get the tools I needed running after a few hours because there were people around who I could ask for help when I got stuck. And luckily my pretty-old (pre-college) laptop did not collapse from the weight of the tools. But what about those people alone in their apartments who just want to contribute? And what if they only have a dialup connection?

It's not that people who have trouble getting the tools setup don't have anything to contribute; the problem is it can be difficult for people to get to a point where they are able to contribute. I mentioned these issues to some other sprinters and they said, "Yes, the barrier to entry for open source development is high." But no one was able to tell me about anything that is being done to change that.

What can we do to make it easier to contribute? Produce better documentation? (Lack of documentation is already a big problem in the open source world.) Set up more ways for programmers to connect to one another in person? Make better operating systems so tool setup goes more smoothly?

Cheryl Jerozal is a current CTCnet VISTA serving at NetCorps, a nonprofit that provides technology assistance to other nonprofits. At NetCorps, Cheryl is doing a variety of work including designing and leading technology trainings for nonprofit staff and creating websites for nonprofit organizations.