| <!-- go/cmark --> |
| |
| <!--* freshness: {owner: 'hta' reviewed: '2026-04-16'} *--> |
| |
| # Organizational contributors to WebRTC |
| |
| This document outlines procedures for the relationship with longer-term |
| organizational contributors to WebRTC. |
| |
| Note that this is not covering the case of individual, one-off contributions; |
| those are adequately covered in other documents. |
| |
| ## Background: Individuals making multiple contributions |
| |
| The contribution guidelines can be summarized as: |
| |
| - First, contribute something to show understanding of the codebase |
| - Then, get [Tryjob access](/g3doc/become_a_committer.md#getting-tryjob-access) |
| (also known as "bot start rights"), so that one can test the contributions |
| before asking for review (this right applies only to bots that operate on the |
| open source repo) |
| - After a number of commits, and demonstrating adequate knowledge of the |
| project’s style and structure, one can ask for |
| [committer rights](/g3doc/become_a_committer.md), which will give the ability |
| to submit code after adequate review (current policy: review by two WebRTC |
| project members). |
| |
| ## Organizations making multiple contributions |
| |
| At the moment, primary management of the WebRTC code repository and CI |
| infrastructure is being provided by Google. This means that certain actions |
| require cooperation with the responsible team at Google - here we refer to the |
| people working on this at Google as “the WebRTC project”. |
| |
| Sometimes, organizations take on a commitment to contribute to WebRTC on a |
| longer term basis. In these cases, it is good for all parties to have some |
| guidelines on how the relationship between the WebRTC project and the |
| organization is managed. |
| |
| We should have the following roles in place: |
| |
| - A contact person at the contributing organization \ |
| This person will be responsible for knowing where the organization is making |
| contributions, and why. All contributors from that organization need to be |
| known by that contact person; the WebRTC project may redirect queries from |
| other people in the org to that person if not already CCed. |
| - At least one person with committer rights (or working towards such rights). \ |
| This person will also be a primary reviewer for incoming CLs from the |
| organization, ensuring a review is done before the WebRTC project members are |
| asked for review. \ |
| This can be the same as the contact person, or someone different. |
| |
| The WebRTC project will offer to host a contact mailing list, if desirable, and |
| name a point of contact for the relationship. |
| |
| When making small contributions like bug fixes, normal review is sufficient. |
| |
| When asking to add significant functionality (new CC, new codecs, other new |
| features), the process should include: |
| |
| - Specifying why the feature is needed (requirements, conditions for saying “it |
| works”, value to the larger community). This should normally be done by filing |
| a bug on the [issues.webrtc.org](https://issues.webrtc.org) bugtracker asking |
| for the feature. |
| - A design document showing how the feature will be implemented and how it will |
| interact with the rest of the WebRTC implementation |
| - A plan for who will do the work, and when it’s expected to happen |
| - A “match list” of the areas affected by the project and the WebRTC project |
| members available to review contributions in those areas. (This can be created |
| collaboratively). |
| - If the work involves field trials and rollouts on Google properties like Meet |
| and Chrome, there must be a plan for managing these aspects. |
| |
| Normally, an ongoing relationship will require some regular cadence of meetings; |
| a minimum of one hour per quarter should be aimed for, with other meetings as |
| needed. |