When I read the database report from Evans Data that I wrote about yesterday, I noticed that the open-source databases—MySQL and PostgreSQL—fared rather poorly, in comparison to the commercial products (notably Oracle and DB2). Hmm, I thought. Maybe it's a case of "you get what you pay for."
But then I chatted with Evans Data founder Janel Garvin while I was putting the final touches on the article (see Database Developers Users' Choice: Oracle). She pointed out that most open-source developers, particularly as reflected in the company's Linux and Open-Source report, are hyper-critical of their tools. Generally, she says, the developers tend to be less satisfied with the quality of any open-source tool they rate... compared to, say, Windows developers rating commercial Windows tools. Janel and I spent some time musing about the reasons why.
If I were un-fond of open-source, I expect that my opinion would be that developers are simply honest, and that they are perfectly well aware that the proprietary solutions are superior. Except I'm an open-source-friendly kind of gal, and I don't think that's what's happening here.
Instead: I think it's a matter of self-criticism, in this case where "self" is "myself as part of the open-source community."
That is, when you pay someone else to supply a box of shrink-wrapped software, you're emotionally distant from it. You may rant about its inadequacies, but you're essentially powerless to change them, and you have no expectation that your personal opinion will affect the product's evolution.
With open-source software, on the other hand, a developer who sees a missing feature or an unfixed bug has her own skin in the game—or is connected to those who do. There's a sense of personal responsibility. Even if you don't fix the application, you easily can have a sense that it's something that ought to be addressed, darnit, by someone. And, unlike the attitude that one can easily bring to a commercial product ("I wish they'd add that gargleblaster capabilility, but I guess it's not a priority for the company"), with an open-source tool weakness a developer can easily say, "Hey, why isn't that working right, yet? Get on the stick, folks!" Perhaps we are all more critical of our own families than we are of others'.
It's like the old adage about the difference between involvement and commitment, as demonstrated by making breakfast. The chicken who supplies the eggs is involved, but the pig who supplies the bacon is committed.
If this is so, then it's probably neither a good thing or a bad thing; just another unique attribute of open-source communities. (Though it does make it more difficult to compare products!)
But that's just my take on it and I'm going on nothing but gut feel. I'd be interested in other views: why do you think open source developers are (statisically speaking) more critical of open-source tools?