code-of-conduct-interpretation.rst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. .. _code_of_conduct_interpretation:
  2. Linux Kernel Contributor Covenant Code of Conduct Interpretation
  3. ================================================================
  4. The :ref:`code_of_conduct` is a general document meant to
  5. provide a set of rules for almost any open source community. Every
  6. open-source community is unique and the Linux kernel is no exception.
  7. Because of this, this document describes how we in the Linux kernel
  8. community will interpret it. We also do not expect this interpretation
  9. to be static over time, and will adjust it as needed.
  10. The Linux kernel development effort is a very personal process compared
  11. to "traditional" ways of developing software. Your contributions and
  12. ideas behind them will be carefully reviewed, often resulting in
  13. critique and criticism. The review will almost always require
  14. improvements before the material can be included in the
  15. kernel. Know that this happens because everyone involved wants to see
  16. the best possible solution for the overall success of Linux. This
  17. development process has been proven to create the most robust operating
  18. system kernel ever, and we do not want to do anything to cause the
  19. quality of submission and eventual result to ever decrease.
  20. Maintainers
  21. -----------
  22. The Code of Conduct uses the term "maintainers" numerous times. In the
  23. kernel community, a "maintainer" is anyone who is responsible for a
  24. subsystem, driver, or file, and is listed in the MAINTAINERS file in the
  25. kernel source tree.
  26. Responsibilities
  27. ----------------
  28. The Code of Conduct mentions rights and responsibilities for
  29. maintainers, and this needs some further clarifications.
  30. First and foremost, it is a reasonable expectation to have maintainers
  31. lead by example.
  32. That being said, our community is vast and broad, and there is no new
  33. requirement for maintainers to unilaterally handle how other people
  34. behave in the parts of the community where they are active. That
  35. responsibility is upon all of us, and ultimately the Code of Conduct
  36. documents final escalation paths in case of unresolved concerns
  37. regarding conduct issues.
  38. Maintainers should be willing to help when problems occur, and work with
  39. others in the community when needed. Do not be afraid to reach out to
  40. the Technical Advisory Board (TAB) or other maintainers if you're
  41. uncertain how to handle situations that come up. It will not be
  42. considered a violation report unless you want it to be. If you are
  43. uncertain about approaching the TAB or any other maintainers, please
  44. reach out to our conflict mediator, Joanna Lee <jlee@linuxfoundation.org>.
  45. In the end, "be kind to each other" is really what the end goal is for
  46. everybody. We know everyone is human and we all fail at times, but the
  47. primary goal for all of us should be to work toward amicable resolutions
  48. of problems. Enforcement of the code of conduct will only be a last
  49. resort option.
  50. Our goal of creating a robust and technically advanced operating system
  51. and the technical complexity involved naturally require expertise and
  52. decision-making.
  53. The required expertise varies depending on the area of contribution. It
  54. is determined mainly by context and technical complexity and only
  55. secondary by the expectations of contributors and maintainers.
  56. Both the expertise expectations and decision-making are subject to
  57. discussion, but at the very end there is a basic necessity to be able to
  58. make decisions in order to make progress. This prerogative is in the
  59. hands of maintainers and project's leadership and is expected to be used
  60. in good faith.
  61. As a consequence, setting expertise expectations, making decisions and
  62. rejecting unsuitable contributions are not viewed as a violation of the
  63. Code of Conduct.
  64. While maintainers are in general welcoming to newcomers, their capacity
  65. of helping contributors overcome the entry hurdles is limited, so they
  66. have to set priorities. This, also, is not to be seen as a violation of
  67. the Code of Conduct. The kernel community is aware of that and provides
  68. entry level programs in various forms like kernelnewbies.org.
  69. Scope
  70. -----
  71. The Linux kernel community primarily interacts on a set of public email
  72. lists distributed around a number of different servers controlled by a
  73. number of different companies or individuals. All of these lists are
  74. defined in the MAINTAINERS file in the kernel source tree. Any emails
  75. sent to those mailing lists are considered covered by the Code of
  76. Conduct.
  77. Developers who use the kernel.org bugzilla, and other subsystem bugzilla
  78. or bug tracking tools should follow the guidelines of the Code of
  79. Conduct. The Linux kernel community does not have an "official" project
  80. email address, or "official" social media address. Any activity
  81. performed using a kernel.org email account must follow the Code of
  82. Conduct as published for kernel.org, just as any individual using a
  83. corporate email account must follow the specific rules of that
  84. corporation.
  85. The Code of Conduct does not prohibit continuing to include names, email
  86. addresses, and associated comments in mailing list messages, kernel
  87. change log messages, or code comments.
  88. Interaction in other forums is covered by whatever rules apply to said
  89. forums and is in general not covered by the Code of Conduct. Exceptions
  90. may be considered for extreme circumstances.
  91. Contributions submitted for the kernel should use appropriate language.
  92. Content that already exists predating the Code of Conduct will not be
  93. addressed now as a violation. Inappropriate language can be seen as a
  94. bug, though; such bugs will be fixed more quickly if any interested
  95. parties submit patches to that effect. Expressions that are currently
  96. part of the user/kernel API, or reflect terminology used in published
  97. standards or specifications, are not considered bugs.
  98. Enforcement
  99. -----------
  100. The address listed in the Code of Conduct goes to the Code of Conduct
  101. Committee. The exact members receiving these emails at any given time
  102. are listed at https://kernel.org/code-of-conduct.html. Members can not
  103. access reports made before they joined or after they have left the
  104. committee.
  105. The Code of Conduct Committee consists of volunteer community members
  106. appointed by the TAB, as well as a professional mediator acting as a
  107. neutral third party. The processes the Code of Conduct committee will
  108. use to address reports is varied and will depend on the individual
  109. circumstance, however, this file serves as documentation for the
  110. general process used.
  111. Any member of the committee, including the mediator, can be contacted
  112. directly if a reporter does not wish to include the full committee in a
  113. complaint or concern.
  114. The Code of Conduct Committee reviews the cases according to the
  115. processes (see above) and consults with the TAB as needed and
  116. appropriate, for instance to request and receive information about the
  117. kernel community.
  118. Any decisions regarding enforcement recommendations will be brought to
  119. the TAB for implementation of enforcement with the relevant maintainers
  120. if needed. Once the TAB approves one or more of the measures outlined
  121. in the scope of the ban by two-thirds of the members voting for the
  122. measures, the Code of Conduct Committee will enforce the TAB approved
  123. measures. Any Code of Conduct Committee members serving on the TAB will
  124. not vote on the measures.
  125. At quarterly intervals, the Code of Conduct Committee and TAB will
  126. provide a report summarizing the anonymised reports that the Code of
  127. Conduct committee has received and their status, as well details of any
  128. TAB approved decisions including complete and identifiable voting details.
  129. Because how we interpret and enforce the Code of Conduct will evolve over
  130. time, this document will be updated when necessary to reflect any
  131. changes.
  132. Enforcement for Unacceptable Behavior Code of Conduct Violations
  133. ----------------------------------------------------------------
  134. The Code of Conduct committee works to ensure that our community continues
  135. to be inclusive and fosters diverse discussions and viewpoints, and works
  136. to improve those characteristics over time. A majority of the reports the
  137. Code of Conduct Committee receives stem from incorrect understanding regarding
  138. the development process and maintainers' roles, responsibilities, and their
  139. right to make decisions on code acceptance. These are resolved through
  140. clarification of the development process and the scope of the Code of Conduct.
  141. Unacceptable behaviors could interrupt respectful collaboration for a short
  142. period of time and negatively impact the health of the community longer term.
  143. Unacceptable behaviors often get resolved when individuals acknowledge their
  144. behavior and make amends for it in the setting the violation has taken place.
  145. The Code of Conduct Committee receives reports about unacceptable behaviors
  146. when they don't get resolved through community discussions. The Code of
  147. Conduct committee takes measures to restore productive and respectful
  148. collaboration when an unacceptable behavior has negatively impacted that
  149. relationship.
  150. The Code of Conduct Committee has the obligation to keep the reports and
  151. reporters' information private. Reports could come from injured parties
  152. and community members who are observers of unacceptable behaviors. The
  153. Code of Conduct Committee has the responsibility to investigate and resolve
  154. these reports, working with all involved parties.
  155. The Code of Conduct Committee works with the individual to bring about
  156. change in their understanding of the importance to repair the damage caused
  157. by their behavior to the injured party and the long term negative impact
  158. on the community.
  159. The goal is to reach a resolution which is agreeable to all parties. If
  160. working with the individual fails to bring about the desired outcome, the
  161. Code of Conduct Committee will evaluate other measures such as seeking
  162. public apology to repair the damage.
  163. Seek public apology for the violation
  164. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165. The Code of Conduct Committee publicly calls out the behavior in the
  166. setting in which the violation has taken place, seeking public apology
  167. for the violation.
  168. A public apology for the violation is the first step towards rebuilding
  169. the trust. Trust is essential for the continued success and health of the
  170. community which operates on trust and respect.
  171. Remedial measures if there is no public apology for the violation
  172. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  173. The Code of Conduct Committee determines the next course of action to restore
  174. the healthy collaboration by recommending remedial measure(s) to the TAB for
  175. approval.
  176. - Ban violator from participating in the kernel development process for
  177. a period of up to a full kernel development cycle. The Code of Conduct
  178. Committee could require public apology as a condition for lifting the
  179. ban.
  180. The scope of the ban for a period of time could include:
  181. a. denying patch contributions and pull requests
  182. b. pausing collaboration with the violator by ignoring their
  183. contributions and/or blocking their email account(s)
  184. c. restricting their ability to communicate via kernel.org platforms,
  185. such as mailing lists and social media sites
  186. Once the TAB approves one or more of the measures outlined in the scope of
  187. the ban by two-thirds of the members voting for the measures, the Code of
  188. Conduct Committee will enforce the TAB approved measure(s) in collaboration
  189. with the community, maintainers, sub-maintainers, and kernel.org
  190. administrators. Any Code of Conduct Committee members serving on the TAB
  191. will not vote on the measures.
  192. The Code of Conduct Committee is mindful of the negative impact of seeking
  193. public apology and instituting ban could have on individuals. It is also
  194. mindful of the longer term harm to the community that could result from
  195. not taking action when such serious public violations occur.
  196. The effectiveness of the remedial measure(s) approved by the TAB depends
  197. on the trust and cooperation from the community, maintainers, sub-maintainers,
  198. and kernel.org administrators in enforcing them.
  199. The Code of Conduct Committee sincerely hopes that unacceptable behaviors
  200. that require seeking public apologies continue to be exceedingly rare
  201. occurrences in the future.