xref: /OK3568_Linux_fs/kernel/Documentation/process/code-of-conduct-interpretation.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. _code_of_conduct_interpretation:
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunLinux Kernel Contributor Covenant Code of Conduct Interpretation
4*4882a593Smuzhiyun================================================================
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunThe :ref:`code_of_conduct` is a general document meant to
7*4882a593Smuzhiyunprovide a set of rules for almost any open source community.  Every
8*4882a593Smuzhiyunopen-source community is unique and the Linux kernel is no exception.
9*4882a593SmuzhiyunBecause of this, this document describes how we in the Linux kernel
10*4882a593Smuzhiyuncommunity will interpret it.  We also do not expect this interpretation
11*4882a593Smuzhiyunto be static over time, and will adjust it as needed.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunThe Linux kernel development effort is a very personal process compared
14*4882a593Smuzhiyunto "traditional" ways of developing software.  Your contributions and
15*4882a593Smuzhiyunideas behind them will be carefully reviewed, often resulting in
16*4882a593Smuzhiyuncritique and criticism.  The review will almost always require
17*4882a593Smuzhiyunimprovements before the material can be included in the
18*4882a593Smuzhiyunkernel.  Know that this happens because everyone involved wants to see
19*4882a593Smuzhiyunthe best possible solution for the overall success of Linux.  This
20*4882a593Smuzhiyundevelopment process has been proven to create the most robust operating
21*4882a593Smuzhiyunsystem kernel ever, and we do not want to do anything to cause the
22*4882a593Smuzhiyunquality of submission and eventual result to ever decrease.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunMaintainers
25*4882a593Smuzhiyun-----------
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunThe Code of Conduct uses the term "maintainers" numerous times.  In the
28*4882a593Smuzhiyunkernel community, a "maintainer" is anyone who is responsible for a
29*4882a593Smuzhiyunsubsystem, driver, or file, and is listed in the MAINTAINERS file in the
30*4882a593Smuzhiyunkernel source tree.
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunResponsibilities
33*4882a593Smuzhiyun----------------
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunThe Code of Conduct mentions rights and responsibilities for
36*4882a593Smuzhiyunmaintainers, and this needs some further clarifications.
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunFirst and foremost, it is a reasonable expectation to have maintainers
39*4882a593Smuzhiyunlead by example.
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunThat being said, our community is vast and broad, and there is no new
42*4882a593Smuzhiyunrequirement for maintainers to unilaterally handle how other people
43*4882a593Smuzhiyunbehave in the parts of the community where they are active.  That
44*4882a593Smuzhiyunresponsibility is upon all of us, and ultimately the Code of Conduct
45*4882a593Smuzhiyundocuments final escalation paths in case of unresolved concerns
46*4882a593Smuzhiyunregarding conduct issues.
47*4882a593Smuzhiyun
48*4882a593SmuzhiyunMaintainers should be willing to help when problems occur, and work with
49*4882a593Smuzhiyunothers in the community when needed.  Do not be afraid to reach out to
50*4882a593Smuzhiyunthe Technical Advisory Board (TAB) or other maintainers if you're
51*4882a593Smuzhiyununcertain how to handle situations that come up.  It will not be
52*4882a593Smuzhiyunconsidered a violation report unless you want it to be.  If you are
53*4882a593Smuzhiyununcertain about approaching the TAB or any other maintainers, please
54*4882a593Smuzhiyunreach out to our conflict mediator, Joanna Lee <jlee@linuxfoundation.org>.
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunIn the end, "be kind to each other" is really what the end goal is for
57*4882a593Smuzhiyuneverybody.  We know everyone is human and we all fail at times, but the
58*4882a593Smuzhiyunprimary goal for all of us should be to work toward amicable resolutions
59*4882a593Smuzhiyunof problems.  Enforcement of the code of conduct will only be a last
60*4882a593Smuzhiyunresort option.
61*4882a593Smuzhiyun
62*4882a593SmuzhiyunOur goal of creating a robust and technically advanced operating system
63*4882a593Smuzhiyunand the technical complexity involved naturally require expertise and
64*4882a593Smuzhiyundecision-making.
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunThe required expertise varies depending on the area of contribution.  It
67*4882a593Smuzhiyunis determined mainly by context and technical complexity and only
68*4882a593Smuzhiyunsecondary by the expectations of contributors and maintainers.
69*4882a593Smuzhiyun
70*4882a593SmuzhiyunBoth the expertise expectations and decision-making are subject to
71*4882a593Smuzhiyundiscussion, but at the very end there is a basic necessity to be able to
72*4882a593Smuzhiyunmake decisions in order to make progress.  This prerogative is in the
73*4882a593Smuzhiyunhands of maintainers and project's leadership and is expected to be used
74*4882a593Smuzhiyunin good faith.
75*4882a593Smuzhiyun
76*4882a593SmuzhiyunAs a consequence, setting expertise expectations, making decisions and
77*4882a593Smuzhiyunrejecting unsuitable contributions are not viewed as a violation of the
78*4882a593SmuzhiyunCode of Conduct.
79*4882a593Smuzhiyun
80*4882a593SmuzhiyunWhile maintainers are in general welcoming to newcomers, their capacity
81*4882a593Smuzhiyunof helping contributors overcome the entry hurdles is limited, so they
82*4882a593Smuzhiyunhave to set priorities.  This, also, is not to be seen as a violation of
83*4882a593Smuzhiyunthe Code of Conduct.  The kernel community is aware of that and provides
84*4882a593Smuzhiyunentry level programs in various forms like kernelnewbies.org.
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunScope
87*4882a593Smuzhiyun-----
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunThe Linux kernel community primarily interacts on a set of public email
90*4882a593Smuzhiyunlists distributed around a number of different servers controlled by a
91*4882a593Smuzhiyunnumber of different companies or individuals.  All of these lists are
92*4882a593Smuzhiyundefined in the MAINTAINERS file in the kernel source tree.  Any emails
93*4882a593Smuzhiyunsent to those mailing lists are considered covered by the Code of
94*4882a593SmuzhiyunConduct.
95*4882a593Smuzhiyun
96*4882a593SmuzhiyunDevelopers who use the kernel.org bugzilla, and other subsystem bugzilla
97*4882a593Smuzhiyunor bug tracking tools should follow the guidelines of the Code of
98*4882a593SmuzhiyunConduct.  The Linux kernel community does not have an "official" project
99*4882a593Smuzhiyunemail address, or "official" social media address.  Any activity
100*4882a593Smuzhiyunperformed using a kernel.org email account must follow the Code of
101*4882a593SmuzhiyunConduct as published for kernel.org, just as any individual using a
102*4882a593Smuzhiyuncorporate email account must follow the specific rules of that
103*4882a593Smuzhiyuncorporation.
104*4882a593Smuzhiyun
105*4882a593SmuzhiyunThe Code of Conduct does not prohibit continuing to include names, email
106*4882a593Smuzhiyunaddresses, and associated comments in mailing list messages, kernel
107*4882a593Smuzhiyunchange log messages, or code comments.
108*4882a593Smuzhiyun
109*4882a593SmuzhiyunInteraction in other forums is covered by whatever rules apply to said
110*4882a593Smuzhiyunforums and is in general not covered by the Code of Conduct.  Exceptions
111*4882a593Smuzhiyunmay be considered for extreme circumstances.
112*4882a593Smuzhiyun
113*4882a593SmuzhiyunContributions submitted for the kernel should use appropriate language.
114*4882a593SmuzhiyunContent that already exists predating the Code of Conduct will not be
115*4882a593Smuzhiyunaddressed now as a violation.  Inappropriate language can be seen as a
116*4882a593Smuzhiyunbug, though; such bugs will be fixed more quickly if any interested
117*4882a593Smuzhiyunparties submit patches to that effect.  Expressions that are currently
118*4882a593Smuzhiyunpart of the user/kernel API, or reflect terminology used in published
119*4882a593Smuzhiyunstandards or specifications, are not considered bugs.
120*4882a593Smuzhiyun
121*4882a593SmuzhiyunEnforcement
122*4882a593Smuzhiyun-----------
123*4882a593Smuzhiyun
124*4882a593SmuzhiyunThe address listed in the Code of Conduct goes to the Code of Conduct
125*4882a593SmuzhiyunCommittee.  The exact members receiving these emails at any given time
126*4882a593Smuzhiyunare listed at https://kernel.org/code-of-conduct.html.  Members can not
127*4882a593Smuzhiyunaccess reports made before they joined or after they have left the
128*4882a593Smuzhiyuncommittee.
129*4882a593Smuzhiyun
130*4882a593SmuzhiyunThe initial Code of Conduct Committee consists of volunteer members of
131*4882a593Smuzhiyunthe TAB, as well as a professional mediator acting as a neutral third
132*4882a593Smuzhiyunparty.  The first task of the committee is to establish documented
133*4882a593Smuzhiyunprocesses, which will be made public.
134*4882a593Smuzhiyun
135*4882a593SmuzhiyunAny member of the committee, including the mediator, can be contacted
136*4882a593Smuzhiyundirectly if a reporter does not wish to include the full committee in a
137*4882a593Smuzhiyuncomplaint or concern.
138*4882a593Smuzhiyun
139*4882a593SmuzhiyunThe Code of Conduct Committee reviews the cases according to the
140*4882a593Smuzhiyunprocesses (see above) and consults with the TAB as needed and
141*4882a593Smuzhiyunappropriate, for instance to request and receive information about the
142*4882a593Smuzhiyunkernel community.
143*4882a593Smuzhiyun
144*4882a593SmuzhiyunAny decisions by the committee will be brought to the TAB, for
145*4882a593Smuzhiyunimplementation of enforcement with the relevant maintainers if needed.
146*4882a593SmuzhiyunA decision by the Code of Conduct Committee can be overturned by the TAB
147*4882a593Smuzhiyunby a two-thirds vote.
148*4882a593Smuzhiyun
149*4882a593SmuzhiyunAt quarterly intervals, the Code of Conduct Committee and TAB will
150*4882a593Smuzhiyunprovide a report summarizing the anonymised reports that the Code of
151*4882a593SmuzhiyunConduct committee has received and their status, as well details of any
152*4882a593Smuzhiyunoverridden decisions including complete and identifiable voting details.
153*4882a593Smuzhiyun
154*4882a593SmuzhiyunWe expect to establish a different process for Code of Conduct Committee
155*4882a593Smuzhiyunstaffing beyond the bootstrap period.  This document will be updated
156*4882a593Smuzhiyunwith that information when this occurs.
157