On August 8, 2016, the U.S. Office of Management and Budget released the Federal Source Code policy, a forward-thinking plan designed to improve access to open-source code developed by or for the federal government.
The policy, created under the purview of former U.S. Chief Information Officer Tony Scott, was intended in part to curb the more than $6 billion spent by federal agencies on software per year with the help of each of the largest 24 federal agencies (as designated by the Chief Financial Officers Act of 1990).
To help eliminate purchases of significantly similar code — which translate to taxpayer dollars — the policy tasked the General Services Administration with building Code.gov, a resource for discovering custom-developed federal source code.
Code.gov launched in August 2016, about 90 days after the Federal Source Code Policy was issued. “We’ve come a long way in three years,” Code.gov Director Joe Castle said. “Code.gov initially launched with a handful of agency-provided codebases. Now it features over 6,000 codebases.”
Castle said Code.gov includes the 24 major federal agencies plus two additional agencies that are not required to follow the policy but do so because they recognize its value. Today, three years since its launch, the site continues to facilitate an open-source culture within the government through the public access and reuse of its code.
Open-source software has enjoyed increased adoption in both the public and private sectors over the past decade. Common misconceptions around the technology have been debunked, and today, open-source software is largely embraced for its security, quality, customizability, support, cost, and freedom from vendor lock-in. Worldwide, the revenue of open-source services is projected to be worth nearly $33 billion by 2022.
“Open-source code is no longer seen as ‘not secure’ from an IT security perspective,” Joe said. “In fact, the code has more eyes on it and receives more positive contributions, increasing security. For Code.gov, having too many cooks in the kitchen is a good thing — leading to better quality and higher functioning code from a broad group of contributors.”
Today, the biggest contributors to open source code work at established, well-known corporations. These companies support the time their developers spend making these contributions and recognize the value that engagement in these collaborative projects brings.
“There are so many benefits to open-source, such as reducing vendor lock-in, but the number one benefit is the cost savings associated with code reuse,” Joe said. “Code.gov was established to make federal government source code more discoverable and encourage reuse and collaboration across agencies.”
Joe said Code.gov also breaks down barriers between the public and private sectors since the code is open to all who wish to explore, learn from, and improve it. For example, a private sector developer can use the government’s open-source code to start or grow a business.
“When you think about the time it takes for a developer to code one line, and you multiply that by the cost of that time, open-source code presents huge economic value to a business owner,” Joe said.
Code.gov’s formal mission is “to help agency partners and developers save money and increase quality by promoting code reuse and educating and connecting the open-source community.” In achieving that mission, Joe said Code.gov’s greatest challenge has been cultivating the open-source culture within government.
“For starters, federal agencies must include open-source in their procurement language,” he said. “The government should demand that coding be done in the open, with the government (not the contractor) owning the code. Once code is out in the open, you need to build a community that helps improve your code.”
Opening the effort to the brightest tech minds inside and outside of the government enables the public and private sectors to work together in ensuring that open-source code is furthering national objectives. Joe said that agencies are working to foster such a collaborative environment — despite the fact that the chief information officer’s office at a typical federal agency is not built and staffed to accommodate such an effort.
Finally, Joe said documentation is critical. “The community will not help improve code that looks dated, and others will not reuse code if its purpose is not clear,” he said.
Code.gov provides a transparent view of each agency’s level of compliance with the Federal Source Code policy using three metrics: full compliance (green), partial compliance (yellow), and noncompliance (red). As of August 2019, the Department of Energy, Department of Transportation, General Services Administration, and National Aeronautics and Space Administration have achieved full compliance.
The governmental effort is already helping agencies cut costs and reduce development time. For example, Joe said the open-source code powering analytics.usa.gov has been reused 30 times by city, county, state, and federal agencies. The code allows other government entities to develop their own dashboards for web pages, forms, and documents.
“We heard a story that a federal agency was about to bid out a contract to build a web analytics dashboard,” Joe said. “But when they found out the analytics.usa.gov code was open-source, they were able to quickly build the dashboard using existing federal staff and contractors. This resulted in huge cost and time savings.”
In addition, Joe said 150 federal, state, and local agencies have reused code snippets from the U.S. Web Design System (USWDS). In fact, Code.gov itself leveraged the open-source code in its recent redesign.
“We use innovative tools developed in our own office by 18F and other Technology Transformation Services staff,” Joe said. “For example, the front end of Code.gov is supported by the USWDS and Federalist, and we use Cloud.gov to host our website. We want developers to explore the open tasks from GSA and other agencies at Code.gov, and having people contribute to our own website is a great place to start.”
Code.gov also leveraged data from various test audiences to inform the redesign. “These interviews told us that users wanted to see plain language, more information above the fold, and links to join listservs and connect in other ways.”
Joe told us that the Federal Source Code Policy will be renewed in August, just in time to celebrate its third anniversary. In addition, Code.gov will be represented at the Linux Foundation’s Open Source Summit on August 21 – 23, 2019, in San Diego.
Moving forward, Joe said Code.gov is continuing to engage the federal agencies it works with, including the liaison at each department.
“We recently reached out to several other communities of practice in our office to let them know about the Code.gov listserv,” he said. “That increased the size of our list from about 100 people to about 700 people in just a few days. This proves there are people passionate about open-source all over the government.”
Joe anticipates that Code.gov will become part of a greater emerging technology movement in the government. “Federal agencies may soon be required to include artificial intelligence (AI) models in their source code inventories,” he said.