My local government has gone open source

When most folks were out enjoying the fine weekend weather last Saturday morning in Arlington, the County Board met and approved letting government developers publish software as open source. Whether software the county shares with the open source community proves to be useful to other developers is a secondary issue. The exciting news here is that the county board’s unanimous vote is a good idea both for the open source community and the Arlington County government itself. 

Before I get into the details of why open-sourcing is a good idea for the county, let me explain what the county actually did and intends to do. The county is in the midst of redesigning and converting its main website from Active Server Pages, a commercial technology from Microsoft, to WordPress, a free and open source website management tool. During the conversion, county technology staff will or has already made modifications to parts of WordPress or perhaps some of the publicly available WordPress plugins that add features to the basic content management features that come with vanilla WordPress. Since WordPress is licensed under the GNU General Public License, version 2, the county cannot distribute its changes without making those changes open source under the GPLv2 license. What the county board did on Saturday was to approve releasing county-developed source code under the GPLv2 license. Since county developers are using WordPress plugins licensed under version 3 of the GPL license, the board also approved releasing source code under GPLv3

So why is releasing county-developed website code as open source a good idea?

First, it will cost the county close to nothing. There are free code-sharing repositories available, like GitHub, the county can use to host its open source code. The time developers will spend uploading code to a public repository is insignificant.

Second, changes to WordPress or its plugins that county developers make might actually catch on in the open source community. If the county has a need for an enhancement in the code, it seems likely someone else will, too. If other developers pick up some of the county’s changes and run with them, those developers might make their own open source improvements (and bug fixes) that can feed back into the county’s website. 

Third, if county developers find and fix bugs in WordPress or its plugins, they previously could not contribute those fixes back to the original developers. When county developers create software, the county owns it. Developers were not at liberty to give their code away to others, even to fix bugs. With the county board’s action, they can now release their bug fixes and improvements back to the open-source community. These contributions not only should be good for the open source community, the county won’t have to deal with the software upgrade dilemma: if you upgrade to the next version, but you have made changes to that version, your changes (and bug fixes) will be lost, which pressures you to stagnate with old but working software. If the county can contribute its changes back to the original source, then new upgrades will include the county’s changes, making the upgrade path much easier.

Fourth, the county loses nothing. The changes the county makes to GPL software cannot be shared with others (like other local governments) without also licensing their changes under the GPL license. (This is the viral nature of the GPL license that some businesses bemoan and the open source community cheers.) Since the county is using GPL software, the changes it makes to the software can’t be leveraged somehow into an income-producing revenue stream to benefit taxpayers. As the county’s staff report to the board put it, “Since County code is partially derived from open-source code, it cannot be released under any other license other than an open-source license. The County’s choices are to release the code under an open-source license, or to not release the code at all.” So why not go ahead and release it.

Fifth, the county should actually save money. Assuming Arlington’s new website has nice features, other local governments around the country might take notice. They then might email the Arlington County technology division asking for copies of their WordPress customizations. Each of these requests would need to be dealt with by some staffer, and the source code zipped up and emailed to the requesting government agency. Now, with the open source policy, Arlington can just refer interested government agencies to its public source code repository. Easy.

Sixth, and this is the political upside, the taxpayers have already paid for the source code. By having the county release the code to the public, the county is saying, “Here is software we created for the purpose of serving you. If you can further reuse it for your own personal benefit, go for it.” Since WordPress is one of the most popular web content management systems out there, it isn’t unreasonable to assume that a few Arlington County taxpayers (including businesses) might actually derive benefit from the county’s source code.

That last point complements a trend among governments to release information that was gathered at taxpayer expense. In February, the White House announced that federally funded scientific research would be made available free to the public — although waiting one year to allow subscriber-funded academic journals to make money from the research as well. The trend is a good sign that more people, and more people in government, are believing that what the government creates in the name of the public interest should be owned by the people.

So, this month my local government has gone open source — or at least is starting in that direction. Has yours?