xref: /aosp_15_r20/external/webrtc/g3doc/become_a_committer.md (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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