#CodeOn 101: A Walkthrough of Code.gov

Code.gov
CodeDotGov
Published in
4 min readAug 6, 2018
“Man wearing headphones at desk with window view of sunset in background” by Simon Abrams on Unsplash

We’ve been talking a good game here at our blog as well as on Twitter and LinkedIn, but if you are new to Open Source Software (OSS) or new to coding on the whole, you might be swinging by our website and you ask that question that echoes across the Internet on a daily basis, again and again…

“Okay. I’m here. Now what?”

We’re so glad you asked.

The Basics

Arriving at Code.gov, you are offered straight away two options: our “Search” option and the “Help Wanted!” section of our website. What are the differences between the two? The “Search” option, powered by Elasticsearch which we discussed in an earlier blogpost, offers an in-depth look into our inventory. Try searching for any type of software and we’ll show you what we’ve got. Some of the source code will be available straight away through a variety of version control systems like GitHub, Bitbucket, GitLab, or something equivalent to that. Other projects will be labeled as “Government-Wide Reuse” which means they are available to other agencies, just not the general public. When you click on one of the Search results, an email or some point of contact is offered along with a direct link to the project’s repo (short for “repository”) via the “View Repo” option. If you return to the main homepage, you can also click on the “Browse by Agency” button and jump into a directory of federal agencies that are working with Code.gov to offer their code to one another as well as the general public.

NASA’s API, available on GitHub

Quick Example

So with this tour through our website, let’s say you’re a NASA buff and you want to work with some OSS. And for this blogpost’s sake, let’s say you are versed in or teaching yourself Python. Go through “Browse by Agency” and in the NASA section there is a project called “APOD API” which comes from NASA’s popular online destination, Astronomy Picture of the Day (APOD). Click on the Project Title, and you are taken to the Project Details page. Then click the “Visit Repo” button. In doing so, you are taken to the project’s repo where you will find APOD’s Application Programming Interface (or API), including its documentation. Now you have access to the project’s OSS, meaning you can either:

  • Download (or “Clone”) the code and reuse it for your own purposes, provided the code is released under an appropriate open source license;
  • Review the code, debug it if any bugs are found, test, and then submit (or make a “pull request” or “PR”) to that government agency for review. Upon review, the agency can decide to “merge” the pull request into the project; or
  • Create for this project a new feature. After review, your PR may be merged into the project.

Pretty cool, right? We’re not done yet.

Help Wanted

Head back to the homepage; and this time, click on “Explore Open Tasks” under the “Ready. Set. Code!” section. This is Code.gov’s Help Wanted section where the agencies themselves have tagged projects with specific labels. Things like “We know there’s a bug…” or “We would like to explore this feature…” where the agency may lack the bandwidth to take care of these issues swiftly. With the Help Wanted section, agencies are actively looking for passionate coders to give back to their country and contribute. So if you are ready to roll up your sleeves and perform your civic duty on a digital platform, click on “Explore Tasks” and jump right in.

This is what we do at Code.gov. Our mission is to encourage code sharing and collaboration in order to help the US Government cut down on excessive spending and duplicative software, and foster a sense of civic duty through OSS. We also work hard every day to make more government software easily accessible to the public. This is #AmericasCode and we want to hear how we can make your experience on the platform meaningful and productive. Let us know on Twitter, LinkedIn, or in the Comments section of this blogpost.

And don’t be shy. Drop us a note anytime. We’d love to hear from you.

--

--