2. Media Committers¶
2.1. Who is a Media Committer?¶
A Media Committer is a Media Maintainer with patchwork access who has been granted commit access to push patches from other developers and their own patches to the media-committers tree.
These commit rights are granted with expectation of responsibility: committers are people who care about the Linux Kernel as a whole and about the Linux media subsystem and want to advance its development. It is also based on a trust relationship among other committers, maintainers and the Linux Media community.
As Media Committer you have the following additional responsibilities:
Patches you authored must have a
Signed-off-by,Reviewed-byorAcked-byfrom another Media Maintainer;If a patch introduces a regression, then that must be corrected as soon as possible. Typically the patch is either reverted, or an additional patch is committed to fix the regression;
If patches are fixing bugs against already released Kernels, including the reverts mentioned above, the Media Committer shall add the needed tags. Please see Media development workflow for more details.
All Media Committers are responsible for maintaining Patchwork, updating the state of the patches they review or merge.
2.2. Becoming a Media Committer¶
Existing Media Committers can nominate a Media Maintainer to be granted commit rights. The Media Maintainer must have patchwork access, have been reviewing patches from third parties for some time, and has demonstrated a good understanding of the maintainer’s duties and processes.
The ultimate responsibility for accepting a nominated committer is up to the Media Subsystem Maintainers. The nominated committer must have earned a trust relationship with all Media Subsystem Maintainers, as, by granting you commit rights, part of their responsibilities are handed over to you.
Due to that, to become a Media Committer, a consensus between all Media Subsystem Maintainers is required.
Note
In order to preserve/protect the developers that could have their commit rights granted, denied or removed as well as the subsystem maintainers who have the task to accept or deny commit rights, all communication related to changing commit rights should happen in private as much as possible.
2.3. Media Committer’s agreement¶
Once a nominated committer is accepted by all Media Subsystem Maintainers, they will ask if the developer is interested in the nomination and discuss what area(s) of the media subsystem the committer will be responsible for. Those areas will typically be the same as the areas that the nominated committer is already maintaining.
When the developer accepts being a committer, the new committer shall explicitly accept the Kernel development policies described under its Documentation/, and in particular to the rules in this document, by writing an e-mail to media-committers@linuxtv.org, with a declaration of intent following the model below:
I, John Doe, would like to change my status to: Committer
As Media Maintainer I accept commit rights for the following areas of
the media subsystem:
...
For the purpose of committing patches to the media-committers tree,
I'll be using my user https://gitlab.freedesktop.org/users/<username>.
Followed by a formal declaration of agreement with the Kernel development rules:
I agree to follow the Kernel development rules described at:
https://www.kernel.org/doc/html/latest/driver-api/media/media-committers.rst
and to the Linux Kernel development process rules.
I agree to abide by the Code of Conduct as documented in:
https://www.kernel.org/doc/html/latest/process/code-of-conduct.rst
I am aware that I can, at any point of time, retire. In that case, I will
send an e-mail to notify the Media Subsystem Maintainers for them to revoke
my commit rights.
I am aware that the Kernel development rules change over time.
By doing a new push to media-committers tree, I understand that I agree
to follow the rules in effect at the time of the commit.
That e-mail shall be signed via the Kernel Web of trust with a PGP key cross signed by other Kernel and media developers. As described at Authentication for pull and merge requests, the PGP signature, together with the gitlab user security are fundamental components that ensure the authenticity of the merge requests that will happen at the media-committers.git tree.
In case the kernel development process changes, by merging new commits to the media-committers tree, the Media Committer implicitly declares their agreement with the latest version of the documented process including the contents of this file.
If a Media Committer decides to retire, it is the committer’s duty to notify the Media Subsystem Maintainers about that decision.
Note
Changes to the kernel media development process shall be announced in the media-committers mailing list with a reasonable review period. All committers are automatically subscribed to that mailing list;
Due to the distributed nature of the Kernel development, it is possible that kernel development process changes may end being reviewed/merged at the Linux Docs and/or at the Linux Kernel mailing lists, especially for the contents under Documentation/process and for trivial typo fixes.
2.4. Media Core Committers¶
A Media Core Committer is a Media Core Maintainer with commit rights.
As described in Documentation/driver-api/media/maintainer-entry-profile.rst, a Media Core Maintainer maintains media core frameworks as well, besides just drivers, and so is allowed to change core files and the media subsystem’s Kernel API. The extent of the core committer’s grants will be detailed by the Media Subsystem Maintainers when they nominate a Media Core Committer.
Existing Media Committers may become Media Core Committers and vice versa. Such decisions will be taken in consensus among the Media Subsystem Maintainers.
2.5. Media committers rules¶
Media committers shall do their best efforts to avoid merging patches that would break any existing drivers. If it breaks, fixup or revert patches shall be merged as soon as possible, aiming to be merged at the same Kernel cycle the bug is reported.
Media committers shall behave accordingly to the rights granted by the Media Subsystem Maintainers, especially with regards of the scope of changes they may apply directly at the media-committers tree. That scope can change over time on a mutual agreement between Media Committers and Media Subsystem Maintainers.
The Media Committer workflow is described at Media development workflow.
2.6. Maintaining Media Maintainer or Committer status¶
A community of maintainers working together to move the Linux Kernel forward is essential to creating successful projects that are rewarding to work on. If there are problems or disagreements within the community, they can usually be solved through healthy discussion and debate.
In the unhappy event that a Media Maintainer or Committer continues to disregard good citizenship (or actively disrupts the project), we may need to revoke that person’s status. In such cases, if someone suggests the revocation with a good reason, then after discussing this among the Media Maintainers, the final decision is taken by the Media Subsystem Maintainers.
As the decision to become a Media Maintainer or Committer comes from a consensus between Media Subsystem Maintainers, a single Media Subsystem Maintainer not trusting the Media Maintainer or Committer anymore is enough to revoke their maintenance, Patchwork grants and/or commit rights.
Having commit rights revoked doesn’t prevent Media Maintainers to keep contributing to the subsystem either via the pull request or via email workflow as documented at the Media development workflow.
If a maintainer is inactive for more than a couple of Kernel cycles, maintainers will try to reach you via e-mail. If not possible, they may revoke their maintainer/patchwork and committer rights and update MAINTAINERS file entries accordingly. If you wish to resume contributing as maintainer later on, then contact the Media Subsystem Maintainers to ask if your maintenance, Patchwork grants and commit rights can be restored.
2.7. References¶
Much of this was inspired by/copied from the committer policies of: