Judging the quality of open source projects
It seems to me that people who want to use open source projects have a big problem. Several problems actually, but perhaps the most insidious of these is quality. How do you know if that really cool project you heard about is good quality design and code or is perhaps something that is going to be more trouble than it is worth in the long run?
For most open source projects, the quality is simply a guessing game. There is word of mouth, but you never know just how deeply someone has looked into a project. And what is more, perhaps they never found the bug that you will run into.
Perhaps the most important measure of quality for a project is the response of the community.
- When a bug is posted, are people assigned and are they fixing it quickly?
- Are questions responded to in a timely fashion?
If the community is active and supportive, you do get a sense that even if you do find a problem, someone is going to fix it and in a timely fashion.
What I want to see is the principles of test driven development being fully exploited in the community. This would involve a full set of unit tests that achieve substantial code coverage. Of course, code coverage doesn’t tell you everything you need to know, but it does tell you something.
My bottom line is that you need to know the quality of the project you want to use. An ideal community infrastructure would measure both the quality of the testing but also the quality of the team in terms of responsiveness.
I don’t know of anyone who has built a community like that yet, but I would sure love to see it.
Comments
- Anonymous
October 26, 2004
CPAN (http://www.cpan.org/) has done this quite well - a comprehensive library of open source perl modules that are all covered by automated unit tests. They also have integrated bug tracking and software rating.
I'd really like to see a CPAN-quality community for a lot of other languages. - Anonymous
October 26, 2004
the two questions you list are easily answered by checking the forums for the project. It isn't at all confined to open-source projects and I would say that those questions are much more important for software that is closed and that you have to pay for.
GotDotNet, SourceForge, etc, have forums where you can easily look and see exactly how fast questions are answered (or not). Many proprietary software makers have newsgroups and/or forums where you can test the same. I've seen many "hello? are these forums still supported" posts (often never answered and months old) in both opensource and proprietary support forums (including some Microsoft newsgroups, though they aren't exactly official support routes so they don't really count). - Anonymous
October 26, 2004
The comment has been removed - Anonymous
October 26, 2004
Keep in mind that I am not trying to bash the quality. You bring up several important points that I agree with. What I am trying to come up with is a way in which we can honestly expose the quality of open source projects as a means to make them better.
Keep those comments coming! - Anonymous
October 26, 2004
Are you saying that since a project exists it has quality? I hope not. We have all seen projects that are half baked ideas that never got quite finished. - Anonymous
October 26, 2004
Since you work at Microsoft, why don't you come up with a way to honestly expose the quality of MS products. Why look at open source projects when you can't even do this with your own? - Anonymous
October 26, 2004
The comment has been removed - Anonymous
December 22, 2004
Lately, I've read several interesting blog posts and news articles on the differences between open source and traditional closed-source commercial software. To mention three firestarters, here are some articles that led to me posting this: The Luxury of Ignorance by...