If the open source model has a sweet spot, it's in programming tools. Linus Torvalds's fabled "world domination" on the desktops of clerks or CEOs may never arrive, but it's already here on the computers of programmers everywhere. Even in the deepest corners of proprietary stacks, open source tools can be found, often dominating.
The reason is clear: Open source licenses are designed to allow users to revise, fix, and extend their code. The barber or cop may not be familiar enough with code to contribute, but programmers sure know how to fiddle with their tools.
[ Also on InfoWorld: Find out which 7 programming languages are on the rise in today's enterprise and beware the 12 programming mistakes to avoid. | Keep up on key application development insights with the Fatal Exception blog and Developer World newsletter. ]
The result is a fertile ecology of ideas and source code, fed by the enthusiasm of application developers who know how to "scratch an itch." Programmers are a knowledgable and opinionated bunch; open source lets them share their knowledge and implement what they want.
Here is a very unscientific survey of worthwhile open source tools that have caught our eye. Some are entirely new projects; others are old favorites that continue to generate new ways to surprise us as they morph to support the latest programming trends.
This is the beauty of open source. Tweak and recompile, and your old programming tool can be new again.
Open source programming tool on the rise: Rhomobile Rhodes
Ruby may be the second most popular language on Github, but that won't do you any good if you want to program for the iPhone, a platform that prefers Objective-C, the way God intended when he first created the NeXT machine.
Rhomobile Rhodes is an open source platform for bundling up Ruby websites and stuffing them into an iPhone app. You can even use jQuery Mobile to handle the layout if you wish. It's like building a Web app, but you have to remember that the user has big fat fingers instead of a much more precise mouse pointer.
Open source programming tool on the rise: Git
While many developers continue to use CVS and Subversion, a number of projects are moving to Git, a source-control tool that works well for less centralized teams where a dominant central repository might not exist.
What Git does is it makes practically every copy its own central repository and offers sophisticated tools for merging the resulting proliferation of repositories. With SVN or CVS, users check out just a copy, a subordinate version of the code that must eventually rejoin the center. Git users, on the other hand, create stand-alone repositories with all the rights and privileges of the center. With Git, you can create four or five repositories on your development box and eventually merge them all. To use an analogy, Git is like democracy, while CVS represents the old feudal world.