Exploring collaborative development in local government
Within my Code for Europe role to explore how to increase civic software reuse, I’ve been looking at a couple of areas:
Building an apps catalogue similar to the Code for America Commons, to show civic software and adoption across Europe. More on this later.
Connecting with people inside and outside local government to see how groups could connect and work together on projects, leading to greater reuse of shared open source software.
One of the key elements of local government IT is a council’s website: it is the online home of the council and the route for many citizens to access information and services. It helps to have some rough idea about what is currently being used. A hack using the wappalyzer library to scan ~430 council sites gave some approximate idea about the use of different Content Management System (CMS) technologies:
- Jadu 36
- Immediacy 30
- GOSS iCM 28
- Drupal 22
- Microsoft SharePoint 14
- EIBS – EasySite 10
- Squiz Matrix 7
- iSiteSQL 4
- Joomla 4
- SilverStripe 4
- Umbraco 4
- TYPO3 3
- Contensis 2
- VerseOne 2
- WordPress 2
- Kentico CMS 1
- Libertas ECMS 1
- Sitefinity 1
- no CMS / could not detect 250
It is clear that there is a huge scope here in the UK for greater adoption of open source platforms, which can support:
- Cost savings compared to closed source systems.
- Faster delivery of innovative web services that citizens expect.
- Encourage government as a platform, creating more potential for innovation inside and outside government.
- Designing for participation: greater interoperability and cooperation.
Also it gives some idea of who uses similar technologies but little about those that are developing a new beta site, or at even earlier stages of planning. Along with Dominic Campbell from FutureGov, I was recently asked to give a short presentation about this work at a LocalGov Digital steering group meeting. The following discussions touched on a number of ideas around how to create opportunities to work across councils, including mapping skills (which Phil Rumens has written about in this post on the Knowledge Hub) and how to achieve more open source development projects.
Phil has subsequently kicked off a group looking at sharing Umbraco development. There are also some other interesting activities around fostering OSS in local government: Paul Brian is building an OSS4Gov campaign and planning a breakfast meeting at the upcoming LGA conference. OSS-Watch ‘s next Open Source Junction event is also on the topic of Open Source meets the Public Sector.
I’m also looking at how to encourage similar activities using Drupal. There are a significant group of councils already using Drupal and others who are at various stages of development or planning. Lambeth is publishing their new Drupal website build on GitHub. Over in the US Drupal is now being used on ~24% of all government websites. OpenPublic was an early Drupal distribution (a packaged configuration tailored to a specific purpose) aimed at government. More recently in Canada the Web Experience Toolkit is defining best practice around accessibility and usability, with ports to most major platforms including Drupal.
Panopoly is a distribution that “is designed to be both a general foundation for site building and a base framework upon which to build other Drupal distributions.” Both WxT-Drupal and Open Atrium 2.0 (an intranet site distribution), use Panopoly as a base. We could take a similar approach, building discrete Drupal apps that fit into the Panopoly framework. I’ve done a small amount of experimenting with this by setting up an OpenCouncil configuration and a very basic planning applications module (see this example with some Lambeth data pulled from OpenlyLocal).
What might the next steps be?
- Start defining common specifications such as a content model (I’m capturing some brief notes here, including possible overlaps with the GDS content model). This could be applied to other systems like Umbraco, WordPress, Joomla as well. A shared definition of site specifications could be one step toward improving services.
- Start to design and build Drupal apps that work together within a framework, so they can be more easily reused and adapted to local needs.