[llvm] [Policy] Replace "code owners" with "maintainers" (PR #107384)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 5 05:25:15 PDT 2024
================
@@ -166,38 +166,83 @@ awareness of. For such changes, the following should be done:
Discourse, and add the label to one of the watch categories under
``Notifications->Tags``.
-.. _code owners:
+.. _maintainers:
-Code Owners
+Maintainers
-----------
-The LLVM Project relies on two features of its process to maintain rapid
-development in addition to the high quality of its source base: the combination
-of code review plus post-commit review for trusted maintainers. Having both is
-a great way for the project to take advantage of the fact that most people do
-the right thing most of the time, and only commit patches without pre-commit
-review when they are confident they are right.
-
-The trick to this is that the project has to guarantee that all patches that are
-committed are reviewed after they go in: you don't want everyone to assume
-someone else will review it, allowing the patch to go unreviewed. To solve this
-problem, we have a notion of an 'owner' for a piece of the code. The sole
-responsibility of a code owner is to ensure that a commit to their area of the
-code is appropriately reviewed, either by themself or by someone else. The list
-of current code owners can be found in the file `CODE_OWNERS.TXT
-<https://github.com/llvm/llvm-project/blob/main/llvm/CODE_OWNERS.TXT>`_ in the
-root of the LLVM source tree.
-
-Note that code ownership is completely different than reviewers: anyone can
-review a piece of code, and we welcome code review from anyone who is
-interested. Code owners are the "last line of defense" to guarantee that all
-patches that are committed are actually reviewed.
-
-Being a code owner is a somewhat unglamorous position, but it is incredibly
-important for the ongoing success of the project. Because people get busy,
-interests change, and unexpected things happen, code ownership is purely opt-in,
-and anyone can choose to resign their "title" at any time. For now, we do not
-have an official policy on how one gets elected to be a code owner.
+The LLVM Project aims to evolve features quickly while continually being in a
+release-ready state. In order to accomplish this, the project needs volunteers
+willing to do the less-glamorous work to ensure we produce robust, high-quality
+products.
+
+Maintainers are those volunteers; they are regular contributors who volunteer
+to take on additional community responsibilities beyond code contributions.
+Community members can find active and inactive maintainers for a project in the
+``Maintainers.rst`` file at the root directory of the individual project.
+
+Maintainers are volunteering to take on the following shared responsibilities
+within an area of a project:
+
+ * ensure that commits receive high-quality review, either by the maintainer
+ or by someone else,
+ * help to confirm and comment on issues,
+ * mediate code review disagreements through collaboration with other
+ maintainers (and other reviewers) to come to a consensus on how best to
+ proceed with disputed changes,
+ * actively engage with relevant RFCs,
+ * aid release managers with backporting and other release-related
+ activities,
+ * be a point of contact for contributors who need help (answering questions
+ on Discord/Discourse/IRC or holding office hours), and
+ coordinate with and provide oversight for other maintainers in the same
+ area of the code.
+
+Each top-level project in the monorepo will specify one or more
+lead maintainers who are responsible for ensuring community needs are
+met for that project. This role is like any other maintainer role,
+except the responsibilities span the project rather than a limited area
+within the project. If you cannot reach a maintainer or don't know which
+maintainer to reach out to, a lead maintainer is always a good choice
+to reach out to.
+
+All contributors to the LLVM Project are eligible to be a maintainer. However,
----------------
nikic wrote:
I'd add "with commit access" somewhere here.
https://github.com/llvm/llvm-project/pull/107384
More information about the llvm-commits
mailing list