- Don't look back
- Is support for OSS optional in your business?
- Nokia N810 Tablet + WiMax
- Vendors need to right-size their products
- Dolphins Invade Sun Campus!
- State of Open Source
- MySQL Workbench: open source data modeling
- Comments on The 451 Group's Database Report & Red Hat's 4Q revenue
- Kaplan: Guiding open source in IT
- Can the transportation market teach us anything about the software market?
August 30, 2006 | Comments: (0)
Research: Maturity of software processes and their impact on open source development
I was reading a research paper [PDF] last night by Martin Michlmayr (University of Melbourne) entitled "Software Process Maturity and the Success of Free Software Projects." The paper addresses the question of "whether the maturity of particular software processes differs in successful and unsuccessful projects" (1).
While the paper offers little in the way of hard conclusions, it does make some interesting observations.
- Version Control Tools.
Version control tools, such as CVS in the case of projects hosted on SourceForge, are used more widely in successful than in unsuccessful projects. Furthermore, a higher percentage of version control repositories are available publicly. In free software projects, CVS and similar tools play important roles related to coordination. Having a private version control repository limits the access of prospective contributors. On the other hand, a publicly available CVS repository allows contributors to monitor exactly what other people are working on. This allows multiple people to work together efficiently in a distributed way. In a similar way to defect tracking systems, public version control systems may attract more volunteers since users see what needs to be done and how they can get involved.
- Mailing lists. 80% of successful projects use mailing list archives, compared to 50% of unsuccessful projects.
In both, version control tools and mailing lists, it is not clear from the present findings whether a successful project requires these types of infrastructure to flourish, or whether the implementation of the infrastructure has attracted more volunteers and so led to more success. Our assumption is that there is no clear causality and that both affect each other.
Still, it would appear that mailing lists are important for lowering the "cost" of outside contributors getting involved with a project, as it serves as a form of documentation. (I've talked here about the importance of documentation.) - Documentation. Interestingly, documentation wasn't found to definitively impact a project one way or another:
it can be argued that user documentation is an important factor in free software projects. However, this factor alone does not determine success. Developer documentation, on the other hand, is not very common in free software projects. A reason for this might be that prospective developers find most answers to their questions from other sources, such as mailing list archives or the source code.
Still, the author doesn't analyze code quality of the projects with/without extensive documentation, as well as other factors. My bet (based on experience) is still that documentation is outcome-determinative in open source projects. - Systematic Testing.
The analysis of processes involving testing shows that successful projects make more
Let the developers know where you're going, and when you'll get there. This makes it easier for them to find the time and inclination to help.
use of release candidates and defect tracking systems than unsuccessful projects. There is no difference in the presence of automated test suites. The availability of release candidates has been taken as an indication of a well defined release plan. While it would be revealing to qualitatively study and compare the release strategies of different projects, the present findings suggest that a clear release strategy coupled with testing contributes to the success of a project.
Not a lot of big conclusions in the paper, but it does point to one general theme: successful projects are permeable. They make it easy (or relatively so) to contribute and use the software. Less successful projects horde information and so require larger investments of time in order to use or contribute to the project.
So, if you're thinking of starting a project, or wanting to improve use of an existing project, try improving access to your CVS (or whatever you use), use of mailing lists, and follow a well-defined release plan. Oh, and document everything. It's boring work, but it's critical.
Posted by Matt Asay on August 30, 2006 05:53 AM
RATE THIS ARTICLE:
-

- COMMENTS
Checklist for iText:
Version Control Tools: check! Thank you SourceForge!
Mailinglist: check! Thanks again SourceForge, but also Gmane, Nabble (most popular for the moment!), and others for archiving the list!
Documentation: check! I stopped core development to write a tutorial two years ago. Now I am finishing a book on the product for Manning Publications Co. Manning 'works' its authors. Writing the book was the easy part; preparing the production version is hell (but very rewarding).
Testing: we could do better. Developers are wining that we should do unit tests, but they forget that PDF is a complex format and hard to test. I do run a complete battery of examples with every release to see if nothing is broken. (For instance: I know EPS support is broken in the latest releases, but it will be fixed in one of the future major releases).
But there's one thing missing in the research paper's list!
Five years ago, I occasionally received a waiver to sign from a company wanting to use my software without risk. As it concerned mostly Texan companies (I spare you the names), I had no problem forwarding those waivers to my Trash bin (if you don't like F/OSS, don't use it).
Nowadays, almost every company has issues about IP (Intellectual Property) and licenses (do you have a 'commercial' license?). Legal departments are bugging me with uncomprehensible mails in legalese. For a small three-man project as iText, it is very confusing and time consuming to deal with these mails.
That's why I am now working with the Technology Transfer Office of my employer, Ghent University, (finally, we have a lawyer!) on a project sponsored by Actuate to make an inventory of all contributors (some go back 5 years).
If I can add one advice to this post: if you start a new OS project, make sure to keep a detailed log of all your contributors (who wrote what).
Btw: I hope to see you all at JavaPolis
Posted by: Bruno Lowagie at August 31, 2006 12:34 AM
- Get Started
- Port 25 Blogs
- OSS News
- Join a Project
{Open Source} Heroes Happen Here
Start today and order your own Hero Hack Pack – which includes Getting Started with Open Source, Windows Server 2008 and Visual Studio 2008 Trial. Each pack is a chance to win a free pass to OSCON 2008.
TOP STORIES
Sun to clarify JavaFX planMS's dev tool service packs
HP in talks to buy EDS
Developers' role shifting
MS: XP SP3 reboots OEMs' fault
Apple: iPhone out of stock
Can Sun rejuvenate Java?
Powerset unveils Google-killer
FBI worried about Cisco gear
AMD updates quad-core Opterons
ADDITIONAL RESOURCES

- Virtualization: A Step by Step Approach to Success
- Dialing up Agility with Business Transformation
- 5 Things You Need to Know About Storage Virtualization

- Is your smaller organization ready for High Availability?
- Is system maintenance doing more harm than good?
- Virtual Test Lab Automation: Manage development infrastructure








