Commentary: Yes, governments should open source their custom code. But more than that is needed.
For Drupal (and Acquia) founder Dries Buytaert, "the default [in government] should be 'developed with public money, make it public code.'" That is, if a government is paying for software to be created, that software should be available under an open source license. While he acknowledged there might be exceptions (e.g., for military applications, as I've called out), his suggestion makes sense.
Years ago I argued that government mandates of open source made no sense. I still feel that way. Governments (and enterprises) should use whatever software best enables them to get work done. Increasingly, that software will be open source. But when good open source alternatives don't yet exist, it makes no sense to mandate the use of suboptimal software.
But software that governments create? There's no compelling citizen-focused reason for closing it off. Instead, there are many reasons to open it up.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
Of the people, by the people, for the people
This topic of why countries should embrace open source is an easy argument to make. As Buytaert pointed out, if public money pays for the code to be developed, why wouldn't that code be available to the public (except, as mentioned, in the case of sensitive military software)?
Some countries have already gone this route. As I detailed in 2016, Bulgaria is one of them. A few years later, Bulgaria has been preparing its own national source code repository, based on Git (as required by law: "administrative authorities shall use public storage and control systems for the source code and technical documentation for development, upgrading or deployment of information systems or electronic services").
This is a significant step toward greater transparency. However, it's not enough.
SEE: Open source can thrive in a recession says Drupal creator Dries Buytaert (TechRepublic)
Collaborating on common government issues
As much as I understand Bulgaria's desire to build its own source code repository, there's even greater need for governments to collaborate on code beyond their borders. Think about it: Governments tend to do the same things, like collecting taxes, issuing parking tickets, etc. Currently, each government builds (or buys) software to tackle these tasks. Obscene quantities of custom code are created each year by government organizations operating in silos.
Why isn't the city of Bogota sharing software with London, which shares software with Lagos, which shares software with Pocatello (that's in Idaho, by the way)?
As IBM president (and former Red Hat CEO) Jim Whitehurst said way back in 2009, "The waste in IT software development is extraordinary....Ultimately, for open source to provide value to all of our customers worldwide, we need to get our customers not only as users of open source products but truly engaged in open source and taking part in the development community." This is particularly true in government, where there isn't even the competitive pressure (e.g., Bogota doesn't compete with Pocatello) that might prevent large financial institutions from collaborating (though even they partner on open source).
So, yes, we need governments to open source the software they pay to have built, to Buytaert's point. But we also need those same governments to share that code beyond their borders, thereby driving greater innovation at lower cost for their citizens.
Disclosure: I work for AWS but the views expressed herein are mine, not those of my employer.
- How to become an effective software development manager and team leader: Tips and advice from Drupal founder Dries Buytaert (TechRepublic)
Microservices: A cheat sheet (free PDF) (TechRepublic)
Artificial intelligence ethics policy (TechRepublic Premium)
Programming languages and developer career resources (TechRepublic on Flipboard)