1# How to get tryjob access or become WebRTC committer 2 3<?% config.freshness.owner = 'titovartem' %?> 4<?% config.freshness.reviewed = '2021-10-26' %?> 5 6## Overview 7 8There are two levels of WebRTC contributors access: 9 101. Tryjob access - permits contributor to run tests for their changes using 11 WebRTC infrastructure 122. WebRTC committer rights - permits to submit changes to the WebRTC code base. 13 This includes tryjob access. 14 15## Getting tryjob access 16 17To get tryjob access applicant has to do a contribution around 10-20 CLs to the 18WebRTC code base. After that, they should file a bug using 19[Get tryjob access template][7], specifying the email which was used for the 20contributions and to which access will be granted, and listing contributed CLs. 21 22The access will be granted when the ticket is resolved by one of the project 23members. In case of rejection the explanation will be provided. 24 25## WebRTC committer duties 26 27WebRTC committers are responsible for keeping WebRTC codebase in a good shape 28including, but not limited to the following aspects: 29 30* Code complexity and correctness 31* C++ best practices 32* Code formatting 33* Test coverage 34* Class/function level and conceptual documentation 35 36Whenever a committer sets `Code Review +1` label on the CL, they approve that 37the CL fulfills WebRTC style guides, language mastery, testability and 38documentation. Being a committer means being responsible for the WebRTC codebase 39health and code quality. 40 41## Becoming a WebRTC committer 42 43To write code in WebRTC you don't need to be a committer (also see [FAQ][1]), 44but to submit code to WebRTC you do. So if you don't plan to work on the WebRTC 45codebase regularly, you can ask other committers through code review to submit 46your patches, but if you are going to work in the WebRTC codebase, then it's 47recommended to apply for WebRTC committer rights obtaining process. 48 491. If you are going to write in C++ make yourself familiar with with C++ style 50 guides: 51 52 * [Google style guide][5] 53 * [Chromium style guide][2] 54 * [WebRTC style guide][3] 55 562. Create a ticket to obtain WebRTC committers rights in Monorail. Please use 57 [this template][6] of it. 58 593. Pick a mentor among WebRTC committers, who will review your CLs. For C++ 60 authors, the mentor will also look for C++ readability skills. It's 61 recommended to ask someone who is familiar with the code base which you will 62 be working on (you can check OWNERS files to find such person). Otherwise 63 you can reach out to committers mailing list \<[email protected]\>. 64 654. Send CLs to the mentor for review and attach them to the created ticket. 66 675. When the mentor decides that you are ready (for C++ authors their C++ 68 readability skills are good enough), they will send a proposal for granting 69 WebRTC committer rights to the reviewing committee mailing list to review. 70 If the proposal will be approved, then committer rights will be granted. 71 Committee members will have up to 5 business days to answer. In case of 72 rejection detailed feedback on what aspects should be improved will be 73 provided. 74 756. Also as any contributor you must sign and return the 76 [Contributor License Agreement][4] 77 78[1]: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/faq.md#to-be-a-contributor_do-i-need-to-sign-any-agreements 79[2]: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/styleguide/c++/c++.md 80[3]: https://webrtc.googlesource.com/src/+/refs/heads/main/g3doc/style-guide.md 81[4]: https://developers.google.com/open-source/cla/individual?hl=en 82[5]: https://google.github.io/styleguide/cppguide.html 83[6]: https://bugs.chromium.org/p/webrtc/issues/entry?template=Become+WebRTC+committer 84[7]: https://bugs.chromium.org/p/webrtc/issues/entry?template=Get+tryjob+access 85