📜 ⬆️ ⬇️

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
')

Prehistory


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 forbid 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”). However, 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) received a letter from the lawyers of the Kik messenger, in which they demanded to rename the module with the same name (kik), published in the package manager npm. 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;
}

.

GNU (Richard Stallman) , Linux . . GNU , , . .

Software Freedom Conservancy, GNU. , . , . .

, - , promissory estoppel. , . . Software Freedom Conservancy , .

, CoC , , , — . , . , , Linux .



P.S. IaaS — Telegram-:

Source: https://habr.com/ru/post/426229/


All Articles