Thursday, January 28, 2010

The "itchy spot" theory of open source software

First and most importantly, big, Big, BIG props to @couleeregion for her Drupal presentation for the La Crosse Programming Users Group. Clearly, a great deal of work (not to mention soul-searching) went into narrowing so many possibilities down to one concrete example.

For context, Drupal is a highly configurable content management system. It's open source, and @couleeregion uses it not only to power her own website (www.couleeregiononline.com), but has also given back to the Drupal community by contributing her customizations to the code-base. Those donated "modules," as they're known, have thousands of users. From where I sit, that's pretty darned amazing. It's even more amazing in historical context. She mentioned that when she started with Drupal five years ago, it had around a hundred modules. Today, they number over five thousand.

Stupid analogy time: My husband has dry skin, and typically nowhere drier than a patch on his back in the vicinity of the right shoulder blade. So when he asks, "Would you mind hitting the Traditional Itchy Spot?" my fingernails know the terrain well. My Traditional Itchy spot, in contrast, is a band across the middle of my back. (That being said, neither of us would be so silly as to turn down a full back scratch from the other. That's just crazy-talk.)

Understand that when a programmer sits down to write software for which s/he has no expectation of ever being paid, it is overwhelmingly likely an exercise in auto-scratching an itchy spot--with first priority given to the Motherland of all itchy spots. Thus, s/he invents the software equivalent of a back-scratcher to highly customized specifications. Then s/he might show it off to other programmers, and they just might envy it enough to want one of their own. But...inventing your very own back-scratcher (from scratch--no pun intended) can entail a lot of work. And if your itch is both immediate and acute, it's merely logical to customize extant work. Or, in a fit of forward-thinking, adapt it to accommodate multiple Traditional Itchy Spots.

And thus open source software proliferates. Because for those who can auto-scratch, its just takes too darned long to wait for the Microsofts and Apples and Googles and Dells of this world to finish squabbling over:

  • Whether the standard itch threshold should be measured in metric or Imperial units
  • Whether to use zero or one as the starting-point on the itch scale
  • Whether the contact surface of the back scratcher should have barely-rounded or fully-rounded edges
  • Whether to thumb their collective nose at existing industry standards or full-out moon them
  • Etc...

In the meantime, awesome folks like @couleeregion have already scratched and returned their fingers to the keyboard...where they can better scratch the itches of thousands, if not millions of websites and their users every day.

Thanks again, Ma'am! I hope to be more like you when I grow up.