github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/docs/sources/community/governance.md (about)

     1  ---
     2  title: Governance
     3  ---
     4  # Governance
     5  
     6  This document describes the rules and governance of the project. It is meant to be followed by all the developers of the project and the Loki community. Common terminology used in this governance document are listed below:
     7  
     8  - **Team members**: Any members of the private [team mailing list][team].
     9  
    10  - **Maintainers**: Maintainers lead an individual project or parts thereof ([`MAINTAINERS.md`][maintainers]).
    11  
    12  - **Projects**: A single repository in the Grafana GitHub organization and listed below is referred to as a project:
    13    - loki
    14    - puppet-promtail
    15  
    16  - **The Loki project**: The sum of all activities performed under this governance, concerning one or more repositories or the community.
    17  
    18  - **The Loki SIG (Special Interest Group) Operator**: The sum of all activities performed under this governance, concerning the repository subfolder `operator` or its specific community.
    19  
    20  ## Values
    21  
    22  The Loki developers and community are expected to follow the values defined in the [Code of Conduct][coc]. Furthermore, the Loki community strives for kindness, giving feedback effectively, and building a welcoming environment. The Loki developers generally decide by consensus and only resort to conflict resolution by a majority vote if consensus cannot be reached.
    23  
    24  ## Projects
    25  
    26  Each project must have a [`MAINTAINERS.md`][maintainers] file with at least one maintainer. Where a project has a release process, access and documentation should be such that more than one person can perform a release. Releases should be announced on the [announcemount][announce] and [users][users] mailing lists. Any new projects should be first proposed on the [team mailing list][team] following the voting procedures listed below.
    27  
    28  ## Decision making
    29  
    30  ### Team members
    31  
    32  Team member status may be given to those who have made ongoing contributions to the Loki project for at least 3 months. This is usually in the form of code improvements and/or notable work on documentation, but organizing events or user support could also be taken into account.
    33  
    34  New members may be proposed by any existing member by email to the [team mailing list][team]. It is highly desirable to reach consensus about acceptance of a new member. However, the proposal is ultimately voted on by a formal [supermajority vote](#supermajority-vote).
    35  
    36  If the new member proposal is accepted, the proposed team member should be contacted privately via email to confirm or deny their acceptance of team membership. This email will also be CC'd to the [team mailing list][team] for record-keeping purposes.
    37  
    38  If they choose to accept, the [onboarding](#onboarding) procedure is followed.
    39  
    40  Team members may retire at any time by emailing [the team][team].
    41  
    42  Team members can be removed by [supermajority vote](#supermajority-vote) on [the team mailing list][team].
    43  For this vote, the member in question is not eligible to vote and does not count towards the quorum.
    44  Any removal vote can cover only one single person.
    45  
    46  Upon death of a member, they leave the team automatically.
    47  
    48  In case a member leaves, the [offboarding](#offboarding) procedure is applied.
    49  
    50  The current team members are:
    51  
    52  - Aditya C S - [adityacs](https://github.com/adityacs)
    53  - Cyril Tovena - [cyriltovena](https://github.com/cyriltovena) ([Grafana Labs](https://grafana.com/))
    54  - Danny Kopping - [dannykopping](https://github.com/dannykopping) ([Grafana Labs](https://grafana.com/))
    55  - David Kaltschmidt - [davkal](https://github.com/davkal) ([Grafana Labs](https://grafana.com/))
    56  - Edward Welch - [slim-bean](https://github.com/slim-bean) ([Grafana Labs](https://grafana.com/))
    57  - Goutham Veeramachaneni - [gouthamve](https://github.com/gouthamve) ([Grafana Labs](https://grafana.com/))
    58  - Joe Elliott - [joe-elliott](https://github.com/joe-elliott) ([Grafana Labs](https://grafana.com/))
    59  - Karsten Jeschkies - [jeschkies](https://github.com/jeschkies) ([Grafana Labs](https://grafana.com/))
    60  - Kaviraj Kanagaraj - [kavirajk](https://github.com/kavirajk) ([Grafana Labs](https://grafana.com/))
    61  - Owen Diehl - [owen-d](https://github.com/owen-d) ([Grafana Labs](https://grafana.com/))
    62  - Periklis Tsirakidis - [periklis](https://github.com/periklis) ([Red Hat](https://www.redhat.com/))
    63  - Sandeep Sukhani - [sandeepsukhani](https://github.com/sandeepsukhani) ([Grafana Labs](https://grafana.com/))
    64  - Tom Braack - [sh0rez](https://github.com/sh0rez) ([Grafana Labs](https://grafana.com/))
    65  - Tom Wilkie - [tomwilkie](https://github.com/tomwilkie) ([Grafana Labs](https://grafana.com/))
    66  
    67  The current Loki SIG Operator team members are:
    68  - Brett Jones - [blockloop](https://github.com/blockloop/) ([InVision](https://www.invisionapp.com/))
    69  - Cyril Tovena - [cyriltovena](https://github.com/cyriltovena) ([Grafana Labs](https://grafana.com/))
    70  - Gerard Vanloo - [Red-GV](https://github.com/Red-GV) ([IBM](https://www.ibm.com))
    71  - Periklis Tsirakidis - [periklis](https://github.com/periklis) ([Red Hat](https://www.redhat.com))
    72  - Sashank Agrawal - [sasagarw](https://github.com/sasagarw/) ([Red Hat](https://www.redhat.com))
    73  
    74  ### Maintainers
    75  
    76  Maintainers lead one or more project(s) or parts thereof and serve as a point of conflict resolution amongst the contributors to this project. Ideally, maintainers are also team members, but exceptions are possible for suitable maintainers that, for whatever reason, are not yet team members.
    77  
    78  Changes in maintainership have to be announced on the [developers mailing list][devs]. They are decided by [rough consensus](#consensus) and formalized by changing the [`MAINTAINERS.md`][maintainers] file of the respective repository.
    79  
    80  Maintainers are granted commit rights to all projects covered by this governance.
    81  
    82  A maintainer or committer may resign by notifying the [team mailing list][team]. A maintainer with no project activity for a year is considered to have resigned. Maintainers that wish to resign are encouraged to propose another team member to take over the project.
    83  
    84  A project may have multiple maintainers, as long as the responsibilities are clearly agreed upon between them. This includes coordinating who handles which issues and pull requests.
    85  
    86  ### Technical decisions
    87  
    88  Technical decisions that only affect a single project are made informally by the maintainer of this project, and [rough consensus](#consensus) is assumed. Technical decisions that span multiple parts of the project should be discussed and made on the [developer mailing list][devs].
    89  
    90  Decisions are usually made by [rough consensus](#consensus). If no consensus can be reached, the matter may be resolved by [majority vote](#majority-vote).
    91  
    92  ### Governance changes
    93  
    94  Changes to this document are made by Grafana Labs.
    95  
    96  ### Other matters
    97  
    98  Any matter that needs a decision may be called to a vote by any member if they deem it necessary. For private or personnel matters, discussion and voting takes place on the [team mailing list][team], otherwise on the [developer mailing list][devs].
    99  
   100  ## Voting
   101  
   102  The Loki project usually runs by informal consensus, however sometimes a formal decision must be made.
   103  
   104  Depending on the subject matter, as laid out [above](#decision-making), different methods of voting are used.
   105  
   106  For all votes, voting must be open for at least one week. The end date should be clearly stated in the call to vote. A vote may be called and closed early if enough votes have come in one way so that further votes cannot change the final decision.
   107  
   108  In all cases, all and only [team members](#team-members) are eligible to vote, with the sole exception of the forced removal of a team member, in which said member is not eligible to vote.
   109  
   110  Discussion and votes on personnel matters (including but not limited to team membership and maintainership) are held in private on the [team mailing list][team]. All other discussion and votes are held in public on the [developer mailing list][devs].
   111  
   112  For public discussions, anyone interested is encouraged to participate. Formal power to object or vote is limited to [team members](#team-members).
   113  
   114  ### Consensus
   115  
   116  The default decision making mechanism for the Loki project is [rough][rough] consensus. This means that any decision on technical issues is considered supported by the [team][team] as long as nobody objects or the objection has been considered but not necessarily accommodated.
   117  
   118  Silence on any consensus decision is implicit agreement and equivalent to explicit agreement. Explicit agreement may be stated at will. Decisions may, but do not need to be called out and put up for decision on the [developers mailing list][devs] at any time and by anyone.
   119  
   120  Consensus decisions can never override or go against the spirit of an earlier explicit vote.
   121  
   122  If any [team member](#team-members) raises objections, the team members work together towards a solution that all involved can accept. This solution is again subject to rough consensus.
   123  
   124  In case no consensus can be found, but a decision one way or the other must be made, any [team member](#team-members) may call a formal [majority vote](#majority-vote).
   125  
   126  ### Majority vote
   127  
   128  Majority votes must be called explicitly in a separate thread on the appropriate mailing list. The subject must be prefixed with `[VOTE]`. In the body, the call to vote must state the proposal being voted on. It should reference any discussion leading up to this point.
   129  
   130  Votes may take the form of a single proposal, with the option to vote yes or no, or the form of multiple alternatives.
   131  
   132  A vote on a single proposal is considered successful if more vote in favor than against.
   133  
   134  If there are multiple alternatives, members may vote for one or more alternatives, or vote “no” to object to all alternatives. It is not possible to cast an “abstain” vote. A vote on multiple alternatives is considered decided in favor of one alternative if it has received the most votes in favor, and a vote from more than half of those voting. Should no alternative reach this quorum, another vote on a reduced number of options may be called separately.
   135  
   136  ### Supermajority vote
   137  
   138  Supermajority votes must be called explicitly in a separate thread on the appropriate mailing list. The subject must be prefixed with `[VOTE]`. In the body, the call to vote must state the proposal being voted on. It should reference any discussion leading up to this point.
   139  
   140  Votes may take the form of a single proposal, with the option to vote yes or no, or the form of multiple alternatives.
   141  
   142  A vote on a single proposal is considered successful if at least two thirds of those eligible to vote vote in favor.
   143  
   144  If there are multiple alternatives, members may vote for one or more alternatives, or vote “no” to object to all alternatives. A vote on multiple alternatives is considered decided in favor of one alternative if it has received the most votes in favor, and a vote from at least two thirds of those eligible to vote. Should no alternative reach this quorum, another vote on a reduced number of options may be called separately.
   145  
   146  ## On- / Offboarding
   147  
   148  ### Onboarding
   149  
   150  The new member is
   151  
   152  - added to the list of [team members](#team-members). Ideally by sending a PR of their own, at least approving said PR.
   153  - announced on the [developers mailing list][devs] by an existing team member. Ideally, the new member replies in this thread, acknowledging team membership.
   154  - added to the projects with commit rights.
   155  - added to the [team mailing list][team].
   156  
   157  
   158  ### Offboarding
   159  
   160  The ex-member is
   161  
   162  - removed from the list of [team members](#team-members). Ideally by sending a PR of their own, at least approving said PR. In case of forced removal, no approval is needed.
   163  - removed from the projects. Optionally, they can retain maintainership of one or more repositories if the [team](#team-members) agrees.
   164  - removed from the team mailing list and demoted to a normal member of the other mailing lists.
   165  - not allowed to call themselves an active team member any more, nor allowed to imply this to be the case.
   166  - added to a list of previous members if they so choose.
   167  
   168  If needed, we reserve the right to publicly announce removal.
   169  
   170  [announce]: https://groups.google.com/forum/#!forum/loki-announce
   171  [coc]: https://github.com/grafana/loki/blob/master/CODE_OF_CONDUCT.md
   172  [devs]: https://groups.google.com/forum/#!forum/loki-developers
   173  [maintainers]: https://github.com/grafana/loki/blob/master/MAINTAINERS
   174  [rough]: https://tools.ietf.org/html/rfc7282
   175  [team]: https://groups.google.com/forum/#!forum/loki-team
   176  [users]: https://groups.google.com/forum/#!forum/loki-users