The Journey to Sharing America’s Code

Jun 27, 2017

As the nation’s primary platform for sharing and improving government software, Code.gov can help the government save millions of taxpayer dollars.

Screen capture from Code.gov homepage

It’s no secret that the federal government spends billions of dollars a year on software transactions. So, in an effort to cut excessive spending, the government released the Federal Source Code Policy last year to reduce duplicative software acquisitions. The policy requires that new software developed for or by the federal government be made available for sharing and reuse across all federal agencies. As you might imagine, implementing a code sharing requirement of this scale has the potential to save millions of taxpayer dollars by cutting down on wasteful acquisitions.

On top of that, the government also launched an unprecedented pilot program that requires agencies to share at least 20 percent of their new code as open source software. With your help, the pilot program can further maximize the economic benefits associated with code sharing and reuse.

Improving Access to Code

Since the Code.gov launch in November 2016, we have already improved access to code from over two dozen federal agencies and organizations. And some of these projects may surprise you. Last month, Alvand Salehi took the stage at OSCON to discuss the Pentagon’s decision to share code that’s being used in a NATO mission in Afghanistan.

The Pentagon’s open source project marks the latest milestone in our pursuit to make Code.gov the nation’s leading platform for sharing and improving government software. This is where you come in.

Teamwork Makes the Code Work

“Ask what you can do for your country.”

The Code.gov platform is an open source project that aims to demonstrate how the government can benefit from the collective power of the open source community. Those of you who traffic in 1s and 0s recognize that software development isn’t done in a vacuum. We’re a small team with a big vision, so we’re relying on you to help us make good on the promise of sharing America’s source code. And there’s ample opportunity for everyone to pitch in.

To start, here are a few issues we could use your help with:

Faster Load Times

When we originally launched Code.gov, one of the first issues we faced was the site’s subpar page load time. Code.gov is built in Angular 2 — a JavaScript framework for building modern web applications. Angular comes with a ton of great features, but it requires more JavaScript than most conventional websites in order to initialize an application. When conditions are right, Code.gov takes around two seconds to initialize, and almost no time to switch between pages. However, as Chrome engineer Alex Russell pointed out, on slower than usual networks and devices — such as a 3G network with a Moto G smartphone — these load times can easily grow out of hand. If there are any Angular devs out there who think they can improve our times, go ahead and give it a shot here.

Tagging Repos

We’re working hard to expand the discoverability of repos on Code.gov. To that end, our metadata schema requires that federal agencies provide “tags” to describe and identify repos. But before we can enable tag searching on Code.gov, we’d like to make sure we’re setting appropriate parameters around this field. What kind of direction should we provide to agencies to facilitate effective tagging? Should tags describe the subject matter associated with the repos, various use cases for the code, or more technical terms like classifiers? Tell us your thoughts here.

Showing Latest Activity

“Who’s stepping up to improve the government’s code?”

Screencapture of recent activity on the Code.gov GitHub repo.

Expanding access to federal source code has the potential to leverage the brilliant brainpower of technologists around the country in improving our federal software infrastructure. But we all know that not all code is created equal. We want to highlight code that is current, cared for, and contributed to. What kinds of metrics would you like to see (e.g., forks, contributors, watchers, commits)? How can we make it easier for you to give back to the country through code? Share your ideas here.

Wrapping Up

We’re incredibly thankful to everyone who has participated in our online discussions and contributed to our platform so far. You’ve reaffirmed our belief that open development and government are a natural fit. We look forward to hearing more from you as we work hard to build the future of Code.gov — together.

Join the discussion on our open source repository now.

– The Code.gov Team_This post was originally published on Medium by Code.gov._