In an article on Linux World, an author discusses what's wrong with open source. I almost referred to the article as "interesting", but it's doesn't cover any new ground or have any earth-shattering pronouncements. I also disagreed with the first argument about "too many developers scratch the same itch"; I just can't get upset over competition. The rest of the article was spot-on, however. I particularly appreciated the reminder that we have to point out why Linux is better and not why Windows is bad (Windows still has a lot of things going for it besides market share).
Pershaps the most significant problem, one which, if solved, would fix many of the other problems, was the “with us or against us” attitude. About a year ago, I noticed some problems with a large, popular software package written in Perl. In response to a post about the topic this software covers, I posted a summary (and clearly marked as such) of an internal review I had done for my company. The review was mixed, but was mostly not flattering. Someone saw this and posted it to a mailing list for the software and sent me the link. I was ripped to shreds for a shoddy "review". When I pointed out it was a summary and not a review, even when I attempted to back up some of the statements, I was belittled and figuratively run out of town. Very quickly, the moderator started blocking my email and wouldn't let me post follow-ups where I was explicitly posting their code to detail what the problems were.
I love open-source, but it would be nice to see people check their egos at the door. To lead the way, here's a quick self review of HTML::TokeParser::Simple. It's my most popular module and it makes life easier, but here are some mistakes:
My CGI::Safe module won't work under mod_perl. Sub::NamedParams should have used Hook::LexWrap internally, but I didn't know about that module. (I could still fix it, though). Finally, AI::NeuralNet::Simple is a perfect example of how awful my C is (but if I ever finish the last couple of tweaks on that module, it will be pretty nifty).
I'm not a great programmer, but I am a good programmer and I still make silly mistakes like those listed. If only we can get everyone to agree to check their egos at the door, life will be good.