Бывший техдиректор NPM развивает распределённый репозиторий пакетов Entropic

СиДжeй Сильвeриo (CJ Silverio), в кoнцe прoшлoгo гoдa пoкинувшaя пoст тexничeскoгo дирeктoрa кoмпaнии NPM Inc, прeдстaвилa нoвый рeпoзитoрий пaкeтoв Entropic, кoтoрый рaзвивaeтся кaк рaспрeдeлённaя aльтeрнaтивa NPM, нe пoдкoнтрoльнaя кoнкрeтнoй кoмпaнии. Кoд Entropic написан получи JavaScript и распространяется под лицензией Apache 2.0. Программа развивается всего месяц и находится нате стадии начального прототипа, но ранее поддерживает базовые операции, такие чисто подключение, публикация и установка пакетов. В качестве причины создания Entropic называется полная подчиненность экосистемы JavaScript/Node.js от компании NPM Inc, которая контролирует разработку пакетного менеджера и поддержание репозитория NPM. Сложилась расположение когда нацеленная на получение прибыли бражка единолично контролирует систему от которой зависят множество разработчиков и приложений на JavaScript, и которая обрабатывает миллиарды загрузок пакетов в неделю. Недавняя вереница увольнений сотрудников, смена руководства и кокетство NPM Inc с инвесторами создали ощущение неопределённости в отношении дальнейшем судьбы NPM и недоверия в волюм, что компания будет отстаивать кругозор сообщества, а не инвесторов. По мнению Сильверио, бизнесу NPM Inc запрещается доверять так как у сообщества пропал рычагов для привлечения его к ответственности из-за совершаемые действия. Более того, направление на получение прибыли мешает реализации первичных с точки зрения сообщества, да не приносящих денег и требующих дополнительных ресурсов, возможностей, таких ни дать ни взять поддержка верификации по цифровой подписи. Сильверио и сомневается, что NPM Inc заинтересована в оптимизации взаимодействия со своим бэкендом, эдак как это приведёт к снижению потоков данных, потенциально интересных с точки зрения монетизации. Быть каждом запуске команды "npm audit" нет слов вне отдаётся содержимое файла package-lock, включающего (целый) короб интересных сведений о том, чем занимается исполнитель. В качестве реакции несколько видных участников сообщества JavaScript/Node.js начали разработку альтернативы, мало-: неграмотный подконтрольной отдельным компаниям. Система Entropic использует закон федеративной сети, в которой разработчик в своих мощностях может развернуть сервер c репозиторием применяемых им пакетов и отвести его к общей распределённой сети, объединяющей в единое все разрозненные частные репозитории. Entropic подразумевает сосуществование многих репозиториев, связь с которыми осуществляется в рамках обычного рабочего процесса. Тутти пакеты разделяются с использованием пространств имён и включают информацию о хосте, получи и распишись котором размещается их первичный репозиторий. Затин имён по сути представляет на лицо имя владельца пакета или группы мэйнтейнеров, имеющих вправе) делать что-либо на выпуск обновлений. В общем виде надсыл пакета выглядит как "namespace@repohost.com/pkg-name". Меатаданные и запас сведений о зависимостях определяются в формате TOML. В случае размещения в локальном репозитории пакета, связанного зависимостями изо других репозиториев, данные пакеты зеркалируются в локальном репозитории. Таким образом местного значения репозиторий становится самодостаточный и включает копии всех необходимых зависимостей. В наличии прослойка для взаимодействия с классическим репозиторием NPM, тот или другой обрабатывается как доступный в режиме всего на все(го) для чтения архив. Для управления предоставляется инструментарий командной стоки, упрощающий развёртывания репозиториев в своей локальной тайник. Entropic предлагает принципиально новые файлово-ориентированный API и систему хранения, которые минимизируют листаж загружаемых по сети данных. Entropic преподносится вроде универсальная система, которую можно пуска для создания репозиториев для пакетов в любых языках программирования, но, тем мало-: неграмотный менее, Entropic разрабатывается с оглядкой нате JavaScript и наилучшим образом подходит угоду кому) проектов на данном языке.