Add a documentation on how to become WebRTC committer

Bug: webrtc:12298
Change-Id: Ia9d760b1c2ecea9c8b056971fe64c099c9bb5058
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225023
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34526}
This commit is contained in:
Artem Titov 2021-07-21 14:33:13 +02:00 committed by WebRTC LUCI CQ
parent 623146cfe1
commit 41e98bab1e
3 changed files with 71 additions and 10 deletions

View file

@ -142,18 +142,14 @@ Please see [Getting Started][getting-started-link] and
Yes, each Contributor must sign and return the
[Contributor License Agreement][cla-link]
### How can I become a WebRTC committer?
After 10-20 non-trivial patches you can apply for commit rights. If you are
writing a lot of patches you can also apply for try job access before then.
To apply, open a bug on https://bugs.chromium.org/p/webrtc/ specifying the
e-mail you will use to commit code to WebRTC and list all the relevant CLs to
show your previous contributions (even in case you are only requiring try job
access since it is still required a certain number of contributions for that
as well).
[cla-link]: https://developers.google.com/open-source/cla/individual?hl=en
### How can I become a WebRTC committer?
The process of becoming a committer is documented in a
[separate page][become-a-committer].
[become-a-committer]: https://webrtc.googlesource.com/src/+/refs/heads/main/g3doc/become_a_committer.md
### Do I have to be a programmer to use WebRTC?

View file

@ -0,0 +1,64 @@
# How to become WebRTC committer
<?% config.freshness.owner = 'titovartem' %?>
<?% config.freshness.reviewed = '2021-07-05' %?>
## WebRTC committer duties
WebRTC committers are responsible for keeping WebRTC codebase in a good shape
including, but not limited to the following aspects:
* Code complexity and correctness
* C++ best practices
* Code formatting
* Test coverage
* Class/function level and conceptual documentation
Whenever a committer sets `Code Review +1` label on the CL, they approve that
the CL fulfills WebRTC style guides, language mastery, testability and
documentation. Being a committer means being responsible for the WebRTC codebase
health and code quality.
## Becoming a WebRTC committer
To write code in WebRTC you don't need to be a committer (also see [FAQ][1]),
but to submit code to WebRTC you do. So if you don't plan to work on the WebRTC
codebase regularly, you can ask other committers through code review to submit
your patches, but if you are going to work in the WebRTC codebase, then it's
recommended to apply for WebRTC committer rights obtaining process.
1. If you are going to write in C++ make yourself familiar with with C++ style
guides:
* [Google style guide][5]
* [Chromium style guide][2]
* [WebRTC style guide][3]
2. Create a ticket to obtain WebRTC committers rights in Monorail.
TODO: add link to the template.
3. Pick a mentor among WebRTC committers, who will review your CLs. For C++
authors, the mentor will also look for C++ readability skills. It's
recommended to ask someone who is familiar with the code base which you will
be working on (you can check OWNERS files to find such person). Otherwise
you can reach out to committers mailing list \<committers@webrtc.org\>.
4. Send CLs to the mentor for review and attach them to the created ticket.
5. When the mentor decides that you are ready (for C++ authors their C++
readability skills are good enough), they will send a proposal for granting
WebRTC committer rights to the reviewing committee mailing list to review.
If the proposal will be approved, then committer rights will be granted.
Committee members will have up to 5 business days to answer. In case of
rejection detailed feedback on what aspects should be improved will be
provided.
6. Also as any contributor you must sign and return the
[Contributor License Agreement][4]
[1]: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/faq.md#to-be-a-contributor_do-i-need-to-sign-any-agreements
[2]: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/styleguide/c++/c++.md
[3]: https://webrtc.googlesource.com/src/+/refs/heads/main/g3doc/style-guide.md
[4]: https://developers.google.com/open-source/cla/individual?hl=en
[5]: https://google.github.io/styleguide/cppguide.html

View file

@ -3,6 +3,7 @@
* Code
* [Style guide](/g3doc/style-guide.md)
* [Documentation](/g3doc/how_to_write_documentation.md)
* [Become a committer](/g3doc/become_a_committer.md)
* [Public C++ API](/api/g3doc/index.md)
* [Threading](/api/g3doc/threading_design.md)
* Implementation