I was having a discussion with someone recently about using open source software and making an organisation’s own software open source. The most significant example of this that I’ve had experience of is in the UK public sector. I listed a few advantages that I found from this experience, and afterwards thought to look at what Government Digital Services (GDS) say about it.
My list, from the top of my head, looked like this:
- Better reuse 1. It’s easier to point someone to a public source code repository (“repo”) than to a repo that may be tucked away in a private or otherwise obscure team location.
- Better reuse 2. Making something public encourages reuse by other teams.
- Better code. Making something public forces the team to be a bit more conscious of writing well.
- Better security 1. Making code-that-could-be-public public means that if one team wants to access code from another team then there are fewer passwords or keys flying around.
- Better security 2. GDS has a policy of open source by default. That forces the private stuff (keys, etc) to be minimal and properly secure.
- Better PR and hiring 1. The public sector’s adoption of open source came roughly alongside its drive to hire many more talented people, and they were very successful at that. Open source software inspires many developers and therefore makes the place more attractive.
- Better PR and hiring 2. Making software open source encourages teams to talk more openly about their work (and helps them know where to draw the line on that, too). So more blog posts and public talks, which promotes the organisation.
“Better security” in this list also means “different security”—it’s no longer the policy just to keep everything locked away. But I’d argue this is overall better, as it forces everyone to be more aware of levels of security and openness.
GDS themselves cite a number of reasons, too. I’m heartened that there is some overlap, and they list additional advantanges, too.
Making an organisation’s software open source isn’t for everyone. GDS cites one reason for the public sector (if it embeds policy that has not been announced), and in the private sector intellectual property is a significant reason. But even then making some of an organisation’s source code open is still advantageous. Many high profile organisations make some of their code open source, and for them the advantages are clearly around community adoption, engagement and PR. And when an organisations is large then discoverability and reuse are advantages internally.
I find it reassuring that something which, intuitively, is socially positive also brings private advantages.