Праздник к нам приходит, все труднее писать и даже читать про планировщики и алгоритмы. Благо в мире открытого ПО есть и более отвлеченные темы. Почему бы например не сравнить стиль деловой переписки Линуса Торвальдса и Грега Кроа-Хартмана?


Линус и Грег


Предлагаю читателям Хабра поупражняться в физиогномике и задаться вопросом, с кем бы из двух командиров проекта Linux ядра вы бы предпочли обсуждать прогресс вашего патча?


Параметры Линус Торвальдс Грег Кроа-Хартман
Временной интервал 1995–2015 1995–2015
Количество емайлов 21,746 24,145
Количество слов в емайле 132 53
Лексическое разнообразие .08 .27

Предупреждение, под катом ненормативная лексика на английском языке, использованная в контексте деловой переписки и научного исследования.


Если Линус Торвальдс все время на слуху, то имя второго человека в проекте разработки ядра гораздо реже всплывает в новостных лентах. А между тем он никто иной, как мейнтейнер -stable ветки ядра. Является автором linux-hotplug, udev и Linux Driver Project. Работал в Novell SUSE Linux, а с 2012 г. перешел в Linux Foundation. ГКХ присущи фантастическая продуктивность и работоспособность, фраза maintainers don't scale к нему имеет лишь условное отношение.


Трое ученых их Университета Элон в Северной Каролине Соединенных Штатов Америки, провели исследование переписки Линуса Торвальдса и Грега Кроа-Хартмана, взяв архив LKML за 20 лет с 1995 по 2015 гг. Целью было исследование стилей переписки двух руководителей проекта и методом машинного обучения научиться различать их тексты.


Для тех, кто в теме не секрет, что Линус Торвальдс, будучи вполне дружелюбным и обаятельным в реальной жизни, практикует довольно жесткий и бескомпромиссный стиль в деловой переписке с разработчиками ядра. В связи с этим обстоятельством, он неоднократно становился объектом критики со стороны приверженцев более строгих стандартов деловой этики.


За примерами далеко ходить не надо. Недавно на орехи досталось Kees Cook-у — программисту из команды Google Pixel, который пытался протащить обновления безопасности, которые могли иметь негативные последствия для ПО в пользовательском пространстве. Чертовы кретины (f**ing morons), так Линус охарактеризовал специалистов в области безопасности в лице настойчивого разработчика из Гугл.


Страсти вокруг SecureBoot и правил хорошего тона


В июле 2013 г. из проекта ушли Мэтью Гарретт и Сара Шарп. Честно говоря потеря была невелика и чрезмерная готовность Метью идти навстречу интересам крупных корпораций неоднократно вызывало вопросы. Сама же Сара в своем блоге демонстрирует явно не тот стиль общения, который желает видеть по отношению к себе.


As this is my blog, not a government entity, I have the right to replace any comment I feel like with “fart fart fart fart" © Sarah Sharp

И все же я не уверен, что даже более толстокожие разработчики могли бы выдержать то, что Линус высказал Мэтью по поводу патчей, которые должны были обеспечить загрузку Linux на рабочих станциях, изготовленных под Windows 8+ и использующих UEFI с технологией SecureBoot.


Guys, this is not a dick-sucking contest.

Далее лидер проекта излагал свою точку зрения о том, что такие прогибы под Microsoft неуместны со стороны разработчиков кернела, а RedHat и другие вендоры вольны делать то, что им вздумается. В целом эта переписка была слишком экспрессивной даже для LKML, и Гарретт решил, что с него хватит.


В ходе этого спора Линус подзуживал ГКХ в духе: «соберись уже и хватит быть тряпкой», еще один из ключевых мейнтейнеров Инго Мольнар высказывал ему то же самое, утверждая, что иногда разработчиков можно и послать по известному адресу.


Склоки продолжались какое-то время, а затем участники проекта договорились о том, что нужен некий общий свод правил хорошего тона, что и было документально зафиксировано в /usr/src/linux/Documentation/CodeOfConflict


Автороведческая экспертиза Линуса и Грега


Исследование проводилось методом НЛП известным, как Naive Bayes Classifier с использованием «мешка слов» (bag-of-words). Для определения частей речи использовалась библиотека Python NLTK. Симуляция методом Монте-Карло показала хорошие прогностические способности установить авторство текста с помощью данного алгоритма машинного обучения. Как утверждают авторы исследования точность прогноза достигает 97%.


Приведенная ниже таблица использования ненормативной лексики английского языка думаю не нуждается в комментариях.


Лексика Линус Грег
Всего 3090 150
crap 1204 107
hell 725 22
damn 682 2
shit 126 1
anal 54 0
bullshit 50 2
ass 46 6
god 34 1
screw 33 0
bastard 29 0
bitch 17 0
piss 17 4
retard 14 0

Тренировочная таблица для алгоритма машинного обучения так же говорит сама за себя.


Слова-маркеры для авторов текста


Исследование учитывает лишь словарный запас английского языка, что исключает элементы финского фольклора, как этот.


There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vittupaa just to express my disgust and frustration with this crap.

Как видно из исследования создатель Linux гораздо охотнее прибегает к ненормативной лексике и гораздо реже бывает изысканно учтив и тем не менее я считаю, что чувство меры до сих пор ему не изменяло, и его жесткость не переходило ту черту, за которой начинается самодурство. А что думают по этому поводу читатели?

Комментарии (33)


  1. Nekto_Habr
    29.12.2017 18:15

    Вообще, считаю мат признаком непрофессионализма. Исключений не встречал за 9 лет работы в такой «общительной» сфере, как дизайн (таки болтовня в этом деле — не менее половины успеха). Так что опыт в чём-то показателен: мат сразу указывал на некомпетентного или вовсе тупого человека. Речь про деловое общение: клиенты, руководство; коллеги — исключение, т.к. часто сдруживаюсь с ними.

    Сам всегда на «вы» и стараюсь говорить максимально интеллигентно (не вычурно, но колхозный базар считаю хуже мата).

    Тем не менее мат я просто обожаю и постоянно совершенствуюсь в этом без сомнения крайне интересном искусстве говорить. Если б клиенты слышали, как я их крою за кулисами, — уши бы в трубочку свернулись; дам фору пьяному сапожнику :) И, несмотря на скудность английского мата, его тоже очень люблю; он всегда заставляет меня улыбаться :))

    Но в правилах всегда есть исключения, и Линус наверняка профессионал своего дела, так что пущай матюкается :)))


    1. unabl4
      29.12.2017 18:40
      +5

      Скудность английского сквернословия (и языка, если на то пошло) — не более, чем заблуждение. Особенно в британском английском


      1. Nekto_Habr
        29.12.2017 19:22
        +2

        Да ну ладно, иметь личное мнение не запрещено :) Жил я в США несколько лет, например. Наслушался. Русский круче. Британский интереснее американского, но по жизни витиевато и творчески мало кто матерится. В России же кладезь таких ораторов, что нужно ходить за ними и записывать, причём в самых разных слоях населения. Всё, разумеется, ИМХО :)


      1. StjarnornasFred
        30.12.2017 21:45

        Из 13 приведённых образцов «ненормативной лексики», собственно, ненормативными являются всего 7 слов (и то весьма посредственных). Hell, god, damn — вовсе не ругательства (с каких пор бог и чёрт стали ненормативными?) Anal — на грани научной терминологии, в некотором смысле ругательство, но всё же. Retard — лёгкое оскорбление («болван», «двинутый», «поехавший»), ничего ненормативного, основное значение — тормоз. Screw — эвфемизм («болт»). Скудость английского сквернословия достаточно очевидна.


    1. alex-pat
      29.12.2017 22:12

      Вообще, считаю мат признаком непрофессионализма. Исключений не встречал за 9 лет работы в такой «общительной» сфере, как дизайн

      Артемий Лебедев смотрит на вас с негодованием.


      1. Nekto_Habr
        30.12.2017 00:43

        За что минусы, интересно.

        Ну Лебедев матюкается тут и там, но матюкается ли он в общении с клиентами и подчиненными? Если это вообще показательный персонаж. Линус вон матюкается. Лебедев матюкается. Но это не повод каждому равнятся на таких персонажей в плане свободы словесности :)


    1. AntonAlekseevich
      01.01.2018 21:11

      Вообще, считаю мат признаком непрофессионализма.

      Хоть мне мат не приятен, но я считаю, что его нужно просто уметь им высказываться в то время когда и в том месте где это нужно, но не считаю что это как признак непрофессионализма.


      Исключений не встречал за 9 лет работы в такой «общительной» сфере, как дизайн (таки болтовня в этом деле — не менее половины успеха).

      Мат чаще встречается у производственников и вояк. (это необходимо для того чтобы быстро и четко указать что нужно сделать немедленно)
      В сфере дизайна(да и вообще там где нужно много болтать) согласен мат вреден.


      Сам всегда на «вы» и стараюсь говорить максимально интеллигентно (не вычурно, но колхозный базар считаю хуже мата).

      Я сам стараюсь на "вы" и это по большей части это плохо. (в кругах где можно общаться на "ты" сложнее перестроиться(я испытал это на себе и не раз), вы становитесь "публичным"(имеется ввиду, что людям кажется что без вас никуда и никак))


      P.S. Если я не прав, поправьте, пожалуйста.


      1. AntonAlekseevich
        01.01.2018 23:28

        Пишу сложно, прошу прощения.


  1. pehat
    29.12.2017 18:21
    +5

    По таблице видно, что самая сильная фича — thanks. Видимо, у Линуса этого слова нет в автоподписи, у Грега — есть. Шутка из разряда «обнаружить Мицгола на анонимном форуме просто, потому что, во-первых, он всегда подписывается...»


    1. zloddey
      30.12.2017 11:19
      +2

      Скорее, у Грега ключевая фраза выглядит так: "thanks to Linus,..." (а дальше — объяснение, что и как именно сделано в ядре, благодаря Линусу)


  1. symbix
    29.12.2017 18:27
    +1

    Линус — это Линус, всем известен его стиль общения и то, что он, резко выражаясь, критикует решения, а не человека.


    А вообще это все от команды зависит. Фраза вида "что это, *****, за говно?" вполне может быть как необоснованным наездом, так и объективной критикой, все зависит от контекста и отношений между людьми :-)


    1. arodygin
      30.12.2017 00:34

      Линус, [...] резко выражаясь, критикует решения, а не человека.

      Было бы ок, если бы это было действительно так. Но Линус как раз очень часто переходит на личности:
      There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vittupaa just to express my disgust and frustration with this crap.


  1. zoonman
    29.12.2017 18:53
    +1

    Дело в том, что «политкорректность» в деловой переписке приводит к затягиванию решения проблем. Люди ищут эвфемизмы дабы не обидеть собеседника, на что оный никак не реагирует. В итоге проблема не решается, а затягивается тратя время на пустую болтовню.
    Когда разработчик пишет ужасный, омерзительный код, этот код надо называть «говном» и никак иначе. И если разработчик нормальный, он найдет способ улучшить качество своего кода и стать профи. А если разработчик плохой, то он уйдет из профессии. Такие программисты и не нужны, от них больше вреда, чем пользы.
    Из моей личной практики большинство хороших спецов действительно немного грубоватые и довольно сухие в плане общения люди.


    1. mSnus
      30.12.2017 06:59

      Нет никаких причин говорить "твоя работа говно" вместо "твоя работа очень низкого качестве". Люди хамят только потому, что у них есть такая возможность показать своё неуважение и остаться безнаказанными.


      1. justmara
        30.12.2017 15:58
        +1

        Три слова вместо пяти — вполне себе повод. Куда как эффективнее выразить мысль коротко и доходчиво, чем тратить время/нервы на высасывание обтекаемых формулировок с той лишь целью, чтоб сказать то же самое, но только так чтоб никто не обиделся. Нежные ранимые с тонкой душевной организацией программисты кругом.


      1. zoonman
        31.12.2017 05:16
        +1

        Вот смотрите, взяли к вам на работу какого-нибудь Пупкина, он пишет плохой код. Вы ему делаете замечание. Говорите прочитай то и то, делай так и так. Он делает вид, что ему не все равно. На следующий день опять вы видите тоже самое. Вчера вы потратили 2 часа на написание подробного письма с объяснениями. Сегодня вы еще потратили полчаса на чтение плохого кода и полчаса на ответ. Завтра вы потратите еще час и примете код как есть. В итоге потом все равно прийдется потратить еще 2 часа на исправление его косяков. Итого 6 часов впустую потраченного времени. Или вы в первом же сообщении напишите «не пиши говно, читай это» и отклоните патч. Он обидится, поноет, поймет, что с ним никто не нянчится и сделает, как надо. В итоге будет сэкономлено 4 часа вашего времени, которое стоит гораздо дороже.
        Я не призываю материть направо и налево, но иногда стоит употреблять крепкое словцо, если ситуация того требует.


        1. mSnus
          01.01.2018 17:21
          -1

          Если сотрудник не устраивает, его надо либо учить, либо увольнять, а не материть. Низкая культура речи никому чести не делает.


          1. khim
            01.01.2018 19:11

            Осталось понять как вы собираетесь увольнять человека, которого не вы нанимали и который не у вас работает — а так всё хорошо.


    1. Falstaff
      31.12.2017 00:52
      +2

      Ну так код матом покрыть — это одно, а человека — другое. Линус как раз не стесняется людей г-ном называть, мне кажется, что это перебор. И я лично считаю, что если бы не распределённый стиль разработки, то он бы уже схлопотал от коллег по лицу, если бы он им всё это лично говорил.


  1. MinimumLaw
    29.12.2017 19:00
    +5

    Грег умница. Желаем ему здоровья и сил. Любой, кто писал свой драйвер или другую часть ядра это прекрасно понимает. Столько терпения, столько важных подсказок. Одним словом, по мне без него дело бы либо совсем не шло, либо шло из рук вон плохо. А что до Линуса и его стиля общения — да ладно, стерпим. А так получается классика «хороший полицейский» Грег и «плохой полицейский» Линус. Хотя, конечно, в каждом конкретном случае это не очень приятно. Но заполучить ответ непосредственно от Линуса — это надо постараться. Или обладать изрядным везением. Так что ничего страшного.


  1. chrome3
    29.12.2017 20:31

    Не стоит забывать, что английский язык не является для Линуса родным.


    1. khim
      29.12.2017 22:04

      Ну дык и для Грега тоже.


      1. tyomitch
        29.12.2017 23:02

        Грег-то не утверждал, мол, «в английском недостаточно выразительных слов»


      1. chrome3
        30.12.2017 00:48
        +1

        khim Мне признаться не удалось найти биографию Грега. Можете поделиться источником?


        1. khim
          30.12.2017 05:13

          А его фотки и того факта, что до ухода из SUSE у него был e-mail gregkh@suse.de недостаточно?


  1. timelle
    29.12.2017 22:36

    Вероятно, так Линус поддерживает дух новаторства, независимости и свободы. Противовоставляет Linux (как проект) другим проектам с корпоративной культурой.
    Эдакая гаражная романтика стартапа.

    «Парни, зачанчивайте этот буллшит», — скажет Линус в ситуации где другие проекты будут ходить вокруг да около и конфликты будут лишь назревать и ждать своего выхода. Однако, если Линус скажет что-то вроде «Автор, ты — олень! Так пишут только (слово_по_вкусу)», то это уже оскорбление. Другое дело, что многие воспримут неуместным даже первый вариант.

    Ну а Грег, видимо, читал книжки Бенджамина Франклина.


  1. keydon2
    29.12.2017 23:43

    У нас в компании самый опытный и крутой сотрудник при первой возможности не стесняется покрывать отборным лексиконом(без мата, но намного страшнее и доходчивее большинства сапожников) тех, кто допускает примитивные(по его мнению) ошибки. Как бонус — к нему приходят только когда по другому совсем никак, а уходят преисполненные мудростью и самокритикой.


  1. jcmvbkbc
    30.12.2017 04:40

    Склоки продолжались какое-то время, а затем участники проекта договорились о том, что нужен некий общий свод правил хорошего тона, что и было документально зафиксировано в /usr/src/linux/Documentation/CodingStyle

    CodeOfConflict, CodingStyle — это другое.


  1. ViktorZ
    30.12.2017 09:50
    +1

    Просто надо принять человека таким какой он есть и для себя решить можете ли вы лично с ним работать. Если убрать эмоции и оставить лишь суть, то ее и следует оценивать.


  1. evocatus
    30.12.2017 13:08
    +2

    то, что Линус высказал Мэтью по поводу патчей, которые должны были обеспечить загрузку Linux на рабочих станциях, изготовленных под Windows 8+ и использующих UEFI с технологией SecureBoot.

    Неправда. Загрузка уже была обеспечена загрузчиком, который разработали в RedHat и который был подписан Microsoft.
    То, что предложил этот Мэтью (хотя я так понимаю, что это не его лично идея)… чтобы разработчики проприетарных драйверов (NVidia, AMD,...) подписывали код у Microsoft (которая не проверяет код, а только его расово чистое происхождение из большой корпорации), а чтобы ядро Linux потом доверяло этим драйверам, потому что они подписаны ключом, который добавлен в UEFI (от Microsoft, который в каждом компьютере). Но Microsoft подписывает ключи только в своём собственном PE формате, и вот этот Мэтью предложил пулл-реквест с поддержкой этого формата.
    (этот комментарий является вольным пересказом второго комментария за авторством pavon к этой статье)


  1. Refridgerator
    30.12.2017 15:04

    А вот на производстве разговаривать матом — это норма.


  1. resurrection
    30.12.2017 17:12

    Приведенная ниже таблица использования ненормативной лексики английского языка думаю не нуждается в комментариях.

    • god
    • damn
    • screw

    т.е. бог и болт (винт/шуруп) — это уже ненормативная лексика? нет, ну «черт» — еще куда ни шло, вдруг оскорбляет чувства верующих.


    1. hdfan2
      30.12.2017 17:38

      Это всё ещё можно к ругательствам отнести (особенно screw). Но у меня есть некоторые сомнения относительно anal. Дело в том, что это слово переводится не только очевидным образом, но ещё и как «дотошный», «занудный» (можно сказать, «доё#истый» по-нашему). Т.е. выражение «You're so anal about that» отнюдь не значит, что кого-то называют задницей — это правильней перевести как «Ты такой дотошный/занудный в этом плане/в этом отношении». Не очень приятно, но это не ругательство. Впрочем, не знаю, в каком плане использует это слово Линус.