WinGet: menedżer pakietów Microsoftu to klęska. Warto poczekać na poprawki
Menedżer pakietów WinGet zaliczył wpadkę wizerunkową, zaciągając automatycznie do swojego repozytorium wadliwe, zduplikowane i potencjalnie niebezpieczne manifesty aplikacji. W niniejszej historii najbardziej zdumiewa to, że taki stan rzeczy jest w zasadzie nieunikniony przy obecnych kryteriach wstępu do repozytorium. Trudno zrozumieć, jak przez wiele miesięcy rozwoju, w którym brało udział kilkadziesiąt osób, nie uznano tego za problem.
03.06.2021 02:25
Jakiś czas temu, Microsoft postanowił wyciągnąć rękę w stronę osób przyzwyczajonych do zarządzania oprogramowaniem przez pakiety. Linuksowe paczki RPM/DEB, Homebrew na Maki czy nawet Chocolatey dla Windows stanowią bowiem rozwiązania wygodniejsze od samodzielnego polowania na aplikacje i o niebo bardziej elastyczne od sklepu Microsoft Store.
Menedżer pakietów w cudzysłowie
Dlatego powstał WinGet, menedżer pakietów dla Windows, przejęty przez Microsoft od oryginalnego autora i utrzymywany jako otwarte oprogramowanie na GitHubie. Niedawno doczekał się pierwszej wersji oznaczonej jako stabilna.
Od początku WinGet był dziwnym tworem, a entuzjazm wokół niego wydaje się niewspółmierny do jego możliwości. Program nie jest bowiem nawet, według ścisłej definicji, żadnym menedżerem pakietów. Jest jedynie zautomatyzowanym narzędziem do pobierania i uruchamiania nienadzorowanych instalatorów i umie zdecydowanie mniej niż jakikolwiek menedżer pakietów, w tym Chocolatey.
EXE to nie DEB
Nie może być inaczej. Instalatory EXE i MSI po prostu ze swojej natury nie spełniają już na wejściu wymagań niezbędnych do tego, by móc je traktować jako pakiety. O wiele bardziej nadaje się do tego narzędzie MSIX i format APPX Bundle, czyli kontener stosowany przez aplikacje Sklepu. Z tym, że... Sklep się nie przyjął. Obsługa klienta bywa marna dla użytkowników i programistów, dostęp jest płatny, a droga od ukończenia wersji do wypchnięcia jej do Sklepu potrafi być frustrująco długa. W sklepie Store brakuje tuzinów najpopularniejszych aplikacji i nie zanosi się na zmiany.
Nie są obecnie podejmowane aktywne kroki by zwiększyć popularność sklepu Windows oraz prawdziwie "pakietowego" formatu APPX. Zamiast tego stosowane są półśrodki, które być może wyglądają na mile widziane usprawnienie, ale w praktyce oddalają nas od rozwiązania problemu. Półśrodkiem tym jest robot menedżera WinGet, który przeszukuje GitHuba polując na manifesty pakietów. Gdy takowy znajdzie, dodaje go do repozytorium WinGet, jeżeli pakiet przejdzie automatyczną walidację.
Wszystko wolno
Odrzucenie walidacji przebiega najwyraźniej wyłącznie w krańcowych okolicznościach, jak wirus, awaria procesu instalacji lub uszkodzone dane. To oczywiście zdecydowanie za mało. Pozwala to nie tylko na zalew duplikatów oraz feerię substytucji, w których gorzej opisany lub starszy pakiet może "wypchnąć" lepszy i nowszy". Możliwe jest wprowadzanie pakietów jawnie mylących lub zintegrowanych z potencjalnie niechcianym oprogramowaniem.
Taka polityka w zautomatyzowanej moderacji skłania do podważania rozsądku twórców projektu. Chocolatey w ogóle nie ma takiego problemu i jest na podobne hece całkowicie niepodatny. Ale tu nie chodzi o to, że konkurencja jest "lepsza" (bardziej funkcjonalna). Stosując obecne kryteria dla WinGet, zespół inżynierów olbrzymiej firmy IT założył, że świat działa na zasadzie dobrotliwej komuny. Zbioru tysięcy spółdzielni pracy, kodujących niestrudzenie w walce o lepszy byt kolektywu.
Bezpieczeństwo!
Nie ma znaczenia, czy ten pogląd jest słuszny, czy nie. Liczy się to, że nie wolno zakładać jego prawdziwości, ze względu na podstawowe wytyczne dbałości o bezpieczeństwo. Menedżer projektu przyznał tymczasem, że reguły dotyczące moderacji dopiero zostaną opracowane. Taki stan rzeczy powinien sprzyjać skonkludowaniu, że od narzędzia WinGet należy się w obecnej formie trzymać z daleka.
Nie jest jasne, w jaki sposób obecność menedżera pakietów, pobierającego każdy "byle jaki" instalator, zniechęca twórców oprogramowania do stosowania porządnych instalatorów i pakowania swoich programów w bezpieczne kontenery dystrybuowane przez sklep Microsoft Store. Na pewno jednak ich do tego nie motywuje.