Code of Conduct: why Linux kernel developers threatened to delete their code - we understand the conflict

    In September, the Linux Foundation Board of Directors adopted a new code of conduct for Linux kernel developers - the Code of Conduct (CoC). According to the authors, he had to solve the problems associated with discrimination and improve the emotional environment among the developers.

    Some programmers called it an attempt at over-regulation and began to threaten to remove the code they wrote from the Linux kernel. More information about the situation - below.

    / photo by Liam Quinn CC


    In the middle of last month, Linus Torvalds announced that he would take a break from managing Linux development. According to Torvalds, he needs time to think about his way of communicating with people (the creator of Linux is known for his harsh remarks about colleagues). In the LKML mailing list, he apologized to everyone who left the community because of his criticism.

    At the time of the "rest" of Linus, Greg Kroah-Hartman (Greg Kroah-Hartman), who maintains a stable version of the kernel, took over the leadership. He proposed to adopt a new code of conduct - the Code of Conduct. The document decided to introduce to change the culture of communication in the community.

    Code of Conduct is based on the Contributor Covenant standard.Which is also used by the developers of Ruby on Rails, Swift, Golang and JRuby. The document describes the rules of conduct with other programmers and focuses on the prohibition of any discrimination.

    Developers against the rules of conduct

    Many developers disagree with the introduction of CoC: they fear that the new rules will lead to excessive regulation. Some even called on all those who disagree not only to leave the community, but to prohibit the use of code written by them for the kernel.

    It all started with a letter from programmer Joey Pabalinas, in which he criticized the adopted document. According to him, the code does not solve problems with the culture of communication, but, on the contrary, makes the atmosphere in the community unfriendly. Joey believes that the CoC will lead to the division of participants into “good” and “bad” and undeserved exclusions from the community.

    Particular dissatisfaction was caused by the CoC procedure, according to which it is possible to prohibit any developer from committing his code if participants decide that they do not like the identity of the author. Community members are also worried about vague wording in the code that can be interpreted differently (for example, “derogatory comments”). At the same time, the document does not describe a clear framework for determining the punishment for the guilty.

    Finally, a third reason that causes questions to developers is cultural differences. Since the CoC offers a single style of communication, people from different countries (including those for whom English is not considered the state language) may begin to experience difficulties in choosing the “correct wording”.

    Is there a threat to the Linux kernel

    Legend of the open source community, Eric Raymond (Eric Raymond) suggested that disgruntled developers are really able to prohibit the use of their code in the Linux kernel.

    The operating system is released under the GNUv2 universal public license . Opponents of the Code of Conduct refer to the fact that there is no clause on prohibiting the termination of the agreement between the author of the code and the open project (in GNUv3 there is such a clause). Therefore, they are convinced that they have the right to oblige the advice of the Linux Foundation to remove the code from the kernel.

    / photo by Matt Madd CC

    And there have already been similar precedents in the open source community. Two years ago, programmer Azer Kochulu (Azer Koçulu) receivedfrom the lawyers of the Kik messenger, a letter in which they demanded to rename the module with the same name (kik), published in the npm package manager. Azer refused, and then the representatives of Kik already wrote to the administrations of npm. Those supported the requirement and changed the owner kik without the permission of the author.

    In response, Kochulu withdrew all the npm modules written by him and uploaded them to GitHub . But among them was one of the popular left-pad modules, which consisted of eleven lines of code. It is needed to run Node.js, Babel, and a large number of other systems.

    This is the code of the “module of contention”:

    module.exports = leftpad;
    function leftpad(str, len, ch){
      str = String(str);
      var i = -1;
      if (!ch && ch !== 0) ch = ' ';
      len = len - str.length;
      while (++i < len) {
        str = ch + str;
      return str;

    The recall of this small code led to errors in the work of world services.

    Nevertheless, the programmer and creator of the GNU license, Richard Stallman (Richard Stallman), says that there will be another story with the Linux kernel. Allegedly, this code can not be so easy to take and withdraw. The GNU text says that a program developer allows others to copy, modify, or distribute its code. And this right cannot be taken away.

    Stallman's words were clarified by lawyers from the nonprofit organization Software Freedom Conservancy, which created the GNU license guide. They publishedexplanation, which analyzed the text of the agreement. According to them, the creator of the application or utility can not force users to delete it. However, it may prohibit the distribution of its code in the future.

    Also, lawyers wrote that it is impossible to cancel consent to use the code due to the principle of estoppel, or promissory estoppel . This international principle prohibits terminating an oral agreement if it damages the other party. The ban on the use of code will definitely result in big problems for many companies. Therefore, in Software Freedom Conservancy, they consider that the outcome with code recall is unlikely.

    As saysEric Raymond, all problems with CoC are related to the fact that it does not correspond to the goal around which the community is built - to develop high-quality code. He urged supporters and opponents of the code to formulate the values ​​of kernel developers together and understand why people want to participate in this project. This will establish the rules of behavior that will suit everyone, and further develop the Linux kernel and other open source projects more efficiently .

    PS About IaaS and virtualization technologies - in our Telegram channel :

    Also popular now: