Pull to refresh

Мейнтейнер популярнейшей JS-библиотеки приговорен к тюремному заключению за смертельное ДТП по его вине

Reading time 3 min
Views 17K
Original author: Thomas Claburn

Мы в TestMace активно следим за судьбой проектов, значимых для js сообщества, в частности core-js. И, по нашему мнению, резонансное событие, описанное в статье, не получило должного освещения на хабре. Что ж, мы решили исправить это дело и публикуем перевод статьи, кратко передающей суть происходящего. Приятного чтения.


Что станет с open-source проектом, от которого так многое зависит?



В ноябре 2019 г. мейнтейнер небезызвестной библиотеки core-js Денис Пушкарев проиграл апелляцию на приговор на 18 месяцев тюрьмы за то, что в ходе движения на мотоцикле он совершил наезд на двух пешеходов, один из которых впоследствии скончался.


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


Core-js - модульная стандартная JavaScript-библиотека, предоставляющая огромное множество полезных функций для выполнения стандартных операций. Ее часто используют при создании полифиллов — реализации возможностей современных браузеров в устаревших и менее функциональных браузерах. Каждую неделю из реестра npm библиотеку загружают 26 миллионов пользователей, она широко используется разработчиками во многих крупных корпорациях, в том числе в Apple. Теперь же ее будущее под вопросом.


Еще в мае прошлого года Пушкарев, также известный на GitHub как zloirock, обсуждая введение постинсталляционной рекламы в своей библиотеке для получения дополнительного дохода, в одном из тредов упомянул, что может оказаться за решеткой. Он предвидел возможные затраты на юридические или медицинские расходы, связанные со случившимся происшествием.


В том же треде разработчик Натан Добровольский поинтересовался, кто же в сложившейся ситуации будет поддерживать core-js.


Ответа от Пушкарева не последовало. После того как в октябре прошлого года его признали виновным, этот вопрос встал особенно остро.


В феврале начались обсуждения по поводу того, сможет ли проект core-js выжить в отсутствии Пушкарева — своего основного мейнтейнера. До сегодняшнего дня официальными релизами, последний из которых был опубликован 13 января 2020 г., занимался только Пушкарев.


У проекта также есть еще один активный участник, зарегистрированный на GitHub под ником slowcheetah. Имея статус соавтора (по сути это разрешение на запись), он заявил, что сможет в будущем выпускать обновления. Но пока неясно, сможет ли проект удержаться на плаву под его управлением.


В похожей ситуации находится и криптографическая JavaScript-библиотека jsrsasign: ее мейнтейнер Кенжи Урусима не выходит на связь с апреля 2018 г. Разработчики, пользующиеся данной библиотекой, выразили беспокойство отсутствием контакта с создателем и уязвимым положением, в котором оказались 350 npm-проектов (включая проекты компаний Microsoft и Mozilla), так или иначе зависящих от jsrsasign.


Ситуация вокруг core-js и jsrsasign только подчеркивает множество типичных проблем популярных open-source проектов, особенно тех, спрос на которые растет без смены руководства. Один из участвующих в обсуждении программистов поинтересовался, как же так получилось, что настолько широко используемый проект оказался в руках одного человека, а не под управлением какой-либо организации.


Если core-js впадет в спячку, вряд ли это повлечет за собой такой же ворох проблем, как произошло с пакетом left-pad в 2016. Все будет работать, как и прежде, а у разработчиков будет время на пересмотр кода зависимостей. Тем не менее было бы неплохо иметь план дальнейших действий.


В своем письме сайту The Register senior product-менеджер отдела по делам сообщества и безопасности на GitHub Бен Больтер отметил, что компания готова рассмотреть вопрос о передаче права владения репозиторием другому лицу в случае, если не удается связаться с создателем проекта. «Чтобы избежать неприятной ситуации, необходимо предпринять предупредительные меры. Это для нас в приоритете», — сказал он.


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


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


Больтер дал понять, что GitHub имеет все необходимые средства для организации передачи права владения репозиторием в случае болезни родственников, соавторов, коллег и бизнес-партнеров. По его мнению, разветвление "брошенных" репозиториев — тоже неплохое решение. GitHub теоретически может сделать резервную копию репозитория для сохранения его исходной версии.

Tags:
Hubs:
+17
Comments 18
Comments Comments 18

Articles