GDS says its open source code guidance needs to be more joined up

The Government Digital Service is to start a user research project on the development and use of open source code in government, including plans to “fill in the gaps” in open source guidance.

Open source lead says that guidance will be updated to offer teams more clarity – Photo credit: Flickr, Miki Yoshimto, CC BY 2.0

Writing in a blogpost, Anna Shipman, a technical architect and open source lead at GDS, said that making code open – all new code written in government must be open by default – was “vital” to government’s plans to change the way it works.

“By making our code open and reusable we increase collaboration across teams, helping make departments more joined up, and can work together to reduce duplication of effort and make commonly used code more robust,” she said.

However, she acknowledged that the service’s guidance on open source code “is not as joined up as it could be” and that more work needed to be done to encourage good practice and make it easy for teams to collaborate.

Shipman said she would be working to clarify the guidance and fill in any gaps, as well as addressing other barriers identified in user research.


Related content

Open and shut case: Should digital government be using open standards, open source or low-code?
GDS to cut GOV.UK frontend templates from 140 to 10
Are we entering a cognitive era?


Her post also discussed plans to encourage departments to think about making their code Open Source Software, where the source code is freely available for modification or enhancement by anyone, rather than simply “coded in the open”. This is where the teams writing the code don’t guarantee they will support it in the way that is needed for it to be Open Source Software, and that it is not set up to be easily reused.

Shipman said there were advantages for making code Open Source Software for both the team using the code – that they would save time and money – and the originating team, including expansive testing and help fixing bugs.

However, she said “it can be a lot of work to make the code reusable and maintaining it is an extra overhead, so it’s important to focus the effort on the projects which are meeting the greatest user needs”.

As part of her user research, Shipman said she planned to look at existing examples of code that could be used more widely.

“Teams across government are already doing great work producing reusable code. For example the GOV.UK frontend alpha, GCHQ’s Gaffer and Home Office Forms, to name just a few,” she wrote.

“Initially, I will be doing user research to understand what code that has already been written by government would be useful more widely, and I will then identify a few projects to focus on making into Open Source Software.”

Shipman also said that she wanted government teams to make “higher impact contributions” to Open Source Software.

“We depend a lot on Open Source Software,” she wrote. “Many teams contribute back patches to help improve these projects, but next year I’m going to be looking into how we can make higher impact contributions.

“This will help make sure that the Open Source Software that the government depends on is more stable in the long term; and also, giving back to these projects that we use for free is the right thing to do.”

However, she noted that driving use of Open Source Software was not “the primary focus of her job”, adding that is widely used across government, and that the spend controls team “are doing an excellent job making sure Open Source Software is given a level playing field”.

Shipman also emphasised the importance of people who share and make code open is to share ideas, collaborate and learn what code can be reused, noting that there would be a series of cross-government meet-ups to discuss code sharing. 

Rebecca.Hill

Learn More →

Leave a Reply

Your email address will not be published. Required fields are marked *

Processing...
Thank you! Your subscription has been confirmed. You'll hear from us soon.
Subscribe to our newsletter
ErrorHere