Hacktober

CYB x OSS: how we're making the most of Open Source

Using OSS technology to improve online services
Picture of Jen

Jen Duong

Full Stack Developer

08 Oct 2020

Hacktoberfest is an annual event hosted every October, in partnership with GitHub, for developers to contribute to open source repositories (a file archive and web hosting facility for software, documentation and other web pages). With it now underway, I thought it would be a good time to explain what Caution Your Blast is doing in the Open Source Software (OSS) space.

OSS is “software that can be freely used, modified, and shared (in both modified and unmodified form) by anyone” (Github). In recent years, open source has become a philosophy and is not limited to software. For example, with 3D printing available to consumers, sites like https://www.thingiverse.com are a place where 3D modellers and printers can come to use or modify 3D print files.

Open Source is a model for collaboration. It’s a way for consumers of the open source project to “give back”, and often solve real world problems that have not been encountered by the originators. Collaboration is the key - without it, it’s just free software.

Around a year ago, CYB began a collaboration of our own. We started development on a form builder that would be linked from GOV.UK. Thanks to DEFRA, we didn’t have to start from scratch. We forked their repositories, and began to add and change functionality to meet user needs. Fast forward a few months, we are connected to the Home Office, who were interested in our graphical configurator. HO have form builder software of their own, but it requires a developer to make forms.

We arranged a hack day soon after, where we spent the day working on a few features together, across teams. On 11 June 2020, the XGovFormBuilder GitHub organisation was created, and the code was democratised. There is no need for those working on it to faff around with permissions, and no single department “own” it. To foster our open source community we:

  • opened a Gitter chat, so maintainers could help each other in real time

  • hosted a weekly lean coffee, where we discussed the direction of the code, and the needs of their respective departments

  • improved documentation for starting and running the project

  • added community guidelines so everyone could feel free to contribute without fear of any discrimination

  • created issue templates so anyone is free to raise an “issue”. We have templates for bug reports and feature requests. You don’t have to be a developer to raise an issue, but the templates aide the maintainers in reproducing the bug or understanding the proposed feature

  • participated in cross government workshops. There are several forms-related projects happening across government. We’re sharing what our tech does, as well as the service and user research that has gone on

  • opened pull requests against other open projects. Recently, we decided to use the ‘govuk-react-jsx’ library. Due to the folder structure, it ended up breaking a lot of our tests. I’ve opened a pull request to help us, and anyone else who might run into these issues, without impacting how the library is currently consumed. It’s not just our community that we want to grow, we’d like to see others grow too!

All of the above has helped us develop and maintain key government services with ease, and even better, we’re helping other government departments do this too. CYB will continue to maximise the potential from open source software as we move on to new projects.