A couple of years back, the phrase “Open Source” would have brought to mind visions of a geek hacking away, driven purely by the joy of creating living, breathing code and deriving satisfaction from just seeing his code being used and acknowledged by others.
But things seem to have changed almost overnight. Open Source has undeniably become a very visible movement, a disruptive force. Software vendors who used to be known for their expensive offerings are open sourcing some, if not all of their flagship brands. Venture funding for companies having even the slightest connection to open source are on the rise, almost reminiscent of the build-up to the dot-com bust not so long ago. People are trying all kinds of ways to make money off open source. Suddenly Open Source is starting to take on more commercial connotations, a far cry from the principles out of which the whole Free and Open Source Software movement was born.
I’ll not get into a discussion now whether this is good or not, but would like to dwell on the positives for a moment, specifically in the area of open source development tools.
But seriously, the simple fact is that building a community is so easy and given the sheer numbers of people on the Internet, there is bound to be other people who think like you do. It is quite likely that once you establish an online presence, you establish contact with a whole load of folks trying to solve the same problem that you are. And what stands between you and folks who could make a difference to you? It’s probably just the right search string and the good old Google search button.
The process that results in good code is also worth examining. Among the many misconceptions about Open Source is that the process is chaotic – geeks slap some code together, e-mail it around and things work if you are lucky. That is so not true! Project hosting sites like SourceForge provide you with version control, a mailing list, trackers for bugs, patches and change requests, space to host your website and numerous other things that not just get you up and running but allow you create and grow a community. And who knows, you may be threatening some of those commercial vendors with your competing product in no time!
So to summarize, Open Source may be getting commercialized at some levels but there is a lot of value and a lot of learning that you can derive from Open Source. It is worth exploring how your existing development environment can be supplemented by open source tools that can actually save you effort such as coding standards checkers. Maybe your development process could do with some common sense best practices such as Test Driven Development and Continuous Integration that are widely prevalent in open source projects. Just looking at existing code written by the masters can make you a better programmer. Contributing code to one of these projects or even kicking off your very own can be a very fulfilling experience.
has more than 10 years experience in the IT industry and works as a Senior Consultant, based out of Bangalore, India. A keen Open Source enthusiast, Peter is the initiator and maintainer of two successful SourceForge projects. One of them is "JTrac" – an open-source issue management web-application completely built on the very latest Java frameworks such as Wicket, Spring and Hibernate. JTrac (http://jtrac.info) has been very well received within the Java community and reached a ranking of #13 on SourceForge as soon as version 2.0 final was released in December 2006.
Peter has been a guest speaker on Java technologies at events such as the first Indicthreads.com Conference on Java Technology, 2006 . Peter writes about open source and Java technology in this column on IndicThreads.com. He blogs regularly at http://ptrthomas.wordpress.com