Update organizational contributions documentation and sitemap Updated terminology to use 'Tryjob access', added cross-references to detailed committer procedures, and updated the freshness marker. Also added g3doc/org-contributions.md to the sitemap for better discoverability. Files have been reformatted using git cl format. Bug: b/499941987 Change-Id: I3286bcb1b024ad2f0749034e506092a008d92aeb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/464520 Auto-Submit: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47535}
diff --git a/g3doc/org-contributions.md b/g3doc/org-contributions.md index deb658b..62d01bc 100644 --- a/g3doc/org-contributions.md +++ b/g3doc/org-contributions.md
@@ -1,5 +1,6 @@ <!-- go/cmark --> -<!--* freshness: {owner: 'hta' reviewed: '2025-10-01'} *--> + +<!--* freshness: {owner: 'hta' reviewed: '2026-04-16'} *--> # Organizational contributors to WebRTC @@ -13,18 +14,23 @@ The contribution guidelines can be summarized as: -* First, contribute something to show understanding of the codebase -* Then, get 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, which will - give the ability to submit code after adequate review (current policy: - review by two WebRTC project members). +- 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”. +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 @@ -33,40 +39,38 @@ 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. +- 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. +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. +- 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. -
diff --git a/g3doc/sitemap.md b/g3doc/sitemap.md index 1bba107..1c23e24 100644 --- a/g3doc/sitemap.md +++ b/g3doc/sitemap.md
@@ -1,56 +1,57 @@ -* [Home](/g3doc/index.md) -* How to contribute - * Code - * [Style guide](/g3doc/style-guide.md) - * [`.h` and `.cc` files come in pairs](/g3doc/style-guide/h-cc-pairs.md) - * [How to write code in the `api/` directory](/api/README.md) - * [Using Abseil in WebRTC](/g3doc/abseil-in-webrtc.md) - * [Code of conduct](/CODE_OF_CONDUCT.md) - * [Documentation](/g3doc/how_to_write_documentation.md) - * [Become a committer](/g3doc/become_a_committer.md) -* [Public C++ API](/api/g3doc/index.md) - * [API header files](/native-api.md) - * [Threading](/api/g3doc/threading_design.md) -* Implementation - * [Basic concepts](/g3doc/implementation_basics.md) - * [Supported Platforms and Compilers](/g3doc/supported-platforms-and-compilers.md) - * Network - * [ICE](/p2p/g3doc/ice.md) - * STUN - * TURN - * [DTLS](/pc/g3doc/dtls_transport.md) - * [RTP](/pc/g3doc/rtp.md) - * [SRTP](/pc/g3doc/srtp.md) - * [SCTP](/pc/g3doc/sctp_transport.md) - * [Pacing buffer](/modules/pacing/g3doc/index.md) - * Congestion control and bandwidth estimation - * Audio - * [NetEq](/modules/audio_coding/neteq/g3doc/index.md) - * AudioEngine - * [ADM](/modules/audio_device/g3doc/audio_device_module.md) - * [Audio Coding](/modules/audio_coding/g3doc/index.md) - * [Audio Mixer](/modules/audio_mixer/g3doc/index.md) - * AudioProcessingModule - * [APM](/modules/audio_processing/g3doc/audio_processing_module.md) - * Video - * [Adaptation](/video/g3doc/adaptation.md) - * [Video coding](/modules/video_coding/g3doc/index.md) - * [Stats](/video/g3doc/stats.md) - * DataChannel - * [PeerConnection](/pc/g3doc/peer_connection.md) - * Desktop capture - * [Stats](/stats/g3doc/stats.md) - * [Logging](/logging/g3doc/rtc_event_log.md) -* Testing - * Media Quality and performance - * PeerConnection Framework - * [Overview](/test/pc/e2e/g3doc/index.md) - * [Architecture](/test/pc/e2e/g3doc/architecture.md) - * [Video analyzer](/test/pc/e2e/g3doc/default_video_quality_analyzer.md) - * Call framework - * Video codecs test framework - * Network emulation - * [Implementation](/test/network/g3doc/index.md) - * Performance stats collection -* Experimentation - * [Field trials](/g3doc/field-trials.md) +- [Home](/g3doc/index.md) +- How to contribute + - Code + - [Style guide](/g3doc/style-guide.md) + - [`.h` and `.cc` files come in pairs](/g3doc/style-guide/h-cc-pairs.md) + - [How to write code in the `api/` directory](/api/README.md) + - [Using Abseil in WebRTC](/g3doc/abseil-in-webrtc.md) + - [Code of conduct](/CODE_OF_CONDUCT.md) + - [Documentation](/g3doc/how_to_write_documentation.md) + - [Become a committer](/g3doc/become_a_committer.md) + - [Organizational contributors](/g3doc/org-contributions.md) +- [Public C++ API](/api/g3doc/index.md) + - [API header files](/native-api.md) + - [Threading](/api/g3doc/threading_design.md) +- Implementation + - [Basic concepts](/g3doc/implementation_basics.md) + - [Supported Platforms and Compilers](/g3doc/supported-platforms-and-compilers.md) + - Network + - [ICE](/p2p/g3doc/ice.md) + - STUN + - TURN + - [DTLS](/pc/g3doc/dtls_transport.md) + - [RTP](/pc/g3doc/rtp.md) + - [SRTP](/pc/g3doc/srtp.md) + - [SCTP](/pc/g3doc/sctp_transport.md) + - [Pacing buffer](/modules/pacing/g3doc/index.md) + - Congestion control and bandwidth estimation + - Audio + - [NetEq](/modules/audio_coding/neteq/g3doc/index.md) + - AudioEngine + - [ADM](/modules/audio_device/g3doc/audio_device_module.md) + - [Audio Coding](/modules/audio_coding/g3doc/index.md) + - [Audio Mixer](/modules/audio_mixer/g3doc/index.md) + - AudioProcessingModule + - [APM](/modules/audio_processing/g3doc/audio_processing_module.md) + - Video + - [Adaptation](/video/g3doc/adaptation.md) + - [Video coding](/modules/video_coding/g3doc/index.md) + - [Stats](/video/g3doc/stats.md) + - DataChannel + - [PeerConnection](/pc/g3doc/peer_connection.md) + - Desktop capture + - [Stats](/stats/g3doc/stats.md) + - [Logging](/logging/g3doc/rtc_event_log.md) +- Testing + - Media Quality and performance + - PeerConnection Framework + - [Overview](/test/pc/e2e/g3doc/index.md) + - [Architecture](/test/pc/e2e/g3doc/architecture.md) + - [Video analyzer](/test/pc/e2e/g3doc/default_video_quality_analyzer.md) + - Call framework + - Video codecs test framework + - Network emulation + - [Implementation](/test/network/g3doc/index.md) + - Performance stats collection +- Experimentation + - [Field trials](/g3doc/field-trials.md)