Skip to content

Latest commit

 

History

History
102 lines (79 loc) · 5.7 KB

README.md

File metadata and controls

102 lines (79 loc) · 5.7 KB

Welcome to the Brand New Congress Dev Team

Welcome to the official GitHub organization for Brand New Congress – an effort to to run hundreds of campaigns for Congress in 2018 on a unified message taking advantage of shared resources.

All of our candidates support

  • medicare for all
  • a new Green new deal to revitalize our economy, clean up our neighborhoods, and avert the worst of climate chaos
  • a variety of proposals to tackle mass incarceration from all angles
  • free tuition at public universities, sponsored vocational training, paid family leave
  • a sensible immigration system with a path to citizenship
  • and finally, a swift and forceful reform of the corrupt, corporate controlled, institutions that pass for democracy

See more about our candidates and platform here and here.

The Brand New Congress dev team is responsible for developing and maintaining:

  1. Our websites, brandnewcongress.org, and websites for each of our candidates.
  2. The data infrastructure that let's us store our supports data, records of our campaign interactions, etc.
  3. Tools to support the operations of the rest of our organization, specifically the operations of our campaigns in the field. Since our most valuable resource is the time of our staff and volunteers, tools that enable them to operate more efficiently and effectively can have a huge impact.

Working as a developer here is a once in a lifetime opportunity not to just make a large impact in one congressional district, but to have a large role shaping the congressional makeup of the entire country.

Getting Started

First, introduce yourself!

Second, check out the core repository – it's an Elixir/Phoenix backend with a plain html / ReactJS front-end, and it's possible to make valuable contributions to it if you're familiar with only 1 or none of those technologies.

After you've got the repository up and running, leave a 👍 on this issue. If you run into problems running the code locally, leave a comment there and we'll help out.

Third, check out the good first contribution issues or general help wanted.

  1. Leave a comment saying that you can do it
  2. Fork the repository
  3. Create a branch for your contribution
  4. Open a pull request
  5. Get it merged
  6. Go tell all of your friends to do the same

Where do issues / projects / priorities come from?

Some issues are bugs / technical enhancements, but other projects come from work requests that the technology team receives from the rest of the organization. This ensures that everything you work on will be directly used by our around 150 staff and volunteers (for admin tools) and by 800,000 (and growing) people for anything world-facing.

Principles

We're running multiple campaigns, which means that each candidate gets to take advantage of solutions and processes developed for the other. Additionally, we are one component of a larger progressive movement in the United States, which is one component of similar global social movements.

This means that:

  • When developing software for our candidates, everything we do can be used by all candidates.
  • If any down-ballot candidate or Canadian outside of the scope of our organization wishes to develop or deploy our software, they are allowed to and we will support their use cases (subject of course to our own capacity to meet our organizations needs).
  • We develop everything in full transparency in this GitHub organization with the copyleft A-GPL 3.0 license. This ensures that any improvements made to any fork of our code must be also be open source, and thus made available to the rest the progressive movement.

But wait – if your code is open source, can't your opponents use it?

Of course they can! But there's a few reasons why this should not be a concern –

  1. Our opponents already have money – whether they are long time establishment Democrats with deep ties to the business class, lobbyists, and consultants or Republicans fitting the same description, they have the money to fund the development of custom solutions. The existence of free and open source versions of some of these tools is thus important for groups that rely on small donations, and much less so for seasoned, well-funded, political machines.

  2. Our tools support a method of campaigning that only works for our types of causes – We are developing tools that support grassroots, distributed campaigns that rely heavily on volunteers. Thus, our tools are designed to leverage the enthusiasm that comes with popular support for our platform. Different campaigns have different methods.

  3. If our code is released under a copyleft license, no consultancy or political vendor is able to profit off of forking and developing it. Given that establishment political campaigns are closely tied to and depend on these services, its very unlikely that they would choose to lose their competitive advantage by developing all of their code out in the open.

Thanks!

Thanks for visiting our Github organization, and we hope you introduce yourself and get started with an issue!