The story goes like this: A couple hundred years ago, Scottish chemist Joseph Black was approached by some Scotch distillers. With the explosion of coal power, they wanted to know exactly what techniques they should use to replace their wood-burning distilling processes with coal-fired methods. Black did some experimentation and developed for them the appropriate method.
But his calculations reportedly inspired some new ideas in his colleague, James Watt, who took Black's ideas of "latent heat" and used them in the development of a new steam engine.
The Scotch distillers were "scratching their own itch," and a major technological invention developed as an almost-direct result. This in turn revolutionized power generation, which allowed for major improvements in factories and industrial plants and led to a burst in what we call the Industrial Revolution.
Each of these steps involved new development, new inventing, new improvements in that which was. But how many of these things happened only because Scotch distillers wanted to use coal instead of wood to fire their boilers? If invention were left to inventors inventing only what they themselves might want to have around, would we be where we are today, beyond the industrial, transportation, atomic and information revolutions into this explosion of interactive communications?
The Drupal itch
There's been quite a bit of discussion going on in the Drupal developer community about, well, how to cultivate community. For the most part, there's a recognition that something needs to be done. For example, Dries Buytaert, who launched his idea of an open source CMS a few years ago, noted that in 2005 the user base on Drupal.org grew threefold, but the number of contributors remained essentially constant.
What to do about this has been the subject of debate for the past several days now.
On the one hand, you have folks who believe that if you're not coding for Drupal, you're essentially a parasite -- a "hitchhiker."
Users who don't contribute to Drupal are hitchhikers. Nobody needs them onboard, Drupal will get from A to B fine with or without them, and if they want Drupal to go out of its way on their behalf they should ask nicely, if there isn't time to take them exactly where they want to go hitchhikers should be thankful for the free ride they have had.
Thankfully this attitude isn't a majority opinion -- at least I don't believe so. And the man who wrote the above paragraph has expressed a desire to have it rewritten because he readily admits that the wording is rather inflammatory and off-putting. (Reader: The linked page very well could have changed by the time you look. The documentation pages on Drupal.org are living documents, always subject to revision.)
However, I question the entire concept of users as "hitchhikers." A CMS does not grow in a vacuum. And I don't think it's simply the result of "scratching your own itch," either. Because the fact of the matter is that Drupal is not simply a result of development, it's also a tool for community-building, personal communications, business facilitation and so on.
A product or a tool?
Think of Drupal as the text. The developing community is the writer. And the users, site admins and designers are the audience. One cannot exist without the other. Just as a book's audience gives the book significance and meaning, Drupal's users give Drupal meaning. The text would not exist without the creator; the text would have no meaning without the user.
But Drupal is not simply a text -- a static body -- but is a dynamic object. It's both a product of development by the Drupal developer community, and a tool used by the users to achieve things that perhaps the developers never imagined. Drupal's development gives Drupal existence, but Drupal's use gives Drupal meaning. Drupal is the result of community development. But it's also the result of how it's been applied in the real world.
For example, CivicSpace would not exist if it weren't for the developers who made that Drupal distribution happen. They are doing a lot of hard work to integrate powerful community-building features and modules into a seamless, effective community CMS. But would CivicSpace exist if it weren't for the demand for something like it in the Dean campaign? Would the changes in CivicSpace since then have happened if people weren't actively using CivicSpace, challenging its limits and discovering new ways to make it useful and effective?
Whose itch is it?
How many developers discovered they had an itch to scratch only when a site admin tried to do XYZ or simply asked if something were possible? How much of what has been developed for Drupal and CivicSpace happened in a vacuum far removed from reality?
How many itches that got scratched never would have appeared if the scratcher were not exposed to this or that idea, notion, approach or feature somewhere along the line?
I cannot say for certain, but my guess is that there are very few itches that start tickling in a vacuum. We're all a part of the world. In the Drupal context, we're all a part of the interactive web universe -- at least to some degree. And Drupal's evolution is not just a matter of DNA -- the programming ideas and talents of the developers -- but also a result of the habitat in which it exists.
I think the hitchhiker metaphor is a bad one because it suggests a monolithic construct of an automobile, in which developers are in the driver's seat and everyone else is just looking for a "free ride." The Drupal community is much more amorphous and diverse than a singular automobile, and there are far more drivers than can fit behind one wheel.
And let's face it, the "end users" -- bloggers, site admins, business people, campaign managers, community leaders, artists, etc. -- have a lot more influence on development than a hitchhiker does on an 18-wheeler trundling down the Interstate.
A community defined by Drupal
In the end, I guess I'm saying that Drupal is not only defined by its community, but the community is also defined by what is Drupal. And because of that symbiotic relationship, it's only healthy to cultivate communication and camaraderie across all niches within that community. We may each be able to survive without each other, but we won't thrive.
And just as Drupal does not benefit from users demanding free work from "ubergeeks," developers' looking at the user side of the community as hitchhikers yields no gains, either.
Divided we can survive. But working collectively we can thrive.