In 2017, the Indian government introduced the Goods and Services Tax (GST), the most comprehensive tax reform in decades. It was mainly experienced by users as a series of frustrating efforts at filing invoices online.
In order to comply with the law, millions of small businesses across India were expected to understand what “generate fresh JSON” meant, or which service pack of Windows was missing. This isn’t a problem particular to developing nations – even six years later, the failure of the US healthcare.gov upon launch is a salutary lesson in what works for government software development, and what doesn’t.
India has over 600 million people online, and half of them use a smartphone. The contrasts become especially stark as more people start to experience the full power of the internet and software services today. Most of the world’s biggest software products are built on open source digital infrastructure – frameworks, programming languages and libraries created and maintained by contributors, for anyone to use. Whether it’s Android’s use of the Linux kernel or the MySQL database system powering Facebook or Twitter, people’s experience of the transformative power of the internet has open source systems at its core. In contrast, Government services tend to creak beyond a certain number of users, usually because of attempts to scale up enterprise level architecture, often with less-than-desirable results.
Why do government services continue to look this way? I think it’s the result of a mismatch between governments’ approach, and the nature of software development:
- Governments like to detail exactly what they want. Technology, however, evolves in ways no one can predict. Instead of building in flexibility, software development models for government usually involve detailed specifications for a particular vision of the future. Later down the line, this contributes to familiar complaints of technology or vendor lock-in.
- Knowledge, and hence bargaining power, of a technical nature, is heavily skewed towards the private sector in any negotiation.
- Governments are normally risk-averse, which means that smaller, and possibly more agile players are at a disadvantage.
Governments that address this and strategically incorporate open source components in the design of digital systems can create scalable and flexible services while including elements for necessary stability and support.
Open questions on open source
Governments like the perceived security and stability of traditional “enterprise” software, and the way it is deployed and supported. That’s hard for smaller open source projects and organisations to compete with. Small companies with open source solutions are not going to become regular suppliers to governments quickly, particularly in developing countries.
Unlike proprietary products, open source software does not have to be developed along a specific path. The kinds of open source products or platforms that governments are interested in are usually anchored at a specific institution, but follow transparent and democratic ways of determining product roadmaps and development cycles. Of course, this model causes valid concerns:
- Unfamiliarity with the specifics of an open source model and what that means for sovereignty, security and data protection.
- Questions around future stability and maintenance.
- The total cost of ownership (of which the initial software is only a small part) is harder to quantify with certainty.
Without reliable answers to these kinds of questions, the presence of open source software in governments has been fairly niche. But there are exceptions.
The District Health Information Software (DHIS) is a web-based platform commonly used as a national health information system. It is coordinated from the University of Oslo as open source software, supported by philanthropic capital, and used in 67 low and middle income countries.
Then there’s MOSIP, the Modular Open Source Identity Platform, where I work. It is also open source under a Mozilla Public License, based at a university, and philanthropically funded. It makes available the core elements of a digital identity system, and leaves it to a country and its chosen businesses to customise and integrate the product at a national or local level. In the digital identity space, MOSIP was created as a response to pervasive issues of fragmented systems and vendor lock-in.
Who do you trust?
Uncertainties around open source models multiply when the service in question is part of a nation’s core digital infrastructure, as with digital identity. It’s very different from choosing to install Linux-based operating systems on government computers.
For a government system to use an open platform at its core, at a minimum the technology and a set of businesses ready to work with that technology must be available. Yet the success of these approaches in providing a more user-centric and future-ready system depends on many other factors. It needs significant rethinking around the administrative machinery, procurement strategies and government’s own technical capacity. For example:
- The ability to combine open and proprietary products in an overall system, and procure accordingly
- Reflecting (at least to a degree) the pace of technology development in the way government systems are upgraded
- Designing the open software framework in a way that involves multiple players who can be replaced over time, and that allows smaller, homegrown players to participate
- Designing the system with interoperability and re-use of software incorporated from the start
The open platform approach can play a crucial role in introducing new techniques and approaches in public digital transformations, while enhancing government’s understanding of technology through the support of communities that build open software on a more altruistic footing. Open source approaches open up doorways to accelerated learning and experimentation, which if adopted across government departments in middle and low income countries can benefit services that may have ‘gone digital,’ but still have huge room for further improvement.