1*f505e978SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 2*f505e978SMauro Carvalho Chehab 3*f505e978SMauro Carvalho Chehab.. _Media Committers: 4*f505e978SMauro Carvalho Chehab 5*f505e978SMauro Carvalho ChehabMedia Committers 6*f505e978SMauro Carvalho Chehab================ 7*f505e978SMauro Carvalho Chehab 8*f505e978SMauro Carvalho ChehabWho is a Media Committer? 9*f505e978SMauro Carvalho Chehab------------------------- 10*f505e978SMauro Carvalho Chehab 11*f505e978SMauro Carvalho ChehabA Media Committer is a Media Maintainer with patchwork access who has been 12*f505e978SMauro Carvalho Chehabgranted commit access to push patches from other developers and their own 13*f505e978SMauro Carvalho Chehabpatches to the 14*f505e978SMauro Carvalho Chehab`media-committers <https://gitlab.freedesktop.org/linux-media/media-committers>`_ 15*f505e978SMauro Carvalho Chehabtree. 16*f505e978SMauro Carvalho Chehab 17*f505e978SMauro Carvalho ChehabThese commit rights are granted with expectation of responsibility: 18*f505e978SMauro Carvalho Chehabcommitters are people who care about the Linux Kernel as a whole and 19*f505e978SMauro Carvalho Chehababout the Linux media subsystem and want to advance its development. It 20*f505e978SMauro Carvalho Chehabis also based on a trust relationship among other committers, maintainers 21*f505e978SMauro Carvalho Chehaband the Linux Media community. 22*f505e978SMauro Carvalho Chehab 23*f505e978SMauro Carvalho ChehabAs Media Committer you have the following additional responsibilities: 24*f505e978SMauro Carvalho Chehab 25*f505e978SMauro Carvalho Chehab1. Patches you authored must have a ``Signed-off-by``, ``Reviewed-by`` 26*f505e978SMauro Carvalho Chehab or ``Acked-by`` from another Media Maintainer; 27*f505e978SMauro Carvalho Chehab2. If a patch introduces a regression, then that must be corrected as soon 28*f505e978SMauro Carvalho Chehab as possible. Typically the patch is either reverted, or an additional 29*f505e978SMauro Carvalho Chehab patch is committed to fix the regression; 30*f505e978SMauro Carvalho Chehab3. If patches are fixing bugs against already released Kernels, including 31*f505e978SMauro Carvalho Chehab the reverts mentioned above, the Media Committer shall add the needed 32*f505e978SMauro Carvalho Chehab tags. Please see :ref:`Media development workflow` for more details. 33*f505e978SMauro Carvalho Chehab4. All Media Committers are responsible for maintaining 34*f505e978SMauro Carvalho Chehab `Patchwork <https://patchwork.linuxtv.org/project/linux-media/list/>`_, 35*f505e978SMauro Carvalho Chehab updating the state of the patches they review or merge. 36*f505e978SMauro Carvalho Chehab 37*f505e978SMauro Carvalho Chehab 38*f505e978SMauro Carvalho ChehabBecoming a Media Committer 39*f505e978SMauro Carvalho Chehab-------------------------- 40*f505e978SMauro Carvalho Chehab 41*f505e978SMauro Carvalho ChehabExisting Media Committers can nominate a Media Maintainer to be granted 42*f505e978SMauro Carvalho Chehabcommit rights. The Media Maintainer must have patchwork access, 43*f505e978SMauro Carvalho Chehabhave been reviewing patches from third parties for some time, and has 44*f505e978SMauro Carvalho Chehabdemonstrated a good understanding of the maintainer's duties and processes. 45*f505e978SMauro Carvalho Chehab 46*f505e978SMauro Carvalho ChehabThe ultimate responsibility for accepting a nominated committer is up to 47*f505e978SMauro Carvalho Chehabthe Media Subsystem Maintainers. The nominated committer must have earned a 48*f505e978SMauro Carvalho Chehabtrust relationship with all Media Subsystem Maintainers, as, by granting you 49*f505e978SMauro Carvalho Chehabcommit rights, part of their responsibilities are handed over to you. 50*f505e978SMauro Carvalho Chehab 51*f505e978SMauro Carvalho ChehabDue to that, to become a Media Committer, a consensus between all Media 52*f505e978SMauro Carvalho ChehabSubsystem Maintainers is required. 53*f505e978SMauro Carvalho Chehab 54*f505e978SMauro Carvalho Chehab.. Note:: 55*f505e978SMauro Carvalho Chehab 56*f505e978SMauro Carvalho Chehab In order to preserve/protect the developers that could have their commit 57*f505e978SMauro Carvalho Chehab rights granted, denied or removed as well as the subsystem maintainers who 58*f505e978SMauro Carvalho Chehab have the task to accept or deny commit rights, all communication related to 59*f505e978SMauro Carvalho Chehab changing commit rights should happen in private as much as possible. 60*f505e978SMauro Carvalho Chehab 61*f505e978SMauro Carvalho Chehab.. _media-committer-agreement: 62*f505e978SMauro Carvalho Chehab 63*f505e978SMauro Carvalho ChehabMedia Committer's agreement 64*f505e978SMauro Carvalho Chehab--------------------------- 65*f505e978SMauro Carvalho Chehab 66*f505e978SMauro Carvalho ChehabOnce a nominated committer is accepted by all Media Subsystem Maintainers, 67*f505e978SMauro Carvalho Chehabthey will ask if the developer is interested in the nomination and discuss 68*f505e978SMauro Carvalho Chehabwhat area(s) of the media subsystem the committer will be responsible for. 69*f505e978SMauro Carvalho ChehabThose areas will typically be the same as the areas that the nominated 70*f505e978SMauro Carvalho Chehabcommitter is already maintaining. 71*f505e978SMauro Carvalho Chehab 72*f505e978SMauro Carvalho ChehabWhen the developer accepts being a committer, the new committer shall 73*f505e978SMauro Carvalho Chehabexplicitly accept the Kernel development policies described under its 74*f505e978SMauro Carvalho ChehabDocumentation/, and in particular to the rules in this document, by writing 75*f505e978SMauro Carvalho Chehaban e-mail to media-committers@linuxtv.org, with a declaration of intent 76*f505e978SMauro Carvalho Chehabfollowing the model below:: 77*f505e978SMauro Carvalho Chehab 78*f505e978SMauro Carvalho Chehab I, John Doe, would like to change my status to: Committer 79*f505e978SMauro Carvalho Chehab 80*f505e978SMauro Carvalho Chehab As Media Maintainer I accept commit rights for the following areas of 81*f505e978SMauro Carvalho Chehab the media subsystem: 82*f505e978SMauro Carvalho Chehab 83*f505e978SMauro Carvalho Chehab ... 84*f505e978SMauro Carvalho Chehab 85*f505e978SMauro Carvalho Chehab For the purpose of committing patches to the media-committers tree, 86*f505e978SMauro Carvalho Chehab I'll be using my user https://gitlab.freedesktop.org/users/<username>. 87*f505e978SMauro Carvalho Chehab 88*f505e978SMauro Carvalho ChehabFollowed by a formal declaration of agreement with the Kernel development 89*f505e978SMauro Carvalho Chehabrules:: 90*f505e978SMauro Carvalho Chehab 91*f505e978SMauro Carvalho Chehab I agree to follow the Kernel development rules described at: 92*f505e978SMauro Carvalho Chehab 93*f505e978SMauro Carvalho Chehab https://www.kernel.org/doc/html/latest/driver-api/media/media-committers.rst 94*f505e978SMauro Carvalho Chehab 95*f505e978SMauro Carvalho Chehab and to the Linux Kernel development process rules. 96*f505e978SMauro Carvalho Chehab 97*f505e978SMauro Carvalho Chehab I agree to abide by the Code of Conduct as documented in: 98*f505e978SMauro Carvalho Chehab https://www.kernel.org/doc/html/latest/process/code-of-conduct.rst 99*f505e978SMauro Carvalho Chehab 100*f505e978SMauro Carvalho Chehab I am aware that I can, at any point of time, retire. In that case, I will 101*f505e978SMauro Carvalho Chehab send an e-mail to notify the Media Subsystem Maintainers for them to revoke 102*f505e978SMauro Carvalho Chehab my commit rights. 103*f505e978SMauro Carvalho Chehab 104*f505e978SMauro Carvalho Chehab I am aware that the Kernel development rules change over time. 105*f505e978SMauro Carvalho Chehab By doing a new push to media-committers tree, I understand that I agree 106*f505e978SMauro Carvalho Chehab to follow the rules in effect at the time of the commit. 107*f505e978SMauro Carvalho Chehab 108*f505e978SMauro Carvalho ChehabThat e-mail shall be signed via the Kernel Web of trust with a PGP key cross 109*f505e978SMauro Carvalho Chehabsigned by other Kernel and media developers. As described at 110*f505e978SMauro Carvalho Chehab:ref:`media-developers-gpg`, the PGP signature, together with the gitlab user 111*f505e978SMauro Carvalho Chehabsecurity are fundamental components that ensure the authenticity of the merge 112*f505e978SMauro Carvalho Chehabrequests that will happen at the media-committers.git tree. 113*f505e978SMauro Carvalho Chehab 114*f505e978SMauro Carvalho ChehabIn case the kernel development process changes, by merging new commits to the 115*f505e978SMauro Carvalho Chehab`media-committers tree <https://gitlab.freedesktop.org/linux-media/media-committers>`_, 116*f505e978SMauro Carvalho Chehabthe Media Committer implicitly declares their agreement with the latest 117*f505e978SMauro Carvalho Chehabversion of the documented process including the contents of this file. 118*f505e978SMauro Carvalho Chehab 119*f505e978SMauro Carvalho ChehabIf a Media Committer decides to retire, it is the committer's duty to 120*f505e978SMauro Carvalho Chehabnotify the Media Subsystem Maintainers about that decision. 121*f505e978SMauro Carvalho Chehab 122*f505e978SMauro Carvalho Chehab.. note:: 123*f505e978SMauro Carvalho Chehab 124*f505e978SMauro Carvalho Chehab 1. Changes to the kernel media development process shall be announced in 125*f505e978SMauro Carvalho Chehab the media-committers mailing list with a reasonable review period. All 126*f505e978SMauro Carvalho Chehab committers are automatically subscribed to that mailing list; 127*f505e978SMauro Carvalho Chehab 2. Due to the distributed nature of the Kernel development, it is 128*f505e978SMauro Carvalho Chehab possible that kernel development process changes may end being 129*f505e978SMauro Carvalho Chehab reviewed/merged at the Linux Docs and/or at the Linux Kernel mailing 130*f505e978SMauro Carvalho Chehab lists, especially for the contents under Documentation/process and for 131*f505e978SMauro Carvalho Chehab trivial typo fixes. 132*f505e978SMauro Carvalho Chehab 133*f505e978SMauro Carvalho ChehabMedia Core Committers 134*f505e978SMauro Carvalho Chehab--------------------- 135*f505e978SMauro Carvalho Chehab 136*f505e978SMauro Carvalho ChehabA Media Core Committer is a Media Core Maintainer with commit rights. 137*f505e978SMauro Carvalho Chehab 138*f505e978SMauro Carvalho ChehabAs described in Documentation/driver-api/media/maintainer-entry-profile.rst, 139*f505e978SMauro Carvalho Chehaba Media Core Maintainer maintains media core frameworks as well, besides 140*f505e978SMauro Carvalho Chehabjust drivers, and so is allowed to change core files and the media subsystem's 141*f505e978SMauro Carvalho ChehabKernel API. The extent of the core committer's grants will be detailed by the 142*f505e978SMauro Carvalho ChehabMedia Subsystem Maintainers when they nominate a Media Core Committer. 143*f505e978SMauro Carvalho Chehab 144*f505e978SMauro Carvalho ChehabExisting Media Committers may become Media Core Committers and vice versa. 145*f505e978SMauro Carvalho ChehabSuch decisions will be taken in consensus among the Media Subsystem 146*f505e978SMauro Carvalho ChehabMaintainers. 147*f505e978SMauro Carvalho Chehab 148*f505e978SMauro Carvalho ChehabMedia committers rules 149*f505e978SMauro Carvalho Chehab---------------------- 150*f505e978SMauro Carvalho Chehab 151*f505e978SMauro Carvalho ChehabMedia committers shall do their best efforts to avoid merging patches that 152*f505e978SMauro Carvalho Chehabwould break any existing drivers. If it breaks, fixup or revert patches 153*f505e978SMauro Carvalho Chehabshall be merged as soon as possible, aiming to be merged at the same Kernel 154*f505e978SMauro Carvalho Chehabcycle the bug is reported. 155*f505e978SMauro Carvalho Chehab 156*f505e978SMauro Carvalho ChehabMedia committers shall behave accordingly to the rights granted by 157*f505e978SMauro Carvalho Chehabthe Media Subsystem Maintainers, especially with regards of the scope of changes 158*f505e978SMauro Carvalho Chehabthey may apply directly at the media-committers tree. That scope can 159*f505e978SMauro Carvalho Chehabchange over time on a mutual agreement between Media Committers and 160*f505e978SMauro Carvalho ChehabMedia Subsystem Maintainers. 161*f505e978SMauro Carvalho Chehab 162*f505e978SMauro Carvalho ChehabThe Media Committer workflow is described at :ref:`Media development workflow`. 163*f505e978SMauro Carvalho Chehab 164*f505e978SMauro Carvalho Chehab.. _Maintain Media Status: 165*f505e978SMauro Carvalho Chehab 166*f505e978SMauro Carvalho ChehabMaintaining Media Maintainer or Committer status 167*f505e978SMauro Carvalho Chehab------------------------------------------------ 168*f505e978SMauro Carvalho Chehab 169*f505e978SMauro Carvalho ChehabA community of maintainers working together to move the Linux Kernel 170*f505e978SMauro Carvalho Chehabforward is essential to creating successful projects that are rewarding 171*f505e978SMauro Carvalho Chehabto work on. If there are problems or disagreements within the community, 172*f505e978SMauro Carvalho Chehabthey can usually be solved through healthy discussion and debate. 173*f505e978SMauro Carvalho Chehab 174*f505e978SMauro Carvalho ChehabIn the unhappy event that a Media Maintainer or Committer continues to 175*f505e978SMauro Carvalho Chehabdisregard good citizenship (or actively disrupts the project), we may need 176*f505e978SMauro Carvalho Chehabto revoke that person's status. In such cases, if someone suggests the 177*f505e978SMauro Carvalho Chehabrevocation with a good reason, then after discussing this among the Media 178*f505e978SMauro Carvalho ChehabMaintainers, the final decision is taken by the Media Subsystem Maintainers. 179*f505e978SMauro Carvalho Chehab 180*f505e978SMauro Carvalho ChehabAs the decision to become a Media Maintainer or Committer comes from a 181*f505e978SMauro Carvalho Chehabconsensus between Media Subsystem Maintainers, a single Media Subsystem 182*f505e978SMauro Carvalho ChehabMaintainer not trusting the Media Maintainer or Committer anymore is enough 183*f505e978SMauro Carvalho Chehabto revoke their maintenance, Patchwork grants and/or commit rights. 184*f505e978SMauro Carvalho Chehab 185*f505e978SMauro Carvalho ChehabHaving commit rights revoked doesn't prevent Media Maintainers to keep 186*f505e978SMauro Carvalho Chehabcontributing to the subsystem either via the pull request or via email workflow 187*f505e978SMauro Carvalho Chehabas documented at the :ref:`Media development workflow`. 188*f505e978SMauro Carvalho Chehab 189*f505e978SMauro Carvalho ChehabIf a maintainer is inactive for more than a couple of Kernel cycles, 190*f505e978SMauro Carvalho Chehabmaintainers will try to reach you via e-mail. If not possible, they may 191*f505e978SMauro Carvalho Chehabrevoke their maintainer/patchwork and committer rights and update MAINTAINERS 192*f505e978SMauro Carvalho Chehabfile entries accordingly. If you wish to resume contributing as maintainer 193*f505e978SMauro Carvalho Chehablater on, then contact the Media Subsystem Maintainers to ask if your 194*f505e978SMauro Carvalho Chehabmaintenance, Patchwork grants and commit rights can be restored. 195*f505e978SMauro Carvalho Chehab 196*f505e978SMauro Carvalho ChehabReferences 197*f505e978SMauro Carvalho Chehab---------- 198*f505e978SMauro Carvalho Chehab 199*f505e978SMauro Carvalho ChehabMuch of this was inspired by/copied from the committer policies of: 200*f505e978SMauro Carvalho Chehab 201*f505e978SMauro Carvalho Chehab- `Chromium <https://chromium.googlesource.com/chromium/src/+/main/docs/contributing.md>`_; 202*f505e978SMauro Carvalho Chehab- `WebKit <https://webkit.org/commit-and-review-policy/>`_; 203*f505e978SMauro Carvalho Chehab- `Mozilla <https://www.mozilla.org/hacking/committer/>`_. 204