The open source behind gov.uk revealed
Source: gov.uk While the UK government's plans for wider adoption of open source have been uneven in their application, the new beta version of the gov.uk web site should give proprietary software vendors and contractors pause for thought, as it is almost entirely built on or with open source.
The just published colophon lists the components of the in-development site. Its Amazon EC2 hosting runs instances of Ubuntu 10.04LTS, with Jetty as application server and Nginx, Apache and mod_passenger as HTTP servers. Jenkins provides a continuous integration service, Varnish provides caching and configuration management is organised by Puppet.
The code on the site is written mostly in Ruby, with either Rails or Sinatra providing the framework; the developers have organised a github repository with the gems they have created and used to deliver the site. The one exception is the request router which is written in Scala. The developers began building the system with MySQL but have been moving over to MongoDB as they "realised how much of our content fitted its document-centric approach". For geocoding, the developers use MySociety.org's MaPit.
The wider design and development goals of the gov.uk site were introduced by Tom Loosemore, project leader, in a blog posting in which he writes about how the developers aim to "deliver simpler, clearer, faster services for users and savings and innovation for Government". Gov.uk is destined to replace the DirectGov web site and the designers have taken 667 of the things citizens need from government, based roughly on what DirectGov handles, and reformed them to be more "findable, understandable and actionable".
The beta of the service was only given the go-ahead in August 2011 when lessons had been learned from feedback after creating an alpha version of the site; that also used a lot of open source. The budget for the beta gov.uk site is £1.7 million which the project says it is currently running under.