Anyone who has talked to me for more than a few minutes knows I love Open Source software. One of the primary reasons I love it so much is its cost: effectively free. But free also describes the second (by a nose) reason I love it so much. Does Microsoft open up the hood on Windows XP and let you freely poke around and modify it to your needs? If you have ever wondered how PhotoShops unsharp mask tool works, have you been able to just pop up the source in TextPad and have a gander? No way.
Open Source is a practical application of the free exchange of ideas. Not only are ideas and concepts freely shared, you can also get up close and personal to seeing how they can be put into action. Once upon a time, you needed to be in an advanced computer science course in a well respected university to get you hands on the code that makes up a world class operating system. Now, you just need to make sure you click the “include source” box when you download the latest copy of the RedHat distribution.
Open Source software also benefits from having many eyes and many hands working on a project. Typically, a select few review the changes submitted for a particular project and only include the best in the official releases, thus ensuring that only a quality product is released to the masses. If someone finds a security flaw or a bug, they can immediately point it out to someone with the knowledge to fix it or, if they have that knowledge, they can fix it themselves. In addition, the best minds in the business are not locked out of contributing due to politics, region or any other limiting factor. If they contribute something that will genuinely improve the project, it can be easily added.
With all of this potential for innovation, you’d think we’d see a vast explosion of creative projects breaking into the market. For the most part, this has been true. New operating systems like Linux and “free” software modeled on existing packages like the Gimp are very cool, but they lack sex appeal. University research in such areas as artificial intelligence and synthetic speech generation have led to such projects as the AliceBot and the Festival TTS program, which would both seem to bring us closer to owning the computer from Star Trek if we found a way to combine the two.
But therein lies the problem. The Open Source community has caught on like wildfire. The faithful tend to rally around the big names, Linux being the biggest. But those big names are big and popular for one single reason: they are useful. Linux started as Linus Torvald’s personal experimentation in building an operating system using an existing Unix model. Upon releasing it to the world, several like-minded geeks took the source and experimented with it themselves, adding on and modifying it as they saw necessary. In time, they had something resembling a real, stable operating system based on Unix, which typically cost around $10,000 and ran on expensive mainframe hardware, that could run on your average desktop computer. Eventually, a handful of these folks realized what they had and began using it in a production environment, effectively taking it out of the realm of pure experimentation and into that of practical application.
It is that crucial step that separates the 30 percent or so of useful, well known open source projects from the remaining projects that mold in limbo, worked on by small but dedicated groups. The AliceBot, for instance, has been around since at least 1999. Though it has won the Liebner Prize for artificial intelligence several years in a row, it has not been applied to anything that the general public can grab on to. Thus, finding funding and public support has been difficult. It’s not too far fetched to see the practical applications of such a system — this just screams to be used as part of an online automated helpdesk, and there have been some efforts toward that — but the focus of those working on the project is still squarely on improving it to continue to win AI contests.
It’s similar to the argument about art for art’s sake. Working on AI or Text to Speech (TTS) or any number of the other cutting-edge computer applications out there for the sake of advancing the technology is good and worthy. But there comes a time when one must step back and not only think of applications to justify their work but actually put those applications into effect. Unlike art, computer research can have a quantifiable effect on society.
But it seems that too many folks are getting caught up in their research and not really considering what to do with it. When new programmers enter the scene, they will be more likely to gravitate toward projects that have some cachet and are advanced enough that they can jump in without too much ramp-up. Projects like Linux, Apache and the Gimp are used in production environments across the world. Coders who have contributed to these projects wear that fact with pride as even non-techs will have typically heard of these projects. Saying that one contributed to the AliceBot is like explaining to one’s non-tech parents what you do for a living — there’s a lot of explaining involved and the pride of the matter gets lost in the translation.
Thus, these smaller, cutting-edge projects need to start focusing on practical applications. They need to find the “killer app” for their project in order to get more exposure and cachet in the community. They need to improve their documentation in order to make it easier for new contributors to jump in and lend a hand. And they need to do something to lend cachet to their projects so that these new contributors can have bragging rights, which drives most open source coders as much as their curiosity and love for the code.
The way things are going with Open Source now, the focus is on “free” alternatives to existing projects. It’s time to put the combined intelligence of the community to good use, turn the focus away from developing alternatives to existing projects and instead develop the products that will drive our future.