Onboarding Instructions for Contributors

Please read and follow the instructions on this page while joining the project. Please refer to this page when you have a question later on.

1. Contributor Agreement

All new contributors (individuals or organizations) must read and accept the contributor agreement to join the project. It’s short and simple, and instructions are in the Contributor Agreement.

We will invite you to our Slack channels, Postman Team Workspace, GitHub repos or Translation team site as appropriate after you complete the Contributor Agreement and email it to us.

2. Communication

Our preferred mode of communication is Slack. Email may be used as needed. We may use Zoom conference calls or other conference call software as needed.

We recommend that you install Slack on your phone and/or computer, and set it to ‘Away’ mode when you do not want to be disturbed. Email can be used as needed.

We WILL NOT use WhatsApp, Telegram or any other instant messaging program for project discussions, though you may use them to alert each other to get a person’s attention to a message sent on Slack or email. We have lost project discussions on WhatsApp that are not recoverable and it is difficult to coordinate a large team on WhatsApp.

3. Documentation and Source Code

We use our GitHub site to maintain source code, project task items (kanban cards), issues and maintain some documentation on GitHub wikis.

We have a PostMan team workspace that we use to document and test the APIs.

We use POEditor for managing translations into multiple human languages. (Project | Join)

As mentioned above, we use Slack for communication.

4. Issues and Feature Requests

We document issues and feature requests on our Project (Kanban) boards and Issue Trackers on GitHub. Some cards on the project boards are linked to issues, but some are not. So please review both the project boards and issue trackers.

If you find an issue, please report them on the issue tracker. If you want to work on an unassigned issue, please assign it to yourself. We recommend that we respond about reported issues primarily through the issue tracker, though we may occasionally use Slack for discussions. Unreported issues that are discussed on Slack may be created on the issue tracker and we recommend that further discussions are kept on GitHub.

Project board (there are multiple boards for various modules)

Issue trackers:

5. Third-Party Libraries

Since Covenant is an open-source project licensed under the Apache Software License v2, it is absolutely mandatory that all third-party libraries used in this project are under licenses that are compatible with the Apache license.

Please refer to this document and include only the third-party software libraries that are published under a license in the ‘allowed’ list.

When you include a third-party library in the project, please document its name, URL and license as comments in the source code where you first referenced it.

6. Committing Source Code

Our GitHub repos are public. There are multiple branches in our GitHub repos. Some of them are under active development and are known not to build successfully. So, if you ask us, we can point you to the correct branch to check out. Of course, you may check out any branch, even if you’re not a contributor, since the project is open source. But if you ask us, this will save you some time.

New contributors are requested to commit code to their personal GitHub repos and then send us a pull request. We will review it and merge it into our development branch. Regular contributors will be given write permissions to our GitHub repos. Afterwards, you can commit code to your own development branches in our repos, and we will review and merge them into the main development branch.

7. Other Questions

If you have any other questions, please reach out to us. If you are a project contributor please ask us on Slack in the #cov-devtalk channel. You may also email us at help (at) covn (dot) org

Thank you!