В последнее время часто говорят о выгорании мейнтейнеров открытых проектов. Люди теряют интерес к обновлению и поддержке своих старых проектов, в результате чего многие (если не большинство) из библиотек в публичных репозиториях превращаются в abandonware – необновляемое заброшенное ПО. Это становится серьезной проблемой для проектов, зависящих от подобных библиотек, так как в заброшенном коде могут быть уязвимости. Например, при работе с NPM частенько можно видеть критические уязвимости в некоторых пакетах, причем они висят годами, так как никто не может создать новый релиз, кроме мейнтейнера, даже если ошибку легко исправить. Решения звучат разные: ввести некую форму демократии в управление проектами, создать автоматизированную систему финансирования для мотивации мейнтейнеров и пр. На мой взгляд, тут имеет место быть классический человеческий фактор, и потому проблему нельзя исправить чисто техническими и формальными методами – нужна смена парадигмы в головах, оздоровление мышления. Проблема не в технологии, а в психологии.
Потеря интереса к проекту, над которым вы работаете длительное время без материальной или моральной компенсации, – ситуация вполне ожидаемая. Далеко не всегда OpenSource-проект превращается в дело жизни, когда автор сам активно использует свой код на работе, в бизнесе или хобби – и, следовательно, имеет личную заинтересованность в его поддержке. Некоторые библиотеки и программы, которые выкладываются на GitHub, пишутся для решения разовой задачи, после чего автор забрасывает разработку как бесперспективную и неинтересную. Но чаще всего факторы, по моим наблюдениям, следующие:
- Переход в другую профессиональную сферу, на другую платформу, другой стек технологий. Поддерживать проект на языке, которым вы уже активно не пользуетесь и который вам не нужен в резюме, становится довольно напряжно и выглядит как путь в никуда;
- Смена приоритетов в личной жизни. Не все могут позволить себе выкраивать львиную долю свободного времени на OpenSource, жертвуя отношениями, семьей, друзьями, другими увлечениями помимо программирования;
- Сообщество вокруг проекта становится токсичным. Неадекватные требования пользователей, наплыв “доброхотов” с советами, как надо все переделать, всевозможные тролли, хамы, а также люди, пытающиеся применить ваш проект не по назначению и регулярно изливающие на вас фрустрацию по поводу своих неудач;
- Автор в принципе не видит смысла продолжать работу над проектом, так как это по совокупности причин не делает его счастливее. Играет роль социальная атмосфера и функция, которую человек выполняет в обществе. Для счастья человеку нужен смысл – и смысл жизни в целом, и смысл любой конкретной деятельности. Потеря смысла – катастрофа.
Выгорание – это реакция психики на стресс от ответственности, на эмоциональное перенапряжение. Следовательно, чтобы решить эту проблему, и разработчики, и пользователи должны пересмотреть свое отношение друг к другу. Стоит признать: пользователи слишком многого хотят бесплатно, а разработчики берут на себя слишком много бесплатной ответственности. Прогресс дается человечеству отнюдь не даром, как всем, наверное, кажется – происходит эксплуатация энтузиазма. Я предлагаю следующие тезисы, напоминающие о простых истинах и базовых фактах, касающихся социальных аспектов OpenSource – скопируйте их себе, распечатайте, повесьте на стену, делайте что хотите, главное – держите в голове:
- Вы вправе самостоятельно распоряжаться своей жизнью, временем и усилиями
Цель не оправдывает средства, когда речь идет о жизни и здоровье. Вы можете строить планы и формулировать цели, но вы не обязаны жертвовать чем-либо – и никто не вправе требовать от вас жертв. Вы не обязаны делать то, что вам неинтересно или трудно. - Ваш вклад в свободное ПО не определяет вас как личность
Управление свободными проектами – лишь один из множества видов полезной деятельности, которые делают человека ценным для общества. Не надо думать, что если вы устали, утратили мотивацию писать и сопровождать свободный код, вы стали хуже как человек. Нет ничего плохого в том, чтобы переключаться, уделять больше внимания своему здоровью и благополучию, учиться чему-то новому, пробовать новые для себя занятия и виды творчества. Вы не раб сообщества СПО и не прикованы к своим репозиториям цепями. - Свободное ПО – это подарок от разработчиков, а не их долг перед кем-то
Скачав из Интернета архив со свободным кодом, вы получаете в свое распоряжение только этот код и ничего более! Вы не получаете право на время и усилия автора этого кода. Вы входите с автором в отношения лицензиара и лицензиата, которые прописаны в лицензии (прошу прощения за тавтологию). А в любой свободной лицензии заглавными буквами написано – никаких гарантий. - Написав и выложив код, вы не становитесь автоматически ответственным за судьбу этого кода
Ответственность возникает только по закону и добровольно заключенному договору. Вы не обязаны исправлять баги и вообще хоть как-то реагировать на багрепорты. Вы не обязаны что-то обновлять, “своевременно” выпускать релизы, поддерживать “в актуальном состоянии” пакеты в реестрах. Нигде такая ответственность не прописана, ни по какому закону она не возникает – просто нет ее от слова совсем. - Все эти репозитории, VCS, менеджеры пакетов – один большой общественный эксперимент
Никто не может гарантировать, что экосистема, основанная на чистом энтузиазме, будет стабильно работать фоном. Тот факт, что кто-то построил на основе СПО свой бизнес, начал зависеть от мейнтейнеров, которые чинят баги, реагируют на просьбы и выпускают обновления – это исключительно его проблема. Верить, что автор библиотеки никогда ее не забросит – убийственно наивное допущение. Нужно перестраховываться от этого риска, а не взваливать моральную ответственность на автора.
И напоследок, на правах имхо. Студенты-миллениалы, с небывалым интересом подхватившие идеи Ричарда Столлмана и Эрика Реймонда для того, чтобы изменить мир, сделали слишком много и получили взамен слишком мало – а то и в чем-то потеряли. Они положили молодость на то, чтобы приложения могли создаваться, как конструктор, из готовых блоков, доступных бесплатно – и это породило многомиллиардную индустрию, изменившую всю нашу жизнь. Но что в итоге? Да, мы теперь можем заказать еду в кафе при помощи мобильного приложения. Да, у нас есть соцсети и мессенджеры, электронный банкинг и кассы самообслуживания, голосовые помощники и системы умного дома. Но разбогатели на этом единицы, все миллиарды ушли в карманы Джеффов Безосов и Марков Цукербергов, а остальные – в том числе и разработчики свободного кода – вынуждены работать “на дядю” как и раньше, десятилетиями выплачивать ипотеку и лишь мечтать об образе жизни, который мог себе позволить рядовой обыватель XX века безо всяких компьютеров и приложений. А государство, тем временем, благодаря свободным технологиям получило небывалую власть: оно следит за людьми через камеры с распознаванием лиц, требует QR-код при входе в магазин во время пандемии, ловит инакомыслящих при помощи геолокации, соцсетей и все тех же “умных” систем обработки данных, созданных на основе бескорыстного труда идеалистов – на фундаменте для глобального цифрового рая строится глобальный цифровой концлагерь. Совсем не такой новый мир мы себе представляли, когда создавали что-то новое!
Вечно так продолжаться, конечно, не может. Если мир ответил на ваш благородный порыв столь цинично, то ответом должен быть цинизм в квадрате. Если общество не захочет меняться, если не будет оздоровления, то никто не будет больше ничего создавать. Вчерашние энтузиасты, которым никто даже не сказал “спасибо” (а лишь ущемили в правах), плюнут на все и уйдут в себя. Они будут стоять и смотреть, как рушится построенное ими здание.