СиДжей Сильверио (CJ Silverio), в конце прошлого года покинувшая пост технического директора компании NPM Inc,
В качестве причины создания Entropic называется полная зависимость экосистемы JavaScript/Node.js от компании NPM Inc, которая контролирует разработку пакетного менеджера и поддержание репозитория NPM. Сложилась ситуация когда нацеленная на получение прибыли компания единолично контролирует систему от которой зависят миллионы разработчиков и приложений на JavaScript, и которая обрабатывает миллиарды загрузок пакетов в неделю.
Недавняя череда увольнений сотрудников, смена руководства и заигрывание NPM Inc с инвесторами создали ощущение неопределённости в отношении дальнейшем судьбы NPM и недоверия в том, что компания будет отстаивать интересы сообщества, а не инвесторов. По мнению Сильверио, бизнесу NPM Inc нельзя доверять так как у сообщества нет рычагов для привлечения его к ответственности за совершаемые действия. Более того, ориентация на получение прибыли мешает реализации первичных с точки зрения сообщества, но не приносящих денег и требующих дополнительных ресурсов, возможностей, таких как поддержка верификации по цифровой подписи.
Сильверио также сомневается, что NPM Inc заинтересована в оптимизации взаимодействия со своим бэкендом, так как это приведёт к снижению потоков данных, потенциально интересных с точки зрения монетизации. При каждом запуске команды «
Система Entropic использует принцип федеративной сети, в которой разработчик на своих мощностях может развернуть сервер c репозиторием применяемых им пакетов и подключить его к общей распределённой сети, объединяющей в единое целое разрозненные частные репозитории. Entropic подразумевает сосуществование многих репозиториев, взаимодействие с которыми осуществляется в рамках обычного рабочего процесса.
Все пакеты разделяются с использованием пространств имён и включают информацию о хосте, на котором размещается их первичный репозиторий.
Пространство имён по сути представляет собой имя владельца пакета или группы мэйнтейнеров, имеющих право на выпуск обновлений. В общем виде адрес пакета выглядит как «[ಇಮೇಲ್ ರಕ್ಷಿಸಲಾಗಿದೆ]/pkg-name».
Меатаданные и сведения о зависимостях определяются в формате
В случае размещения в локальном репозитории пакета, связанного зависимостями из других репозиториев, данные пакеты зеркалируются в локальном репозитории. Таким образом локальный репозиторий становится самодостаточный и включает копии всех необходимых зависимостей. Имеется прослойка для взаимодействия с классическим репозиторием NPM, который обрабатывается как доступный в режиме только для чтения архив. В том числе можно устанавливать пакеты из NPM, используя локально развёрнутые окружения Entropic.
Для управления предоставляется инструментарий командной стоки, упрощающий развёртывания репозиториев в своей локальной сети. Entropic предлагает принципиально новые
ಮೂಲ: opennet.ru