Open Source and Egos

Ovid on 2003-12-01T18:52:06

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:

  • Internally, it's a hack that relies on some ugly work with munging arrays and then restoring them before returning them to the user.
  • Tags and tokens should be blessed into different classes to provide proper polymorphism. I was still thinking procedurally when I wrote this OO module.
  • The return_* methods should have been get_* methods. What the heck was I thinking?
  • I appear to be physically incapable of uploading new versions without tyops (sic) in the documentation.

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.


Open Source and Hasty Generalizations

chromatic on 2003-12-01T19:34:15

Be careful. The phrase "open source community" is nearly meaningless. It includes longtime Unix graybeards, BSD fans, Linux users, distributors, hackers, skinners, Emacs users, kernel programmers, thin client users, zealots, pragmatists, book publishers, people who hate Microsoft, libertarians, communists, people who want to fire handguns on airplanes, corporations, scientists, librarians, people who write documentation, parents, children, people who pause live television, graphic artists, political campaigns, governments, security freaks, black hats, journalists, and probably a few thousand other groups.

Many complaints I've read about "the open source community" are really lazy, failing to take into account the fact that just about everybody pulls it in a different direction.

If you think there's an open source community, you're not really in it.

Re:Open Source and Hasty Generalizations

Ovid on 2003-12-01T20:08:21

Mea culpa. I stand corrected. (though I still think it would be a good idea if people started coming forward and saying "these are the things that I screwed up on with my project").

Re:Open Source and Hasty Generalizations

chromatic on 2003-12-01T22:08:50

I really meant to aim more at the original article and not your comments. It bothers me to see so many (admittedly poorly-written and ill-conceived) articles confuse "open source" with "Linux for home users".

The open source world is quite a bit bigger than any one project and there are a lot of groups who just don't care about that particular issue. I wouldn't want to be accused of unprofessionalism or marginalized as a crank because, for example, Zope doesn't work very well on Windows. (I use that as a bad example; as far as I recall, Zope works fairly well on Windows. I just don't particularly care for Python in my personal work and care about Zope even less.)

Re:Open Source and Hasty Generalizations

pdcawley on 2003-12-02T10:34:06

Which leaves me wondering what the right metaphor is. The Open Source country, inhabited by vast numbers of interlocking communities which disagree about almost everything.

My gut feeling is that the biggest problem with the phrase "The open source community" is that presumptious use of the definite article.

Re:Open Source and Hasty Generalizations

chromatic on 2003-12-02T16:06:52

The problem's in needing to use the phrase. What could anyone possibly say that would be true about all of the people who'd be in the open source community, if there were one?

I haven't heard or read anything insightful or interesting. That doesn't mean it's impossible to say or write anything about such a community. It may merely be exceedingly difficult. Another possibility is that tech journalism is full of amateur thinkers and writers. I'm okay with that idea too.

Re:Open Source and Hasty Generalizations

jdavidb on 2003-12-18T16:46:36

Are the ones who want to fire handguns on airplanes the libertarians, or the communists? :)

Re:Open Source and Hasty Generalizations

Ovid on 2003-12-18T17:00:01

It's the Libertarians. They want to fire their handguns at the Communists.

Regurgitated Memes

ziggy on 2003-12-02T16:44:26

Perhaps the biggest flaw in this article is the presumption that there is a single, coherent "open source community". Yet working within the context these two authors present, that criticism is just another incident of "with us or against us". You could look at the «there's a logical flaw in your argument» as yet another instance of the «your question is stupid, and doesn't deserve to be answered» that the authors complain about.

Be that as it may, this article is seriously flawed. Perhaps the biggest flaw is that it not only says anything new, but it regurgitates a lot of memes that have been circulating through open source for years, and regurgitates them poorly.

For example, there's the issue that «we all love a good feud». Well, yes, that's true. If we could decide the one true way to do something (like write a desktop environment, or build a text editor), then we could all pull our resources and do so much more. Maybe even displace Microsoft as the primary software provider for Joe Average User. Unfortunately, there's no one true way to write software, which is why there are long-standing arguments: System V vs. BSD, BSD vs Linux, vi vs. emacs, Gnome vs. KDE, MySQL vs. PostgreSQL, Perl vs. Python, Perl/Ruby/Python vs. Java, and so on.

Funny, but this mimics the real world. Imagine how much more productive the US Federal Gov't would be if we just dropped all of this party nonsense and just agree on what was the best way forward and do it already. Reality isn't like that. Sometimes, having a strong opponent is the best way to better yourself (or your project, or your codebase, or your political party). And what was the counterpoint to this argument? An unsatisfying, «with diversity you get feuds but you get choice and the consumer wins». Sigh.

There are lots of other regurgitated flaws in this piece. This is possibly the worst missed opportunity to really address the fundemental issues.