Subversion – Creating An Open Team

Subversion is an open source industry-standard tool for centralized version control founded by CollabNet. Subversion has a distributed team and helpful community which would be the envy of any open source project. They have a strong team and a thriving group of contributors. Most of all, the team has become self-sustaining as many of the initial team members have moved on but the team continues to do well. And it almost didn’t happen.

Jim Blandy’s passion about software development is infectious. He was the first Subversion team member I interviewed and it took me a few days to stop talking about him to everyone I met. The idea for Subversion came while Jim was having lunch with his coworkers from Cygnus Software. They were talking about software and one of them described CVS (a version control system Jim had helped build) as “the worst piece of software I use every day.”

Jim talked about this idea with his friend and business partner Karl Fogel and they identified the fundamental problem with CVS: the data wasn’t stored properly. Changing the data storage made a new set of commands possible. The new data storage was the fundamental feature of Subversion.

I spoke with Karl a week later and he told me a completely different story. The basic details were the same, but the team dynamics were totally different. Jim told me about a close group of people who had worked together for years and were in almost constant communication. Karl told me about a community of people from all over who came together on IRC and in mailing lists to create a loosely knit distributed team.

The difference was easy to explain. Jim told me about the way Subversion was when it started and Karl told me about the way it was almost eight years later. Jim left the Subversion project after one year and returned to working on RedHat Linux. He only saw the project’s expansion and growth from the outside. So how did this team transform itself from a small exclusionary group into a larger international community? It all starts with second class citizens.