Skip to content

Latest commit

 

History

History
270 lines (170 loc) · 12.2 KB

CONTRIBUTING.md

File metadata and controls

270 lines (170 loc) · 12.2 KB

berty.techTwitterDiscordGitHub

Contributing Guidelines

Do you want to help Berty? That's awesome! There are lots of ways of doing so. Here's a little comprehensive guide to get everything together more effectively! Please tell us if something is missing/incorrect. We would be happy to update and improve this document.

At any time, community members are invited to:

  • ask any questions they have
  • report bugs
  • contribute to long-term strategic discussions
  • request new features
  • increase the geographic reach of the community
  • raise awareness of privacy issues among the general public

Table of Contents

The Berty Technologies Organization

Berty Technologies is an NGO based in Paris, France. The main aim is to defend privacy and fight against censorship and surveillance. If these topics mean something to you, you are in the right place!

  1. Berty Messenger: An application that makes it possible to communicate anonymously and securely, with or without internet access.
  2. Berty Protocol: A new protocol for distributed and secure communication that can be used by anyone.
  3. Berty Fighter Programs: A set of actions to educate, prevent, and combat mass surveillance and censorship.

Berty Repos

Exhaustive list of all our repo: Berty Organization All our project (not only in our organization): Berty Topics

Berty Documentation

Security Issues

Berty's staff takes security and privacy issues seriously. If you discover a potential point of failure, please bring it to their attention immediately!

Please DO NOT file a public issue, but rather send your report privately to security@berty.tech.

Security reports are very much appreciated, and we thank you publicly, although we will keep your name confidential if you request it. We also like sending gifts - if you like stickers/caps/hoodies, be sure to let us know. We do not currently offer a paid security premium program, but we will not exclude it in the future.

Read more: SECURITY.md

Community Guidelines

Code of Conduct

This repository falls under the Berty Code of Conduct

We hope that our community will act according to these guidelines, and that participants will hold each other to these high standards. If you have any questions or are worried that the code isn't being followed, please contact the owner of the repository.

Language

The development language is English. All comments and documentation should be written in English, so we can share our knowledge with developers around the world.

Community

Connected as Peers

Have a question?

You can ask a question by opening a new issue and choosing Question. Don't forget to check if this question has been asked before (current question labeled issues)

Ways to contribute

There are many ways to contribute, even if you’re not a technical person.

Quick Dive in!

Please Contribute! Look at the available issues

Bug report

We use GitHub issues to track public bugs. Report a bug by opening a new issue and choosing Bug report. It's that easy! Don't forget to check if this has been reported before (current bug labeled issues)

Please provide as much information as you possibly can by following the bug report template.

Request a feature

You can request a feature by opening a new issue and choosing Feature request. Don't forget to check if this feature has been requested before (current feature-request labeled issues)

Hack Berty

If you want to hack Berty (and we'll be very happy if you do), check out the contribution code section of this page!

Translation

We use a translation platform called Crowdin to centralize the translations of the website and the Berty application.

Help us spread Berty's message!

Community Involvement

We aim to have a growing and caring community. Everyone is welcomed!

All discussions around the community are done on a dedicated berty/community repo GitHub.

Everyone is free to participate in discussions or to propose new ideas.

If you want to discuss/chat with the Berty community, join us on Discord!

Code Contributions

We’re really happy to accept contributions from the community, that’s the main reason why we open-sourced it!

Workflow

We’re using an even more simplified version of the simplified Github workflow:

  1. Create an issue related to the problem you want to fix (good for traceability and cross-reference) (cool but optional)
  2. Fork the repository
  3. Create a branch
  4. Hack hack hack
  5. Submit a pull-request against the master branch of this repository

Pull requests are always welcome

We are always thrilled to receive pull-requests, and do our best to process them as fast as possible. Not sure if that typo is worth a pull-request? Do it! We will appreciate it.

If your pull-request is not accepted on the first try, don't be discouraged! If there's a problem with the implementation, hopefully you will receive feedback on what to improve.

Commits

We use the conventional commit, configured on Angular's Commit Message Guidelines.

Create issues...

Any significant improvement should be documented as a GitHub issue before anybody starts working on it.

...but check for existing issues first!

Please take a moment to check that your bug report or enhancement proposal has not already been mentioned. If so, quickly add a "+1" or "I have this problem too". This will greatly help us prioritize the most common problems and requests.

Conventions

Each repository will have its own code and test conventions. Please make sure to review those before jumping in. Some general conventions are listed below.

Go

Please look at the Go Contribution Guidelines.

JavaScript

Please look at the JS Contribution Guidelines.

Git

We use a simple git branching model:

  • master must always work
  • create feature-branches to merge into master
  • all commits must pass testing so that git bisect is easy to run

Just stay current with master (rebase).

Use a Consistent Coding Style

Write clean code. Universally formatted code promotes ease of writing, reading, and maintenance.

Merge approval

Berty staff use built-in GitHub review systems and/or in comments like LGTM (looks good to me) on the code review to indicate acceptance.

Certificate of Origin

By contributing to this project, you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.

In order to show your agreement with the DCO you should include at the end of commit message, the following line: Signed-off-by: John Doe <john.doe@example.com>, using your real name.

This can be done easily using the -s flag on the git commit.

Small patch exception

There are several exceptions for the signing requirement. Currently these are:

  • Your patch fixes spelling or grammar errors.
  • Your patch is a single line change to documentation.

License

Licensing is described in each repo.

In most cases:

Feel free to contact the Berty staff if that's a concern.

Authors

See also the list of contributors who participated in this project. Berty is an open source project with a community that grows every day. We will be happy to add your name to the list of contributors.

Credits

This document is based on:

Appendix and FAQ

Find this document incomplete? Open an issue!