But financial reasons aren't the most important reasons to use open source, developers said. The process helps developers improve software quality, learn new skills, write better documentation, and do projects that would be impractical using proprietary code. Open source also motivates developers to do better work.
Open source helps improve quality by allowing developers to learn from what others create. "I like to believe that I'm writing better code because of my exposure to open source software, than I would if I had no contact with such software. That is because I get to read the code written by lots of different developers," said Dag Bjerkeli, a programmer in Norway.
James McGovern, author of The Practical Guide to Enterprise Architecture, and a corporate developer, agreed. "If developers want to write better code, they have to learn what good code is," he said. Developers even study the source code of software packages they don't actually use, to learn how they're put together.
Similarly, the open source process improves documentation. "I see many examples of good documentation, so now I work at providing better documentation in more formats," said Jeremy Reed, who's a member of a few open source projects, including NetBSD, freedesktop.org, xlibs, and pkgsrc-wip.
And looking at other code helps IT managers boost their careers by learning new skills - even if the managers don't themselves work in open source.
"If not for open source tools, I would not have been able to learn the skills necessary to perform my job at even a rudimentary level," said Tom Jones, a Unix system administrator. "Open source, and Linux specifically, enabled me to learn enough about Unix and Unix-like systems to land my first Unix sysadmin job."
The open source community process gives programmers a personal commitment to projects that leads to better code. Programmers are working with willing volunteers and enthusiastic communities, and get the emotional satisfaction that comes from the belief that their code is making a difference.
Joel Burton, an independent consultant who contributes to two open source projects, said, "Since our code is public and viewable by all, it's part of our individual and project reputation, visible to the entire community. And, since the code has a chance to live much longer than your average one-off corporate project code, I'm certainly more likely to put effort into designing and documenting code for a long life-cycle."
Open source developers form communities where the members have a personal motivation to belong, Burton said. "They choose projects they believe in, work with people they respect, and create tasks that interest them. This has the possibility of creating communities among the developers that are much stronger that those formed by just-a-coworker settings," Burton said.
And developers eventually bring the lessons they learned in working on open source projects back to the corporate development arena.
"The real sex appeal to open source isn't the software itself but the model for development," McGovern said. "Being open, in a general sense, simply helps you with creating industry standards, such as ACORD XML [the insurance industry XML standard]." When developers learn how software is developed in an open model, that knowledge can help to evolve engineering practices in corporate software, he said.
And open source allows programmers to avoid re-inventing technology that's already available. At ExtraQuest Corporation, which builds multi-tiered database management tools, open source has changed the company's development process by reducing the amount of code company programmers have to write themselves. "By utilizing open source tools and packages, we're able to avoid development of several pieces that are fairly complex. This has reduced the cost and time of development for us," said Marcus Zarra, director of technology.
If We Don't Spend It Here, We Can Spend It There
Financial savings are important too. In many cases, open source availability has enabled developers to deploy IT projects that would otherwise be impossible to fit into the budget.
Jun Pacific Corporation, a food importer and wholesaler in Sydney Australia, must spend most of its IT budget supporting a commercial accounting system, leaving little money for any other IT project.
"When it came time to think about developing a content management system for a company Web site, there was no real alternative [to open source]," IT manager Tony Williams said. "Commercial systems would have cost too much money and still required massive customization." The company ended up choosing the open source Plone for content management.
The side effect of the community, technical interchange, and financial savings is that many developers feel that open source makes new projects possible. "Using open source development tools and products has meant that development here is possible. I never would have even started these projects without them," said Williams.
Esther Schindler has been writing about software development tools and trends since the mid-90s, about the effect of technology on our lives for far longer. She has optimized compilers, written end-user applications, designed QA processes, and managed databases for government contractors.