Awaria Microsoft ukazuje kłopotliwą cechę nowych Windowsów [OPINIA]
Windows 11 niedawno cierpiał na przewlekle popsute aktualizacje. Kolejne poprawki łatały błędy poprzednich, wydanych kilka dni wcześniej. Jedna z nich, zepsuła nawet Notatnik i Terminal. Aplikacje zgłaszały błąd pobierania licencji i odmawiały uruchomienia.
Ze względu na ten dość "clickbaitowy" komunikat systemowy, zaroiło się od wielu bardzo poważnych, ale niekoniecznie sensownych teorii spiskowych. Miała to być na przykład "próba" przed przełączeniem Windowsa w tryb abonamentowy albo wymuszenie użycia konta Microsoft (aplikacje nie działały jednak nawet z nim).
Dziedzictwo Windows 8
Problem w tym, że żadnej takie próby przeprowadzać. Infrastruktura gotowa do takiego działania została wprowadzona, jawnie, w 2012 jako jedna z istotnych funkcji Windows 8. I dotyczy ona aplikacji, nie systemu. Sklep Windows od początku był projektowany jako gotowe, samozawarte rozwiązanie, przeszczepione żywcem z ekosystemu telefonów. Cechy interesujące programistyczne, w postaci bardzo eleganckiego panierowania i czystych aktualizacji, były tylko jednym z elementów układanki. Nie mniej istotnym było licencjonowanie.
Aplikacje instalowane przez użytkownika są spięte z jego kontem Microsoft. Każda aplikacja, nawet bezpłatna, jest zaopatrzona w obsługę licencjonowania, zapewnioną przez Sklep. Pozwala to obsługiwać takie mało znane cuda jak zakupy w aplikacji (IAP), płatne dodatki i limity 10 komputerów na jedno konto. Dlatego Microsoft tak nalega na integrację z kontem online. Teoretycznie duża część sklepu działa bez niego, ale łatwo jest sprowokować problemy i ściągnąć na siebie uparte okienko logowania, klikając na jakiś zakamarek UI.
Pakietowe oprogramowanie
Microsoft zadecydował, że niektóre elementy systemu będą rozwijane szybciej, jeżeli oddzieli się je od monolitycznego, powoli wydawanego systemu operacyjnego, aktualizowanego wielogigabajtowymi poprawkami MSU. Zamiast tego, wiele aplikacji powłoki to pakiety sklepowe (APPX). Dotyczy to właśnie kilku elementów newralgicznych, jak właśnie Notatnik i Terminal. Aby użytkownik nie utknął w martwym punkcie, te dwa ostatnie składniki mają wewnątrz systemu swoje klasyczne, tradycyjnie dostarczane odpowiedniki (Notepad.exe i Conhost.exe).
Z tym, że nie wszystko poszło zgodnie z planem. Pomijając fakt, że nawet Sklep okazał się niewystarczająco elastyczny i flagowe oprogramowanie albo ma własne instalatory (Office, OneDrive, Edge) albo dziwne mieszańce (Teams, Outlook), to pakietowanie wszystkiego do sklepu ma duże zależy programistyczne, ale wprowadza problem w postaci polegania na licencjonowaniu.
Dobry pomysł?
Teoretycznie, decyzja Microsoftu nie była zła. Nie była nawet przesadnie odkrywcza: to samo zrobiono z Androidem. Ze względu na koszmarny poziom zależności od sprzętu, mnóstwo telefonów trwało na starych wersjach systemu nawet na całkiem niezłym sprzęcie. Dlatego komponenty WebView, Chrome i Gmail zostały wycięte z rdzennej dystrybucji i aktualizowane jako aplikacje sklepowe. Dzięki temu nawet posiadacze starszych systemów mieli dostęp do usług w najnowszych wersjach. Ponieważ systemy są aktualizowane zbyt wolno, znaleziono alternatywny kanał dystrybucji.
Microsoft zrobił to samo, ale gorzej. Po pierwsze przez pewien czas wydzielone aplikacje i tak pasowały tylko do najnowszych wersji systemu, więc i tak trzeba było aktualizować całość. Po drugie - i właśnie to okazało się problemem - nie zadbał o "fallback". Gdy Android straci licencję, aplikacja przestanie działać, fakt. Ale gdy nie będzie możliwe jej sprawdzenie, będzie działać dalej. Windows miał jeszcze więcej możliwości, by wprowadzić możliwość bezpiecznej obsługi awarii. W przypadku komponentów krytycznych, jak terminal i edytor plików tekstowych, należało zapewnić możliwość uruchomienia wersji wbudowanych pod nieobecność licencji na wersje "nowoczesne".
Licencjonowanie
W przeciwnym razie, awaria licencjonowania sprawia wrażenie, że obowiązkowa stała się subskrypcja na system operacyjny. A ze względu na kiepskie opinie dotyczące Windowsa 11, komentarze i hipotezy użytkowników były nieubłagane - mimo że błąd sprawiał problemy samym pracownikom i programistom Microsoftu! Problem z licencjonowaniem oprogramowania ukazał słabość podejścia opartego o pakietowanie składników systemu operacyjnego. Bez trybu fallback, wszelkie awarie będą dotkliwe dla rdzennych funkcji, "darmowe" aplikacje prędko okażą się licencjonowane i zależne od tej licencji, nominalnie tylko wartej zero złotych.
Wreszcie, Microsoft Store kolejny raz pokazuje, że jest rozwiązaniem wtórnym. Zmałpowanym z telefonów i adaptowanym do rzeczywistych potrzeb rynku ciągłymi poprawkami, które nie mogą jednak podkopać fundamentalnej architektury. Okazuje się więc już dobitnie, że Sklep jest doskonałym narzędziem dla programistów (zwłaszcza bo usunięciu wymagania płatnego certyfikatu dewelopera), akceptowalnym rozwiązaniem dla klientów (gdy działa) ale fatalnym pomysłem dla administratorów (zawsze).
Jest zbyt "konsumencki" by pokryć scenariusze masowe, nie nadaje się na repozytorium ponieważ nie ma systemu kontroli wersji wyprowadzonego przez API i uparcie udaje, ze takimi samymi "apkami" są program do obróbki dźwięku, gra z mikropłatnościami i okno wiersza poleceń terminala.
Dwa podejścia naraz
Podejście do aplikacji wbudowanych zawsze było schizofreniczne. Sklep jednocześnie miał być maksymalnie "konsumencki", ale jednocześnie pakietował aplikacje systemowe już od samego początku (pierwszy Edge i OneDrive, Ustawienia). Początkowo oferował wręcz aktualizacje (upgrades) całego systemu, umożliwiając pobieranie Windowsa 8.1. Prędko ktoś jednak poszedł po rozum do głowy i Windows 10 rozpowszechniano już przez klasyczne Windows Update.
Jest bardzo mało prawdopodobne, że Microsoft wyciągnie z ostatniej awarii właściwe wnioski. Zmiana podejścia do pakowania składników systemowych w pakiety sklepowe raczej nie nastąpi. Wątpliwe jest też, że pojawi się wspomniany "fallback" lub chociaż rewizja podejścia do licencjonowania aplikacji. Obiecano jednak zwiększyć dbałość o detale i jakość, kosztem prędkiego dostarczania nowych funkcji. Zobaczymy, co ostanie się z tych obietnic.
Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl