mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
As the media subsystem will experiment with a multi-committers model, update the Maintainer's entry profile to the new rules, and add a file documenting the process to become a committer and to maintain such rights. Reviewed-by: Ricardo Ribalda <ribalda@chromium.org> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
204 lines
8.9 KiB
ReStructuredText
204 lines
8.9 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
.. _Media Committers:
|
|
|
|
Media Committers
|
|
================
|
|
|
|
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 <https://gitlab.freedesktop.org/linux-media/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:
|
|
|
|
1. Patches you authored must have a ``Signed-off-by``, ``Reviewed-by``
|
|
or ``Acked-by`` from another Media Maintainer;
|
|
2. 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;
|
|
3. If patches are fixing bugs against already released Kernels, including
|
|
the reverts mentioned above, the Media Committer shall add the needed
|
|
tags. Please see :ref:`Media development workflow` for more details.
|
|
4. All Media Committers are responsible for maintaining
|
|
`Patchwork <https://patchwork.linuxtv.org/project/linux-media/list/>`_,
|
|
updating the state of the patches they review or merge.
|
|
|
|
|
|
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.
|
|
|
|
.. _media-committer-agreement:
|
|
|
|
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
|
|
:ref:`media-developers-gpg`, 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 <https://gitlab.freedesktop.org/linux-media/media-committers>`_,
|
|
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::
|
|
|
|
1. 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;
|
|
2. 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.
|
|
|
|
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.
|
|
|
|
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 :ref:`Media development workflow`.
|
|
|
|
.. _Maintain Media Status:
|
|
|
|
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 :ref:`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.
|
|
|
|
References
|
|
----------
|
|
|
|
Much of this was inspired by/copied from the committer policies of:
|
|
|
|
- `Chromium <https://chromium.googlesource.com/chromium/src/+/main/docs/contributing.md>`_;
|
|
- `WebKit <https://webkit.org/commit-and-review-policy/>`_;
|
|
- `Mozilla <https://www.mozilla.org/hacking/committer/>`_.
|