Каково быть мейнтейнером свободного ПО

в 13:34, , рубрики: GNOME Calendar, open source, Здоровье гика, Карьера в IT-индустрии, мейнтейнер

2013 год. Я узнаю об альфе нового проекта под названием GNOME Calendar. Интересно.

Я люблю календари.

«Круто, буду следить за ним», — сказал я по молодости. В ветке ui-rework шла бурная разработка. Каждый день несколько новых коммитов. Скачать, собрать, протестировать. И вдруг коммитов не стало на целый день. И на следующий день тоже. Неделю, месяц, год… Я разочарован. Не хочется, чтобы такой замечательный проект погиб. Вы же понимаете…

Я люблю календари.

«Нет, такого мы не допустим», — опять сказала моя младшая копия. Клонируем, собираем, исправляем ошибки, отправляем патчи. У мейнтейнера вернулся интерес к проекту. У приложения появляется новая иконка, а это дело серьёзное. Заводим новый канал IRC (!) и делаем первый публичный релиз GNOME Calendar.

Проходит год, наступает 2015-й. Отработав вместе больше года, Эрик назначил меня фактическим мейнтейнером GNOME Calendar (кода, а не пакета). Целая буря эмоций: гордость за достижение; волнующая возможность реализовать свои идеи; страх перед грузом ответственности.

Но чёрт возьми, я теперь мейнтейнер свободного программного обеспечения.

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

Мейнтейнер — забавное занятие. Происходит много хорошего. И плохого тоже. И ужасного. И странного.

Естественно, это чувство успеха: ты стал, ну, мейнтейнером… Чтобы этого добиться, нужное многое вложить в течение длительного времени. Значит, тебе доверяют. Значит, ты достоин доверия. Значит, ты достаточно опытный.

И общение. Знакомство с отличными людьми, которые много знают и готовы делиться, учить и помогать — это жизненный опыт. Есть огромная человеческая ценность в общении с отличными людьми.

Если вы любите программировать, бинго! Абсолютное счастье. Планирование релизов, код-ревью: сплошное удовольствие. Вы будете исправлять баги, находить решения, думать и разрабатывать свой код. Существует множество проблем, которые нужно решить, и некоторые вы можете решить самостоятельно.

И люди. На этой планете есть хорошие люди. Вам могут прислать письмо с благодарностью. Может, кто-то угостит кофе. Так или иначе, люди вас найдут.

Люди действительно вас найдут.

Видите ли, иногда ваша программа, ну, она падает. Может потерять чьи-то данные. Где-то может сработать уникальное условие в коде, которое вам никогда не попадалось. Люди могут злиться, расстраиваться, грустить… (Справедливо: никто не хочет терять информацию или нарушать рабочий процесс).

И они вас обязательно найдут.

От вас потребуют исправить софт. На вас будут кричать. Иногда кто-то перейдёт черту и оскорбит вас. «Как вы можете не (потратить своё свободное время) исправить эту ошибку с ультравысоким приоритетом, которая меня затронула?» или «Это важнейшая функция! Почему она ещё не реализована (вами в свободное время)?!» или даже «Вы заставили меня перейти на программу Y и теперь должны стараться, чтобы я вернулся». Вот с чем вы столкнётесь.

Вы станете эмоционально относиться к своему коду. Вам может быть стыдно за то, что вы сделали и делаете. В конце концов, в коде есть баги, а в трекере куча тикетов, люди непрерывно жалуются. (Да, и кто-то постоянно будет вам об этом напоминать).

В какой-то момент вы посмотрите на общий список проблем и с отчаянием поймёте, что никогда не сможете исправить все ошибки.

Если вы рассматриваете чужие коммиты, то с высокой вероятностью увидите товарищей, которые маскируются под помощников, но метят на вашу должность. И ваше код-ревью будет расцениваться как интеллектуальная битва между добром и злом. Вам придётся снова и снова объяснять и уточнять, бороться с круговой аргументацией и почти любыми средствами, которые люди способны использовать для победы в споре вместо улучшения кода. И это невероятно утомительно.

Вам скажут, что нужно спокойнее всё воспринимать. Не обращать внимания, думать позитивно и игнорировать всё дерьмо, которым вас заваливают. Будут говорить: почему ты такой злой, ты же в конце концов мейнтейнер.

От работы больше никакой радости. Возможно, вы захотите уйти, но не сможете из-за чувства ответственности за свой код, сообщество и людей, которые используют ваше программное обеспечение.

К сожалению, работа мейнтейнером свободного ПО может плохо отразиться на вашем психологическом и эмоциональном здоровье.

Четыре года назад я этого точно не знал.

Автор: m1rko

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js