Spotlight Story: Pioneering Open Source at the CFPB

Code.gov
CodeDotGov
Published in
3 min readJul 23, 2020
Dollar sign on cyber background (Getty Images: Arkadiusz Wargula)

By The Consumer Financial Protection Bureau and Code.gov

Open source software (OSS) is a fundamental aspect of how the Consumer Financial Protection Bureau (CFPB) has served the public in its short history. In April of 2012, nine months after opening our doors, we released our source code policy, based on the work of the Department of Defense, along with our first two open source projects. Just six days later, we accepted our first pull request. Though a minor change, this was the first documented contribution to a federal government open source codebase by a member of the public.

Our approach to OSS in those early days was to publicly release small bits of source code that had potential for wider application. At the time, we had a design and development team of only about half a dozen folks, but in late 2012/early 2013, our first class of Design & Technology Fellows began working at the Bureau, adding 30 new designers and developers to the team for two-year terms. Two of the projects developed by this initial class of fellows, Qu and eRegulations, set a new precedent developing the code entirely on GitHub.com from day one.

Shortly afterwards, we formed a working group that put procedures in place for publicly releasing OSS that was previously only available internally to CFPB employees. As more code was moved to our public GitHub organization, the team moved towards a policy of open source by default. All source code would be developed in public, except for certain well-defined cases, such as code releases that would pose a security risk or violate a licensing agreement.

The CFPB Design & Development Team has continued to evolve by hiring two more classes of fellows and hiring a couple dozen permanent team members. With the team’s growth, the CFPB open source program has also continued to grow. Today, the CFPB has over 280 open source code repositories, including large projects such as the consumerfinance.gov website and the Home Mortgage Disclosure Act (HMDA) filing platform. CFPB projects such as eRegulations have been forked and used by other government agencies. More general-purpose projects, such as django-flags, have been adopted by the larger open source community. We’ve published models for disclosure notices, which are regulatory requirements, to help businesses more easily comply with our rules. Additionally, two members of the CFPB development team serve as core team members for Wagtail, the content management system used by the Bureau, allowing us to help guide the long-term vision of our website’s core platform.

Moving forward, the CFPB remains committed to open source and an “open first” methodology for government software development. This approach has served us extremely well, and for that reason we encourage all government organizations to develop their software in the open, where we can learn from each other and better serve the American people.

--

--