Ik vind dat je commentaar de plank redelijk misslaat. Het doel van deze tool is volgens
hun GitHub pagina dit:
The Windows Package Manager is a tool designed to help you quickly and easily discover and install those tools that make your PC environment special.
Het is dus voor eindgebruikers en niet voor servers e.d. Nu wil het geval dat Windows heel anders werkt dan Linux, en dat ook het Windows software ecosysteem heel anders in elkaar zit. Windows software wordt doorgaans verspreid als installer, danwel via de Microsoft Store en dat is gewoon een facade voor vergelijkbare installers.
Dit in tegenstelling tot Linux, waar de meeste software als packages wordt verspreid met een hele rits dependencies. Een package voor, zeg, nodejs, zal dus alleen de code bevatten van NodeJS zelf, en alle dependencies (openssl, etc etc whatever) worden geacht al aanwezig te zijn op het systeem. Als dat niet zo is, lost de package manager dit voor je op. Of niet natuurlijk, en dan krijg je een bende met conflicterende dependencies. Eén van de voornaamste doelen van linux-distributies is zorgen dat je die bende niet krijgt, en dat kost een hoop vrijwilligerswerk.
Op Windows heeft
Chocolatey geprobeerd dat model na te bootsen, met als gevolg precies zo'n bende met dependencies.
Daarom is later door een andere programmeur
Scoop gelanceerd, en Scoop is
ronduit fantastisch. It just works: "scoop install nodejs php git" en boem je bent klaar. Het geheim van Scoop? Precies datgene waar jij zo lacherig om doet.
In de meeste Windows software zitten bijna altijd alle dependencies in dezelfde directory als de applicatie. De installer kopieert die gewoon mee. Chocolatey probeerde dat uit elkaar te trekken en een Linux-model na te bootsen, met een enorme wirwar als gevolg. Maar Scoop doet precies dat: Scoop downloadt een installer, unzipt hem achter de schermen, en stelt je PATH zo in dat je vanaf de command line bij te tool kunt. Auto update? Nop. Sandboxing? Laat me niet lachen. Maar het werkt als een malle.
En dat is zo omdat het aansluit bij de manier waarom Windows software
nu al gebundeld en verspreid wordt.
Ik heb recent door hardwareproblemen mijn computer een aantal keer opnieuw moeten installeren, en door Scoop was dit echt een fluitje van een cent (Ninite is ook vet trouwens, daar niet van - en om ongeveer dezelfde redenen).
Dus als Winget het Ninite/Scoop model overneemt, is dat m.i. veel beter dan het Linux model. Het past bij hoe Windows werkt, het past bij hoe het Windows ecosysteem werkt. Dat allemaal Linux-fanaten daar dan lacherig over doen vind meer zeggen over hen dan over het team achter Winget.
Overigens heb ook ik nog wel wat te mopperen:
1. Waarom maakt Microsoft hier weer wat nieuws, ipv bijv aan te sluiten bij Scoop? Ze hebben eerder al NodeJS geschikt(er) voor Windows gemaakt met een enorme inspanning, dus ze hebben laten zien dat ze best bestaande OSS kunnen adopteren. Vooralsnog voelt dit bij mij als nodeloze Not Invented Here.
2. Waarom noemen ze het in hemelsnaam een "package manager" als het een "software installer" is? Als ze die term niet hadden gebruikt hadden ze de helft van de hoon van mensen die Linux gewend zijn kunnen overslaan.
Sidenote: Ik zou auto-update voor mijn command line tools echt verschrikkelijk vinden. Als mijn hele team op Java 9 zit en mijn "package manager" besluit dat dat écht niet meer bij de tijd is, loopt alles in de soep. No thanks, ik doe wel `scoop update java`.
[Reactie gewijzigd door skrebbel op 22 juli 2024 20:46]