Thank you for contributing! Pion is a community project, and only exists because of the hard work of many different people. Contributing doesn’t just involve code either, you can be involved in many different ways. Before starting here are some things to remember that will make the whole process a whole lot more fun and effective.
Don’t take it personally when your work doesn’t get reviewed or merged in a timely manner. Feel free to add other contributors, or send a message on Slack. People have busy schedules and it is easy to get pulled in lots of directions
It is better to get something done, then nothing at all. Try starting with a small task first, and grabbing larger things as time moves on
Answering questions and working with the community is really important. Most community members use Slack, but it would also be helpful to work with people on Stackoverflow
We have lots of issues that have been filed, but not addressed yet.
- If it is a question, or a simple issue you might be able to fix yourself!
- If it is a bigger task add a difficulty label (‘easy’, ‘medium’ or ‘hard’) and the ‘triaged’ label
- If feedback is requested add the ‘question’ label. If we haven’t heard in 30 days resolve. Leave a comment telling the user to re-open if they are still interested though.
It also is helpful to review old triaged issues, they haven’t got the attention they need
We are working on building not just documentation about using Pion, but deep knowledge of WebRTC. Collecting up information (useful links, RFCs) and writing summations for technology would greatly enhance the Knowledge Base.
Many Open Source projects use Pion. The following projects would love your help, and please add your project if you are interested in getting outside help!
A great way to learn/get involved would be to review existing PRs. You can see them here
We should aim to have zero unmerged PRs, but sometimes they get stuck in review or the original author runs out of time.
Contributing to Pion should be an easy and fun process! After you land your first PR you will become a Pion developer, and you will have the ability to review and merge others code.
We try to have a high standard for quality, please review the Writing a good PR before selecting an issue
Time to code! To find a good task here are our open issues in order of difficulty .
good first issue - Issues with zero ambiguity that can be easily merged
easy - Issues that are technically challenging but no ambiguity
medium - Issues that are technically challenging and some ambiguity, a solution should be agreed on first
hard - Issues that are technically challenging and require a significant time investment
Talk to a developer on Slack or Github before you start work. Things may have changed since the issue was reported, so don’t start work until you are sure everything will work!
The following developers are available for mentoring, and are happy to help you through the whole process.
- Sean DuBois Sean-Der
Your code will likely not be reviewed if it fails the automated checks. The code may be high quality, but most developers assume it isn’t ready until the build is green.
In the root of each repo there is a
.travis.yml file, this contains all the checks that are run. These checks are different for each repository. You can see the checks that run for Pion WebRTC Here as an example
Each commit message is checked for the following rules
Subject line, capitalized, no period, max 50 chars Commit message body, describe the changes exactly here. Use full sentences. Wrap the commit message body at 72 characters.
Add yourself to the README.md if this is your first time contributing.