Joining the Pilot
All DC Government teams are encouraged to take part in the Open Source Pilot, whether it be by proposing edits to this guide or by building new open source projects with your colleagues.
Whatever form it takes, the Technology Innovation Program at OCTO is ready to help you learn the tools and techniques to participate successfully. Please email us to find out more!
If you feel ready to dive in, you can get started by joining the DCgov organization on GitHub.
GitHub 101
GitHub is a popular web-based platform, on which you can publicly host and collaboratively work on software projects. It is also host to DCgov, the new online home for DC Government agencies’ open-source projects.
Having all such projects in one place improves collaboration and impact, by making them more easily discoverable to others within and outside of DC Government.
There are many GitHub tutorials out there (this and this are two good ones), but you should first go ahead and create a GitHub account.
Setting Up a GitHub Account
Start out by creating a free Github account. If you have used GitHub in the past and already have an account set up, there is no need to open a new one. Just use some common sense to ensure that your username and avatar are work appropriate.
As an added layer of security, you should enable two-factor authentication, or 2FA. More information on 2FA is available here.
Joining DCgov on GitHub
Any DC government employee or contractor can become a member by setting up a Github account and requesting access to the DCgov organization.
To join the DCgov organization on Github, send opensource@dc.gov an email containing your GitHub username from your official DC Government email address.
Joining and Creating Teams or Projects
So you have joined DCgov. Now what?
For starters, you can now create your own repositories (i.e. projects) that will show up on the DCgov organization page. You will also find that a neat DC logo has been added to your user profile!
To really leverage your DCgov membership, join the relevant project or agency team by requesting access from each team’s maintainer. By default, you cannot edit other teams’ repositories (though you are able to make suggestions).
If no existing team meets your needs, feel free to create a new one. All teams should have a self-explanatory name, a brief description, and be marked visible.
When you open up a new repository, edit its settings to give ‘write’ or ‘admin’ permissions to your team, so they can pitch in.
Individuals other than DC Government staff and contractors may be added as ‘outside collaborators’ to individual repositories on a case-by-case basis.