Мы в 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 теоретически может сделать резервную копию репозитория для сохранения его исходной версии.
Специально для сайта ITWORLD.UZ. Новость взята с сайта Хабр