Putting Open Source to Work
Properly used, open source code and applications can accelerate the building and deployment of high-quality Java applications
by Peter Varhol
March 30, 2006
Open source softwarein all of its many formshas been one of the keys to the strategic success of the Java platform and language. The wide availability of high-quality software in source code form has made it possible for developers to leverage the work of others around the world to use development, deployment, and management tools along with code itself to build software more quickly.
In addition to source code that can be incorporated into applications by developers, open source software also provides platforms and middleware that are essential to the building and deployment of Java EE applications. Open source development tools, application servers, servlet engines, and other utilities are used in countless organizations as platforms for applications of all types, including those critical for business.
However, using open source opens up a host of considerations for developers building commercial or internal applications. Software quality, bug fixing, and support are all issues that are different when employing open source, and in some cases the validity of the open source approach to software has been called into question. Those issues haven't stopped development teams from deploying applications using open source, or applications deployed on open source platforms, and use continues to grow rapidly.
There is much more to open source software than using it to build and run applications. It's also a movement that defines how software is created and distributed among developers and end users. In the aggregate, open source represents an alternative business model for software development, one that is seemingly at odds with the capitalist roots of its primary commercial purveyors. As a result, commercial software vendors treat open source warily, reluctant to embrace it but unable to ignore it.
Many questions remain about open source. Those questions haven't prevented millions of developers and hundreds of software vendors from adopting open source, either as a strategy or simply because it was easier to get things done with open source. Whether use was planned or unplanned, it has become a force in the Java community that can't be ignored.
Why Open Source?
Software developers have always shared the product of their work. Part of that sharing is professional pride; there are few better venues for technical problem solving than writing software. And those who are successful at it can use open source as a way to promote their professional standing and enhance their employment prospects. There are few better ways of demonstrating competence than writing code that your peers choose to use.
And software developers simply like solving problems. Providing their solutions as open source is probably the best means for those solutions to be used by others. In many cases, a solution provided by open source isn't a product in the traditional sense, but an implementation of an algorithm or a specific way of accomplishing a particular common activity.
Open source software, in any form, however, is disruptive. Organizations using it are wary of its legal standing (see the sidebar, "The Legal Side"). Developers writing it take time and energy that could be devoted to paying work, or to other parts of their lives, and software vendors see both direct (and perhaps unfair) competition and an uncertainty of how to leverage open source for their own uses.
Another reason there is a mystique to open source is that even today no one knows for sure how to price the product in question. Despite the very real expertise and ability it takes to create software, it is an intellectual product rather than a physical one. Because pricing is so uncertain, it tends to be all over the map, from almost nothing to extremely expensive, and it was probably inevitable that someone would price it at nothing.
Back to top