We’re on the verge of releasing our code and we’ve spent a lot of time looking at other projects to see what works what doesn’t as far gaining widespread adoption and building a vibrant developer community. There were some obvious differences in the way some projects are managed: Some have paid contributors others do not. Some use OSI approved licenses, others do not. Some had rigid roadmaps set by a small group (or even a single individual) others were more consensus oriented with their planning. Outside of the obvious, it was all terribly confusing and difficult to glean any useful insight from our ad hoc analysis.
Last month when we were at the mySQL conference I was talking to Tony Wasserman of CMU West and he mentioned to me his work in this area. He sent me a draft of his paper titled: A Framework for Evaluating Managerial Styles in Open Source Projects (I don’t have a link yet). In it he analyzed 75 commercial and community based projects (both open and closed source) and measured them along 6 dimensions of managerial styles. The six dimensions are:
1. Code: The percentage of code that is available under an Open Source license
2. Contributions: The relative amount of voluntary code development
3. Project Leadership: The degree to which project leadership is centralized, or not
4. Working Practices: Corporate sponsorship vs. Community driven
5. Testing: The amount of testing controlled by the Company or Community
6. QA: The extent to which there exists a formal QA process and procedures.
The analysis continues to present data that was gathered for several popular Open Source projects including mySQL, SugarCRM and OpenOffice.
From the Radar Chart it interesting to see that how similarly managed projects would have similar plot shapes. I think this is a good way to characterize different projects to quickly see how they compare with others.
Since we’re just starting out our chart doesn’t reflect what we’d like our style to be yet, but is shows the areas where we will need to work toward getting more community involvement in overall process. I think this framework could be useful in identifying patterns that might predict success or failure. I’ll be looking forward to reading the final version when it get published sometime later this year.