Inside the mind of the enemy: the community
By Patrick McFarland
Online on: 21/11/2006
Now, before I continue, I must mention that, although I write this article for Free Software Magazine, and there is a gulf between ESR and Richard M. Stallman (also known as RMS, the patron saint of the Church of GNU, and the head of the Free Software Foundation), this article does not exist to promote either ESR's or RMS's point of view as the correct one, or even consider them grounded in this reality.
So, two weeks ago, I wrote about how business analysts lie, cheat, and perform dime-store magic tricks to make middle- and upper-management believe in fairy tales. And don't forget the rubber chickens, either.
A friend of mine, after reading that article, said something rather interesting: he said that what I wrote was a subset of ESR's essays. I thought about it for a moment, and I realized that he was right; I really did write about a subset, especially the last sentence: "Linux goes in all directions simultaneously."
ESR effectively wrote the same thing many years ago, and helped inspire hackers everywhere. He even inspired me to hack away at software, although my wizardry skills would make even Gandalf stifle a giggle. I, like ESR, wrote about the Bazaar's modus operandi based on observations.
To state this in a non-verbose way: we seem to have come to the same conclusion on this.
The implied action scene
So, where else does the FOSS community get tripped up? If business analysts are simply the ugly hunch-backed minions of the Bad Guy then who is next on the list? IP lawyers? No. Bill Gates and his vast Olympic-sized wallet? No (although this recent Novell thing isn't helping). RMS and ESR? No.
The next bad guy on the list is us. Yup, us: the community. The FOSS community itself is its own enemy. Not the worst enemy, mind you, but an enemy that still has to be dealt with. Before, I said that Linux goes in all directions simultaneously; this is both a strength and a weakness.
As a strength, this allows any individual to hack on any feature, any program, any anything and scratch his/her proverbial itch on whatever is bothering him. In this way, we often get interesting solutions to interesting problems. The worst bugs are fixed, the most wanted features are added, and the most annoying of either are dealt with in a quick and painful hacking session that often involves swearing like a drunken pirate.
However, as a weakness, this also means that leadership in some projects is non-existant or ineffectual. In Cathedral-style projects, your not-so-friendly neighborhood PHB (fueled by the lies from various ugly hunch-backed minions), although wrong 120% of the time, says what goes in a project. The PHB's vision is corrupt; but none-the-less, it still is a vision.
Now, some Bazaar-style projects do manage to wing it fine. The Linux Kernel itself is a good example, with Linus Torvalds acting as a benevolent overlord. He allows just the right amount of free-form hacking to go into the kernel, and refuses to commit patches that don't provide 100% useful content.
Other projects, however, are glowing examples of what not to do. GNOME, sadly, is one of those projects. Backed by the Free Software Foundation and the FOSS community as a whole, the GNOME project for many years just added lots and lots of feature creep and otherwise unnamed bloat. They seem to be digging themselves out from under that, but they have a long road ahead of themselves.
The GNOME project lacked true vision for those years, and feature creep and other long term development problems rushed in to fill that hole. Problem is, many projects are just like GNOME. Incidentally, few Cathedral-style projects suffer from lack of vision: those that do simply die off and are never heard from again. Bazaar-style development allows projects to be in a zombie state for long periods of time, where it is vastly expensive for a Cathedral-style project to do the same.
Another example: for years, XFree86 languished under the control of David Dawes (who also proved earlier on that a benevolent overlord actually has to be a benevolent), and Keith Packard had to go ahead and fork XFree86 (producing X.org, the now de facto X server for most Linux distributions) to solve this issue. Not only did Dawes lack vision, he got in the way of everyone who did have vision.
The Solution?
I hate to say this, but there may be no easy solution. Unlike in the Cathedral, the Bazaar has no official leadership. Linus, as did Dawes, as do the core development team of GNOME, only have limited control over their small section of the Bazaar; and even then, it is only for a limited time.
Someday Linux will be replaced, someday X will be replaced, someday GNOME will be replaced. In the Cathedral, nothing is ever thrown away, nothing is ever replaced, but here in the Bazaar something better always comes along. This is a strength, not a weakness.
Due to the fact that there are more people like Dawes than people like Linus running projects, the only solution would be to act like the Cathedral. For short periods of time, I believe Cathedral-style development can be beneficial to the FOSS community; someone with vision (corrupt or not) would control a project, driving development behind it, and have the project reach goals in specific time frames.
The future may prove that hybrids of both styles will provide better frameworks to deal with large projects.