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.
In this light, it's easy to see that the open source model creates the potential to increase the ROI from government software projects. Just because you are done with a program doesn't mean it's not of value to someone else.
The biggest risk in using open source code is not realizing the rewards.
Depending on how enthusiastically you promote your open source development, you may well invest a measurable amount of time in packaging, marketing and distribution. There is a risk that if no one joins in, it will be a wasted effort. Based on our experience, however, that is unlikely.
When others use your application for the first time, they will have questions, and odds are good you will spend an inordinate amount of time providing technical support. But there is a benefit to this. From these support questions, you learn where your documentation is deficient and how your software is difficult to use or lacks features. This type of feedback, which you otherwise would not have received, helps make your software better. By lending a helping hand, you are promoting an open source community for your software, which is essential to reap the rewards.
Many fear that by using open source software in this way, you risk losing control of your software, but the reality is you have complete control over the copy of the software you run at your agency. Everyone else in the world may have a copy too, and if those copies are modified in undesirable ways, it doesn't affect your copy.
Some also fear they will lose control of the software if a collaborative development effort goes awry. Fear not; open source gives you the freedom to make a copy of all source code and walk away.
Fame, Not Fortune
Let's be honest, you work for the government. The pay and benefits are OK, but you aren't going to get rich beyond your wildest dreams. Hopefully you have a stable job in a productive environment and get to do interesting work.
So if you can't be rich and famous, settle for famous. We all like recognition for doing great work. It feels good when your peers look up to you. Personal satisfaction is its own reward.
Look no further than Paul Nelson and Eric Harrison, who founded the K-12 Linux Project. In the world of public school IT, these guys are renowned.
Someone is going to create the killer app for your niche. Admittedly this one is entirely selfish, but the reality is that someone must be a leader so it may as well be you.
As you can see from this a qualitative analysis, open source and government development software are a very good fit. Now is the time to sit down with your development teams, IT executives and legal staff to formulate a plan for creating open source software. Give it a shot. There is nothing to lose and so much to be gained for you, your agency, and most importantly, the taxpayers.
Richard Brice and Richard Pickings develop open source software used in the design of highway bridge structures. In 1999, they founded the Alternate Route Project to serve as a focal point for their development efforts and to promote open source software in government.
The opinions expressed in this article are those of the authors and not necessarily those of the Washington State Department of Transportation or BridgeSight Software.