The UK government pays me to write open source all day

Update: Here’s a discussion of this post on Reddit, and here is a French translation.

I’m a developer. Here’s the graph of my open source contributions on GitHub for the last 12 months:

Jake's open source contribution graph

(green squares signify days when I’ve made commits to open-source repos)

While I also do some open source in my spare time, the vast majority of those green dots happen during my work at the Government Digital Service (GDS), a team inside the UK Cabinet Office.

I’m not some special case in my team – if you look at GDS’s GitHub organisation, you’ll see loads of code there. Better still, our work doesn’t just happen at the fringes of government IT – we’re responsible for the GOV.UK website, which is the UK central government’s main publishing platform and the front door to all government transactions.

One point where I have perhaps exaggerated: as James Stewart, one of GDS’s technical architects, points out, what GDS does is actually “coding in the open”, rather than “open source” – this means that GDS makes the source available under an OSS license, but doesn’t support or build communities around it. In any case, even “coding in the open” is awesome for a number of reasons.

fairness towards the taxpayer

Government source should be open – after all, if the code was written on the taxpayer’s dime, it’s only fair that the taxpayer gets the code in return. Interestingly, criterion 15 in the recently published Digital by Default Service Standard should institutionalise this and ensure that all future UK government projects will be mandated to open up their source by default:

Make all new source code open and reusable, and publish it under appropriate licences (or have provided a convincing explanation of why this cannot be done for specific subsets of the source code)

Nobody got fired for choosing open source

fairness towards the OSS community

We use open-source languages and frameworks (most of GOV.UK is written in ruby and scala), open source web servers, manage our source and configuration using open source tools (git and puppet), and deploy onto open source operating systems (running linux). It’s only fair that we give back.

transparency

Having GDS’s code on GitHub makes my life as a GDS dev easier. If I need to integrate with, reuse or extend another GDS component, it’s just a few clicks in the browser or quickly cloning the repo.

The transparency also benefits those outside of GDS. Want to the rules for the state pension calculator? Just look at its source. Found a bug with the bank holidays page? You can submit a pull request to fix it.

I know of companies that have internal open source programs, and that’s definitely a step in the right direction, but having pretty much everything available brings the ideal of collective code ownership that much closer.

As an added bonus, since all the hacks and shortcuts would be there for everyone to see, less corner cutting is a natural consequence.

reuse

While a fair amount of the code we write is solving problems unique to our domain, large parts of it is general, and could easily be adapted for in other central, state and local governments, or in the private sector. In fact, people are starting to do that already. What some good front-end code? Check this out. Want a government-grade single-sign-on system? Here you go. Want to build your own smart answers? Knock yourself out.

marketing

Coding in the open is great marketing for the GDS brand. When I tell other hackers that I do open source at work, eyebrows go up. I’ve heard people outside GDS refer to it as the “government startup”; open source clearly enhances the brand.

as a portfolio

For purely selfish reasons, it’s really nice to have a portfolio of my work, somewhere I can point people to for tangible proof of my (in?)ability to write ruby.


I wish more employers did this (and not just in the public sector) – if yours doesn’t, perhaps the reasons above can help convince them to change their mind?

15 comments

  1. “taxpayer’s dime” – if you’re British why are you using this blatant Americanism? We don’t have “dimes” in this country. Its pounds and pence. I think you’ve been drinking coffee and talking to Yankies on Reddit too much. I suggest a strict diet of tea, biscuits and BBC Radio 4.

    1. Jake Benilov · ·

      Who said that I was British? 🙂

  2. I also have a full time job working on open source but for UK schools through a private company (Primary Technology)

  3. direct.gov.uk is nothing to brag about it’s a very poor website, that reflects badly on the UK and it’s compitancy. Admittedly this is to do with its design and content and less to do with it’s loading performance.

    1. Jake Benilov · ·

      I’m not really sure what you are talking about.

      DirectGov was turned off in October last year, replaced by GOV.UK.

      1. I ended up here: https://motoring.direct.gov.uk/service/DvoConsumer.portal?_nfpb=true&_pageLabel=FAP&_nfls=false

        While clicking on gov.uk on how to apply for driving licence.

        So, direct.gov.uk is not off after all…

      2. Jake Benilov · ·

        That is a subdomain of direct.gov.uk managed by the DVLA. The main site (www.direct.gov.uk) is no longer in service.

        As time goes by and services get redesigned, they will be rebranded, redesigned and migrated onto the GOV.UK platform.

    2. Come on old boy… direct.gov.uk wasn’t mentioned, compitancy is a misspelling and your mixed (and incorrect) use of “its” and “it’s” reflects badly on your linguistic competency.

  4. chrisbeeleyimh · ·

    Reblogged this on chrisbeeleyimh and commented:
    Open source is creeping into government and my area, health, bit by bit (no pun intended!).

    1. Jake Benilov · ·

      That’s good news! Are there any links you could point me towards to learn more about it?

  5. chrisbeeleyimh · ·

    Gosh, I’m not sure I know more about it than you, but I found a few things today after being inspired by your blog post to have a look round.

    http://www.medfloss.org/
    http://www.oshi-uk.com/p/open-source-software-directory.html
    http://openhealthcare.org.uk/
    http://www.oshi-uk.com/p/top-10-open-source-projects-for-nhs_18.html

    Last one is more of a wishlist than anything else, but shows the potential at least.

  6. […] Alas, the reblogs don’t work in my new self-hosted WordPress. Here’s the link […]

  7. […] my day job and my open-source work involve constant use of git and GitHub. These are some useful patterns that […]

  8. Open source code is best and Open source coder are truly great.