/Info

Information about Bernie 2016 technology and how you can get involved.

Bernie 2016 Technology

Welcome! This is the official GitHub organization for the Bernie 2016 presidential campaign. Many of our projects that power Bernie's campaign are open-source and we welcome contributions - so we put together this guide on how to get involved.

Where do we hang out?

We sync up on Slack - you can request an invite here and then head over to #tech-team.

What should I work on?

To get a sense of which projects are most active, you can take a look at https://github.com/Bernie-2016/ -- the projects will be listed in order of most to least recent activity. There's also a list of projects in PROJECTS.md, although it may sometimes be a little out of date.

The current priorities for the campaign will be set as pinned messages in #tech-team in Slack. These are things we often need to get done very soon, so help is always appreciated!

If the top priorities seem too complicated and difficult to get into (they probably often will be for newcomers), feel free to instead trawl through some of our projects and try to find Issues marked with the ‘newbie-friendly’ tag. Pick a newbie-friendly task (even better if it is a newbie-friendly task with a high-priority tag as well) and give it a shot!

How do I commit a change to the project?

Bernie 2016 projects use Gitflow to accept pull requests. To submit a change to a project:

  1. Fork the project to your own GitHub account (click "Fork" on the project page in GitHub)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Each project has a README that (hopefully) explains how to get started and how to run any tests or code validation. You should ensure that your changes use good code style, are appropriately commented, and don't break any tests (if applicable). Feel free to request code review or discuss your ideas over in our Slack.

Why are you doing everything in OSS? Isn't that crazy for a campaign?!

Other than the ideals-based reasons, which we do really believe in, we honestly think open sourcing our software is the best way to get as many people involved as possible. We will win this campaign if we are able to make it as easy as possible for massive amounts of people to organize. This is true just as much for our software as it is for every other part of the campaign.

How are your projects licensed?

All of our open-source projects are licensed with the GNU Affero Public License, Version 3 (AGPL). A short summary of the AGPL can be found here - it is similar to many other open-source licenses in that it permits you to use, modify, and distribute code for your own purposes (including commercial purposes), but if you make significant changes to the software, you must make your copy open-source, including the original license and stating significant changes that you've made. (A few projects are licensed differently mostly for dependency-related reasons -- check the LICENSE.txt file in any repository for specifics.)