Linux Kernel Contributor Covenant Code of Conduct Interpretation¶
The Contributor Covenant 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.
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.
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, Mishi Choudhary <firstname.lastname@example.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.
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.
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 initial Code of Conduct Committee consists of volunteer members of the TAB, as well as a professional mediator acting as a neutral third party. The first task of the committee is to establish documented processes, which will be made public.
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 by the committee will be brought to the TAB, for implementation of enforcement with the relevant maintainers if needed. A decision by the Code of Conduct Committee can be overturned by the TAB by a two-thirds vote.
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 overridden decisions including complete and identifiable voting details.
We expect to establish a different process for Code of Conduct Committee staffing beyond the bootstrap period. This document will be updated with that information when this occurs.