Community development breathes new life into old gadgets

Open source software can add features to electronic gizmos that their manufacturers never thought of

At home right now I have a coffee grinder that I use strictly for milling spices. My power drill spends more time driving screws or mixing drywall mud than it does drilling holes. And from time to time I've been known to remove the pills from sweaters with an electric shaver.

Many of us regularly make use of household gadgets in ways other than what their inventors intended. Mostly we think nothing of it. A particular trick may sound funny, but if it works, it works -- score one more for the grand tradition of duct-tape ingenuity.

Unfortunately, that tradition seldom holds for digital devices. For example, most DVD players today contain software that lets them play MP3 music. That's a great idea, but good luck getting them to play music in WAV, AAC, Ogg Vorbis, or some other format. It doesn't matter that the circuits and connectors on the player should technically be capable of it; if the manufacturer didn't build it in, then no amount of coaxing is going to make it happen.

Similarly, digital cameras can run the filters and effects their manufacturers supplied them with, and nothing more. If you don't like the UI on your cellular phone, you're pretty much out of luck. Even the iPod, with its wide array of add-on products, really won't do much more than Apple intended it to.

But suppose it didn't work that way? Suppose customers could have direct input into the functionality of the devices they buy and influence it for the better?

I've written a lot lately about the growth of embedded Linux in the consumer device market. Building products on open source gives manufacturers greater flexibility and lower per-unit cost than proprietary embedded operating systems. But it also gives the users of those products a unique opportunity to actually get more from them than they paid for.

For example, at home I use a Linksys WRT-54G wireless router. A few years ago, Linksys released the source code to the WRT-54G's firmware, which is based on Linux. Since then a number of developers have created their own, modified versions. I use a recent one called DD-WRT, and the features it adds are significant enough that I can't imagine why I'd switch back to the factory version.

My portable MP3 player, an iRiver H120, is no longer manufactured. While it's gone through a number of firmware revisions, it seems unlikely that iRiver would release any more significant updates at this point. But over the weekend I installed a third-party open source firmware called Rockbox, which not only lets me completely customize the look and feel of the device but also adds features, such as gapless playback and support for new codecs, that the stock iRiver firmware never had.

To my knowledge, no features from DD-WRT or the other open source WRT-54G firmware have ever been rolled back into the Linksys version. The stock iRiver firmware, on the other hand, is completely closed and proprietary. The Rockbox developers didn't just modify the original; they wrote their own open source firmware completely from scratch.

This seems like a shame. In each case, a custom open source software modification was able to add functionality to a hardware device, above and beyond what was advertised. You'd think the manufacturers would be tickled pink. But the truth, unfortunately, is that these remain unsanctioned, unsupported hacks and nothing more.

More and more, traditional software companies are beginning to embrace the community-driven, open source development model. Let's hope hardware manufacturers follow suit. We live in a world full of amazing and complex electronic gadgets. Who knows what new and innovative uses people might think up for them, given the opportunity?