Былы тэхдырэктар NPM развівае размеркаваны рэпазітар пакетаў Entropic

Сіджэй Сільверыа (CJ Silverio), якая ў канцы мінулага года пакінула пасаду тэхнічнага дырэктара кампаніі NPM Inc, прадставіла новы рэпазітар пакетаў Энтрапічны, Які развіваецца як размеркаваная альтэрнатыва NPM, не падкантрольная канкрэтнай кампаніі. Код 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 мае на ўвазе суіснаванне шматлікіх рэпазітароў, узаемадзеянне з якімі ажыццяўляецца ў рамках звычайнага працоўнага працэсу.

Усе пакеты падзяляюцца з выкарыстаннем прастор імёнаў і ўключаюць інфармацыю аб хасце, на якім размяшчаецца іх першасны рэпазітар.
Прастора імён па сутнасці ўяўляе сабой імя ўладальніка пакета або групы мэйнтэйнераў, якія маюць права на выпуск абнаўленняў. У агульным выглядзе адрас пакета выглядае як[электронная пошта абаронена]/pkg-name».
Меатададзеныя і звесткі аб залежнасцях вызначаюцца ў фармаце TOML.

У выпадку размяшчэння ў лакальным рэпазітары пакета, звязанага залежнасцямі з іншых рэпазітароў, дадзеныя пакеты люстэркуюцца ў лакальным рэпазітары. Такім чынам лакальны рэпазітар становіцца самадастатковы і ўключае копіі ўсіх неабходных залежнасцяў. Маецца праслойка для ўзаемадзеяння з класічным рэпазітаром NPM, які апрацоўваецца як даступны ў рэжыме толькі для чытання архіў. У тым ліку можна ўсталёўваць пакеты з NPM, выкарыстоўваючы лакальна разгорнутыя асяроддзі Entropic.

Для кіравання падаецца інструментар каманднай сцёкі, які спрашчае разгортванні рэпазітароў у сваёй лакальнай сетцы. Entropic прапануе прынцыпова новыя файлава-арыентаваны API і сістэму захоўвання, якія мінімізуюць аб'ём загружаных па сетцы дадзеных. Entropic падаецца як універсальная сістэма, якую можна ўжываць для стварэння рэпазітароў для пакетаў на любых мовах праграмавання, але, тым не менш, Entropic распрацоўваецца з аглядкай на JavaScript і найлепшай выявай падыходзіць для праектаў на дадзенай мове.

Крыніца: opennet.ru

Дадаць каментар