Contributing to SecureDrop¶
Thank you for your interest in contributing to SecureDrop! We welcome both new and experienced open-source contributors and are committed to making it as easy as possible to contribute. Whether you have a few minutes or many hours, there are a variety of ways to help. We are always looking for help from:
- Programmers, to help us develop SecureDrop;
- Technical writers, to help improve the documentation;
- UX contributors, to help improve the product experience for end users;
- Translators, to translate SecureDrop;
- Release managers, to create and maintain Debian GNU/Linux packages and repositories;
- Forum moderators and support volunteers, to help with the support forums.
You can always find a regular project contributor to answer any questions you may have on the SecureDrop instant messaging channel. You can also register on the forum for more information and to participate in longer discussions.
The SecureDrop GitHub repositories and other project resources are managed by Freedom of the Press Foundation employees. All SecureDrop contributors are required to abide by the project’s Code of Conduct.
- To start contributing to the codebase, see our contributing guidelines.
- To start making documentation changes, see our documentation guidelines.
- To start translating, see our translator guide.
- Not sure where to start? You can always ask for advice in the chat room.
A contributing programmer can work on either newcomer or advanced developer issues.
If you are a novice programmer, you can start with these issues in the following repositories:
Programmers who are more comfortable with contributing to the SecureDrop codebase can work on issues related to the following topics:
Application development and general tasks:
- Application code cleanup
- Developer workflow
- Source and journalist applications
- Journalist experience
- Source experience
Preparing and submitting changes¶
Before beginning your work on any given issue, we recommend asking questions or sharing an implementation proposal on the relevant GitHub issue. Alternatively, you can often find the development team on Gitter chat. Communicating early and often is especially important for larger changes.
If you would like to contribute on a regular basis, you’ll want to read the developer documentation and set up a local development environment to preview changes, run tests locally, etc.
Technical writers and editors are invited to review the documentation and fix any mistakes in accordance with the documentation guidelines. Our documentation code is located in our documentation repository.
If this is your first time contributing to SecureDrop documentation, consider working on low-hanging fruit to become familiar with the process.
If you have interaction or visual design skills, UI copywriting skills, or user research skills, check out our User Experience repository. It includes a wiki with notes from UX meetings, design standards, design principles, links to past research synthesis efforts, and ongoing and past work documented in the form of issues.
If you have front-end development skills, take a look at these issues in the primary SecureDrop repository in GitHub:
All software deployed with SecureDrop is installed via Debian GNU/Linux packages via Ansible. The primary repository is controlled, maintained, and signed by Freedom of the Press Foundation employees. The current responsibilities of the release manager are covered in detailed documentation.
If you are a Debian developer you can help improve packaging and the release process:
Translating SecureDrop is crucial to making it useful for investigative journalism around the world. If you know English and another language, we would welcome your help.
SecureDrop is translated using Weblate. We provide a detailed guide for translators, and feel free to contact us in the translation section of the SecureDrop forum for help. Non-English forum discussions are also welcome.
Forum Moderators and Support¶
Those running a production instance of SecureDrop are encouraged to read the support documentation to get help from the Freedom of the Press Foundation. For less sensitive topics such as running a demo or getting help to understand a concept, a public forum section is better suited. To assist on the forum: