Government agencies create custom software when solutions aren't available off the shelf -- you simply won't find a welfare payment system down at the local office supply store. When government agencies create software, they don't usually collaborate with agencies with similar needs, which is horribly inefficient and wasteful.
But government agencies that use open source software actually enable sharing software tools among agencies with similar roles and responsibilities, creating better ROI and increased opportunity for collaboration.
In essence, open source software is software that has been copyrighted and distributed under the terms of a generous licensing agreement -- typically the GNU General Public License. The agreement permits anyone to freely use, modify and redistribute software with its source code. This is in stark contrast to proprietary software, whose source codes are held secret and whose use is governed by restrictive licensing terms. It also differs from public domain software, which is expressly not copyrighted.
It's easy to lose track of who really pays for software development at government agencies, and the easiest way to keep it straight is to follow the money. Your project budget is a subset of your department's budget, which is a subset of your agency's budget and so on up the ladder. The money trail stops at the taxpayer's wallet. As public employees, we have a duty to get the best return on tax dollars invested in our projects.
Government agencies write software for internal use, or for use by citizens they directly serve, and it is not typically used beyond its original intent.
The overall ROI in a piece of software is improved when many agencies make use of it, rather than investing more tax money into developing a similar piece of software. In short, open source gives government more bang for the taxpayer's buck.
Increasing the return on tax dollars invested in the development effort is good for taxpayers. Sharing software your agency developed is clearly a windfall for the agency using your software. But what does it do for your agency?
For starters, when an open source community forms around a development effort, the rewards can be astonishing.
Open source software creates an environment in which developers can build on each other's successes rather than repeating each other's efforts. Why would you develop an entire program if an existing one does 80 percent of what you need? Surely it's more efficient to add the remaining 20 percent than to build the entire system from scratch. If the application is well aligned with your business needs, you can produce what's needed in a fraction of the time and cost of going it alone.
Benefits are even greater when developers work cooperatively to create an application of mutual benefit. You will have more resources dedicated to a project than any one agency can afford by sharing development costs across all those contributing to the effort. The end result is higher quality, more robust software that can be created at an amazing rate.
Life After Death
What happens to your application when your project is canceled?
On a good day, you put what you have into production and get as much use out of it as possible. On a bad day, the entire program is scrapped; the source code burned onto tape and placed on the shelf to gather dust; and the return on tax dollars invested ceases forever.
When a dead application is open source, however, it can be adopted by other agencies. Major subsystems could become the building blocks for entirely new applications, which is true even for ongoing projects. Another agency may pick up where you left off and add features you wanted to include, but could never afford.