| .. _code_of_conduct_interpretation: |
| |
| Linux Kernel Contributor Covenant Code of Conduct Interpretation |
| ================================================================ |
| |
| The :ref:`code_of_conduct` is a general document meant to |
| provide a set of rules for almost any open source community. Every |
| open-source community is unique and the Linux kernel is no exception. |
| Because of this, this document describes how we in the Linux kernel |
| community will interpret it. We also do not expect this interpretation |
| to be static over time, and will adjust it as needed. |
| |
| The Linux kernel development effort is a very personal process compared |
| to "traditional" ways of developing software. Your contributions and |
| ideas behind them will be carefully reviewed, often resulting in |
| critique and criticism. The review will almost always require |
| improvements before the material can be included in the |
| kernel. Know that this happens because everyone involved wants to see |
| the best possible solution for the overall success of Linux. This |
| development process has been proven to create the most robust operating |
| system kernel ever, and we do not want to do anything to cause the |
| quality of submission and eventual result to ever decrease. |
| |
| Maintainers |
| ----------- |
| |
| The Code of Conduct uses the term "maintainers" numerous times. In the |
| kernel community, a "maintainer" is anyone who is responsible for a |
| subsystem, driver, or file, and is listed in the MAINTAINERS file in the |
| kernel source tree. |
| |
| Responsibilities |
| ---------------- |
| |
| The Code of Conduct mentions rights and responsibilities for |
| maintainers, and this needs some further clarifications. |
| |
| First and foremost, it is a reasonable expectation to have maintainers |
| lead by example. |
| |
| That being said, our community is vast and broad, and there is no new |
| requirement for maintainers to unilaterally handle how other people |
| behave in the parts of the community where they are active. That |
| responsibility is upon all of us, and ultimately the Code of Conduct |
| documents final escalation paths in case of unresolved concerns |
| regarding conduct issues. |
| |
| Maintainers should be willing to help when problems occur, and work with |
| others in the community when needed. Do not be afraid to reach out to |
| the Technical Advisory Board (TAB) or other maintainers if you're |
| uncertain how to handle situations that come up. It will not be |
| considered a violation report unless you want it to be. If you are |
| uncertain about approaching the TAB or any other maintainers, please |
| reach out to our conflict mediator, Joanna Lee <jlee@linuxfoundation.org>. |
| |
| In the end, "be kind to each other" is really what the end goal is for |
| everybody. We know everyone is human and we all fail at times, but the |
| primary goal for all of us should be to work toward amicable resolutions |
| of problems. Enforcement of the code of conduct will only be a last |
| resort option. |
| |
| Our goal of creating a robust and technically advanced operating system |
| and the technical complexity involved naturally require expertise and |
| decision-making. |
| |
| The required expertise varies depending on the area of contribution. It |
| is determined mainly by context and technical complexity and only |
| secondary by the expectations of contributors and maintainers. |
| |
| Both the expertise expectations and decision-making are subject to |
| discussion, but at the very end there is a basic necessity to be able to |
| make decisions in order to make progress. This prerogative is in the |
| hands of maintainers and project's leadership and is expected to be used |
| in good faith. |
| |
| As a consequence, setting expertise expectations, making decisions and |
| rejecting unsuitable contributions are not viewed as a violation of the |
| Code of Conduct. |
| |
| While maintainers are in general welcoming to newcomers, their capacity |
| of helping contributors overcome the entry hurdles is limited, so they |
| have to set priorities. This, also, is not to be seen as a violation of |
| the Code of Conduct. The kernel community is aware of that and provides |
| entry level programs in various forms like kernelnewbies.org. |
| |
| Scope |
| ----- |
| |
| The Linux kernel community primarily interacts on a set of public email |
| lists distributed around a number of different servers controlled by a |
| number of different companies or individuals. All of these lists are |
| defined in the MAINTAINERS file in the kernel source tree. Any emails |
| sent to those mailing lists are considered covered by the Code of |
| Conduct. |
| |
| Developers who use the kernel.org bugzilla, and other subsystem bugzilla |
| or bug tracking tools should follow the guidelines of the Code of |
| Conduct. The Linux kernel community does not have an "official" project |
| email address, or "official" social media address. Any activity |
| performed using a kernel.org email account must follow the Code of |
| Conduct as published for kernel.org, just as any individual using a |
| corporate email account must follow the specific rules of that |
| corporation. |
| |
| The Code of Conduct does not prohibit continuing to include names, email |
| addresses, and associated comments in mailing list messages, kernel |
| change log messages, or code comments. |
| |
| Interaction in other forums is covered by whatever rules apply to said |
| forums and is in general not covered by the Code of Conduct. Exceptions |
| may be considered for extreme circumstances. |
| |
| Contributions submitted for the kernel should use appropriate language. |
| Content that already exists predating the Code of Conduct will not be |
| addressed now as a violation. Inappropriate language can be seen as a |
| bug, though; such bugs will be fixed more quickly if any interested |
| parties submit patches to that effect. Expressions that are currently |
| part of the user/kernel API, or reflect terminology used in published |
| standards or specifications, are not considered bugs. |
| |
| Enforcement |
| ----------- |
| |
| The address listed in the Code of Conduct goes to the Code of Conduct |
| Committee. The exact members receiving these emails at any given time |
| are listed at https://kernel.org/code-of-conduct.html. Members can not |
| access reports made before they joined or after they have left the |
| committee. |
| |
| The Code of Conduct Committee consists of volunteer community members |
| appointed by the TAB, as well as a professional mediator acting as a |
| neutral third party. The processes the Code of Conduct committee will |
| use to address reports is varied and will depend on the individual |
| circumstance, however, this file serves as documentation for the |
| general process used. |
| |
| Any member of the committee, including the mediator, can be contacted |
| directly if a reporter does not wish to include the full committee in a |
| complaint or concern. |
| |
| The Code of Conduct Committee reviews the cases according to the |
| processes (see above) and consults with the TAB as needed and |
| appropriate, for instance to request and receive information about the |
| kernel community. |
| |
| Any decisions regarding enforcement recommendations will be brought to |
| the TAB for implementation of enforcement with the relevant maintainers |
| if needed. Once the TAB approves one or more of the measures outlined |
| in the scope of the ban by two-thirds of the members voting for the |
| measures, the Code of Conduct Committee will enforce the TAB approved |
| measures. Any Code of Conduct Committee members serving on the TAB will |
| not vote on the measures. |
| |
| At quarterly intervals, the Code of Conduct Committee and TAB will |
| provide a report summarizing the anonymised reports that the Code of |
| Conduct committee has received and their status, as well details of any |
| TAB approved decisions including complete and identifiable voting details. |
| |
| Because how we interpret and enforce the Code of Conduct will evolve over |
| time, this document will be updated when necessary to reflect any |
| changes. |
| |
| Enforcement for Unacceptable Behavior Code of Conduct Violations |
| ---------------------------------------------------------------- |
| |
| The Code of Conduct committee works to ensure that our community continues |
| to be inclusive and fosters diverse discussions and viewpoints, and works |
| to improve those characteristics over time. A majority of the reports the |
| Code of Conduct Committee receives stem from incorrect understanding regarding |
| the development process and maintainers' roles, responsibilities, and their |
| right to make decisions on code acceptance. These are resolved through |
| clarification of the development process and the scope of the Code of Conduct. |
| |
| Unacceptable behaviors could interrupt respectful collaboration for a short |
| period of time and negatively impact the health of the community longer term. |
| Unacceptable behaviors often get resolved when individuals acknowledge their |
| behavior and make amends for it in the setting the violation has taken place. |
| |
| The Code of Conduct Committee receives reports about unacceptable behaviors |
| when they don't get resolved through community discussions. The Code of |
| Conduct committee takes measures to restore productive and respectful |
| collaboration when an unacceptable behavior has negatively impacted that |
| relationship. |
| |
| The Code of Conduct Committee has the obligation to keep the reports and |
| reporters' information private. Reports could come from injured parties |
| and community members who are observers of unacceptable behaviors. The |
| Code of Conduct Committee has the responsibility to investigate and resolve |
| these reports, working with all involved parties. |
| |
| The Code of Conduct Committee works with the individual to bring about |
| change in their understanding of the importance to repair the damage caused |
| by their behavior to the injured party and the long term negative impact |
| on the community. |
| |
| The goal is to reach a resolution which is agreeable to all parties. If |
| working with the individual fails to bring about the desired outcome, the |
| Code of Conduct Committee will evaluate other measures such as seeking |
| public apology to repair the damage. |
| |
| Seek public apology for the violation |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| The Code of Conduct Committee publicly calls out the behavior in the |
| setting in which the violation has taken place, seeking public apology |
| for the violation. |
| |
| A public apology for the violation is the first step towards rebuilding |
| the trust. Trust is essential for the continued success and health of the |
| community which operates on trust and respect. |
| |
| Remedial measures if there is no public apology for the violation |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| The Code of Conduct Committee determines the next course of action to restore |
| the healthy collaboration by recommending remedial measure(s) to the TAB for |
| approval. |
| |
| - Ban violator from participating in the kernel development process for |
| a period of up to a full kernel development cycle. The Code of Conduct |
| Committee could require public apology as a condition for lifting the |
| ban. |
| |
| The scope of the ban for a period of time could include: |
| |
| a. denying patch contributions and pull requests |
| b. pausing collaboration with the violator by ignoring their |
| contributions and/or blocking their email account(s) |
| c. restricting their ability to communicate via kernel.org platforms, |
| such as mailing lists and social media sites |
| |
| Once the TAB approves one or more of the measures outlined in the scope of |
| the ban by two-thirds of the members voting for the measures, the Code of |
| Conduct Committee will enforce the TAB approved measure(s) in collaboration |
| with the community, maintainers, sub-maintainers, and kernel.org |
| administrators. Any Code of Conduct Committee members serving on the TAB |
| will not vote on the measures. |
| |
| The Code of Conduct Committee is mindful of the negative impact of seeking |
| public apology and instituting ban could have on individuals. It is also |
| mindful of the longer term harm to the community that could result from |
| not taking action when such serious public violations occur. |
| |
| The effectiveness of the remedial measure(s) approved by the TAB depends |
| on the trust and cooperation from the community, maintainers, sub-maintainers, |
| and kernel.org administrators in enforcing them. |
| |
| The Code of Conduct Committee sincerely hopes that unacceptable behaviors |
| that require seeking public apologies continue to be exceedingly rare |
| occurrences in the future. |