This is on Howard Dean's failed (or, if you like, "failing") bid for Presidency in the United States, based on an unusual campaign. The author is dissecting what happened. Along the way he hits a serious number of good points, among them this gem, which stands out:
Imagine if a mailing list had to issue a formal opinion on the issues discussed, and lurkers got a vote. The high-flow posters would complain that the lurkers votes would not reflect the actual discussion that took place, merely the aggregate opinions of the group, and yet that is how the primaries work. Talking loudest or most or even best means nothing.
Wow. He's referring to the highly visible people yammering about Dean - MoveOn.org, etc. - and how in the end, their visibility didn't matter but their votes did. Even so, the social aspect of his point is fantastically appropriate - for Java, for politics, for everything. (If you want the context, it's Margaret Mead's assertion that change is a factor of a small, committed group willing it into existence... and he's saying that democracy tends to work best when Mead is wrong.)
Consider, though... without rancor, let's choose a product that has a fanatical following, or even better, one that does NOT: EJBs. (I admit it: my first choice was to pick on JBoss. Then Hibernate. Then Jakarta. They aren't quite as apt for the illustration as EJBs, though.)
Anyway, the prevailing wisdom, shouted from on high, is that EJBs - entities in particular - suck. They SUCK, the text reads. Everyone makes sure that you're informed of the alternatives. They're awful. They're slow. They're *urk* TRANSACTIONAL. They require specific deployment - by someone who knows deployment - as opposed to letting the developer do it. They're complicated.
Blah, blah, blah.
Fact is, they're common. The ordinary programmer still uses them, still manages to use them successfully *enough*. They may be the enemy of the best, but they're still GOOD. All the press given to their competitors technology-wise doesn't change that, so all you people whining about them can go on whining... and they'll still be all right, and the common programmer, the person you're busy trying to enlighten with your God-given programming wisdom, won't care. He'll nod wisely in agreement, and keep on using the technology you hate.
It goes for me, too. I've spent a lot of time lately digging into Netbeans, Eclipse, JAXB, JSTL, JSF, various Jakarta burpings, JBoss, Hibernate - and while my time is limited, I'm intending to master the intricacies of every one of them, even though in some cases I have a virulently negative impression of the projects in question. In others, hey, I've been enlightened after all. My point is that I'm no better than you are, you Hibernate-loving Jakarta-committing Eclipse freaks. Just because I'm not one of the glitterati in these projects doesn't mean I'm all of a sudden the Joe Common User, with all the power - it just means I'm still me, and if you consider yourself to be Albert Genius User, The Enlightener Of The Peoples - you're wronger than I am. You're Joe Common, too, just being vocal about it.
Enjoy!
Joe, this is exactly what we see as one of the core issues of projects at
The Codehaus. As Plato has said, democracy is just a step away from hell.
The populace, taken in aggregate, really, doesn't know what's best for
itself. When equal votes are allowed, experience and wisdom are greatly
discounted. Benevolent dictators (or in our case, despots) should, in
theory, have the wisdom to make good decisions for the people. A
malevolent dictator is of course bad news.
Luckily, with open-source projects, you can pick the dictator you want to lead you. At least that choice, though, won't cause harm to the populace on the whole. For example, I'm not harmed by the many who decided to "vote" for .NET and use it willy-nilly everywhere. I am harmed when a project I am using gives everyone a vote about future direction and development.
Instead, I look for projects with strong leads/dictators/despots whom I trust and allow to make decisions for me. I count on the fact that they are benevolent and have my best interests at heart, even if I don't necessarily understand those decisions at the time they are made.
Equal votes assumes that everyone is equally wise. Subsuming your own ego to follow a wise project lead takes a leap of faith, of course, but one that I find worthwhile in the grand scheme of things.
bob mcwhirter [bob@werken.com]
But,, Bob, you're doing the EXACT SAME THING. "But I *AM* enlightened," is
what you're saying, because the unwashed masses don't know any better.
Fine. Be enlightened. The simple man don't need you around, anyhow.
As usual, edumication is the answer - and it applies even to those who think they're the ones who are qualified to do the educating.
Sure, I guess I'm doing the same thing. I guess though, that I was
somewhat arguing that if Knuth or some wise man had designed EJB, we
wouldn't be in the position of getting by with "good enough". It's the
design-by-committee/everyone-gets-a-vote that causes mediocrity. I trust
Knuth. I use LaTeX. I don't question the wackiness of it too often
because I trust Knuth.
Then again, I've been accused of being too academic and not pragmatic enough at times. The enemy of "good" certainly can be "better" sometimes.
bob mcwhirter [bob@werken.com]
Sorry bob, but I disagree with your assertions about codehaus. codehaus in
fact is one of the most extreme examples of the various open source
repositories where the silent majority is screwed. Many projects in fact
seem to go out of their way to try and appeal to the vocal obnoxious
insignificant minority of those seeking 'cool' and 'academic' toys to play
with. The only people confident enough to actually use that stuff are the
committers. So the majority might be stupid, they're bright enough however
to know that a bunch of guys writing stuff for the coolness factor isn't
really a recipe for success.
Hani Suleiman