CJ Silverio, die Ende letzten Jahres das Amt der technischen Direktorin von NPM Inc verlassen hat, ein neues Paket-Repository , das sich als verteilte Alternative zu NPM entwickelt, die nicht von einem bestimmten Unternehmen kontrolliert wird. Der Entropic-Code ist in JavaScript geschrieben und unter der Apache 2.0-Lizenz. Das Projekt existiert erst seit einem Monat und befindet sich in der Anfangsprototyp-Phase, unterstĂŒtzt jedoch bereits grundlegende VorgĂ€nge wie das Verbinden, Veröffentlichen und Installieren von Paketen.
Als Grund fĂŒr die Schaffung von Entropic wird die vollstĂ€ndige AbhĂ€ngigkeit des JavaScript/Node.js-Ăkosystems von NPM Inc genannt, das die Entwicklung des Paketmanagers und die Wartung des NPM-Repositories kontrolliert. Es ist eine Situation entstanden, in der ein profitorientiertes Unternehmen das System, von dem Millionen von Entwicklern und Anwendungen auf JavaScript abhĂ€ngen, allein kontrolliert und das Milliarden von Paketdownloads pro Woche verarbeitet.
Eine rĂ©cente Reihe von Mitarbeiterentlassungen, ein FĂŒhrungswechsel und das Spiel mit Investoren durch NPM Inc haben ein GefĂŒhl der Ungewissheit bezĂŒglich der zukĂŒnftigen Entwicklung von NPM und das Misstrauen geweckt, dass das Unternehmen die Interessen der Gemeinschaft und nicht die der Investoren vertreten wird. Silverio ist der Meinung, dass NPM Inc nicht vertraut werden kann, da die Gemeinschaft keine Mittel hat, um das Unternehmen fĂŒr sein Handeln zur Verantwortung zu ziehen. DarĂŒber hinaus behindert die Orientierung an Gewinnstreben die Umsetzung grundlegender Möglichkeiten aus Sicht der Gemeinschaft, die jedoch keine Einnahmen bringen und zusĂ€tzliche Ressourcen erfordern, wie zum Beispiel die UnterstĂŒtzung von digitalen Signaturverifikationen.
Silverio zweifelt zudem daran, dass NPM Inc an einer Optimierung der Interaktion mit ihrem Backend interessiert ist, da dies zu einem RĂŒckgang der Datenströme fĂŒhren wĂŒrde, die potenziell monetarisierungsrelevant sind. Bei jedem AusfĂŒhren des Kommandos ââ wird der Inhalt der Datei , die viele interessante Informationen darĂŒber enthĂ€lt, mit was sich der Entwickler beschĂ€ftigt. In Reaktion darauf haben mehrere prominente Mitglieder der JavaScript/Node.js-Community mit der Entwicklung einer Alternative begonnen, die nicht von einzelnen Unternehmen kontrolliert wird.
Das Entropic-System verwendet das Prinzip eines föderierten Netzwerks, in dem der Entwickler auf seinen Ressourcen einen Server mit einem Repository der von ihm verwendeten Pakete bereitstellen und ihn mit einem gemeinsamen verteilten Netzwerk verbinden kann, das disparate private Repositories zu einem Ganzen zusammenfĂŒhrt. Entropic impliziert das Zusammenspiel vieler Repositories, mit denen im Rahmen des regulĂ€ren Arbeitsablaufs interagiert wird.
Alle Pakete werden unter Verwendung von NamensrĂ€umen organisiert und enthalten Informationen ĂŒber den Host, auf dem ihr primĂ€res Repository angelegt ist.
Der Namensraum stellt im Wesentlichen den Namen des Paketinhabers oder der Gruppe von Maintainer dar, die das Recht zur Veröffentlichung von Updates besitzen. In allgemeiner Form sieht die Adresse des Pakets aus wie «namespace@repohost.com/pkg-name».
Metadaten und AbhÀngigkeiten werden im Format .
Im Falle der Bereitstellung eines Pakets in einem lokalen Repository, das AbhÀngigkeiten aus anderen Repositories hat, werden diese Pakete im lokalen Repository gespiegelt. Dadurch wird das lokale Repository autark und enthÀlt Kopien aller erforderlichen AbhÀngigkeiten. Es gibt eine Schicht zur Interaktion mit dem klassischen NPM-Repository, das im Nur-Lesen-Modus als Archiv behandelt wird. Zudem können Pakete aus NPM installiert werden, indem lokal bereitgestellte Entropic-Umgebungen genutzt werden.
Zur Verwaltung steht ein Kommandozeilen-Tool zur VerfĂŒgung, das die Bereitstellung von Repositories im lokalen Netzwerk vereinfacht. Entropic bietet prinzipiell neue und Speichersysteme, die das Volumen der ĂŒber das Netzwerk geladenen Daten minimieren. Entropic wird als universelles System prĂ€sentiert, das zur Erstellung von Repositories fĂŒr Pakete in beliebigen Programmiersprachen verwendet werden kann, dennoch wird Entropic mit einem Fokus auf JavaScript entwickelt und eignet sich am besten fĂŒr Projekte in dieser Sprache.

Quelle: opennet.ru
