Recently the Mono team started using Subversion to manage their source code. On a project the size of Mono, such a shift was bound to reveal interesting things about the culture of large software projects. In particular, we might get a glimpse at the answer to the oft-considered question, How much of a project’s source-code management is implemented by their SCM software, and how much is implemented (perhaps invisibly) by the project’s culture?
In a recent email to the Subversion dev list, Ben Collins-Sussman offered a Case study of the Mono-project switch to Subversion. It’s a gem. Reading the email, I couldn’t help but be fascinated by the effects of scale, of old habits, and of project leaders. It seems that for the Mono project, culture is a crucial part of their SCM system. How crucial it is, however, may not have been appreciated until after trying to switch to Subversion. Fascinating stuff.
If you are at all interested in how software-project teams function, especially at a large scale, do read the email.