Porzucenie Unity w Ubuntu – śmierć czy nowy początek?
Wstęp
No cóż, stało się to, co zapowiadało masę ludzi praktycznie od początku istnienia tego wynalazku. Mark Shuttleworth podjął decyzję o rzuceniu ich autorskiego środowiska i powrót na GNOME. Czyli po 7 latach (Unity weszło w 2011 roku, a właściwie pod koniec 2010 roku, powrót do GNOME ma nastąpić w 2018) Ubuntu wraca do korzeni i znowu będzie dystrybucją z czystym GNOME. Czy to jest decyzja, która pogrzebie ich marzenia o dominacji? A może to jest nowy początek? Spróbujmy się nad tym zastanowić.Szczypta historii
Unity po raz pierwszy pojawiło się w Ubuntu 10.10 Netbook Edition. W 2011 roku wraz z premierą Ubuntu 11.04 zrezygnowano z osobnej wersji dla netbook’ów i Unity trafiło do głównej dystrybucji jako środowisko mające być wygodne zarówno na małych, jak i dużych ekranach. Czy takie było – kwestia dyskusyjna. Miało zarówno zwolenników jak i przeciwników (i w sumie nadal ma). A czemu w ogóle powstało? No, główny powód to właśnie GNOME 3, do którego Canonical powróci w 2018 roku. Jak pewnie wiadomo, poprzednie wersje Ubuntu były dostarczane ze środowiskiem GNOME 2 (pomińmy społecznościowe remiksy), o którym też pisałem tutaj. Jednak nic nie trwa wiecznie i GNOME 2 się skończyło, a deweloperzy środowiska zaczęli pracować nad jego trzecią odsłoną. Problem w tym, że ich nowe założenia nie przypadły do gustu wielu użytkownikom.
GNOME 3 było krytykowane prawie wszędzie. Głównym zarzutem miałoby być odejście od tradycyjnej metafory pulpitu i zastąpienie ją bardziej abstrakcyjną. Zniknął pasek zadań czy minimalizacja okien – do zarządzania oknami miał teraz służyć ekran podglądu. Canonical (zapewne słusznie) stwierdził, że to nie spodoba się większości jego użytkowników i musiał coś wymyślić. A cóż miał zrobić? Siedzenie na GNOME 2 było pozbawione sensu – było porzucone, a jego fork, czyli MATE, dopiero raczkował. Może KDE? No, pomijając niechęć Canonical do KDE, to jednak Plasma 4 miała wtedy swoje problemy. LXDE? Zbyt ascetyczne dla wygodnego użytkownika Ubuntu. No to może XFCE? No cóż, to by w sumie mogło się udać, a dodatkowa para rąk od Canonical na pewno przyspieszyłaby rozwój tego środowiska. Tak się jednak nie stało i Canonical zaczął prace nad własnym środowiskiem. A właściwie własną nakładką na GNOME. W końcu, w Ubuntu 10.10 użytkownicy mogli podziwiać owoc ich prac. A jak się przyjął?
Raczej słabo. Krytykowane było praktycznie wszystko, co tylko dało się skrytykować. Ociężałość środowiska, jego inna forma (niby mniej wygodna od GNOME 2) a także niestabilność. Tak, Unity początkowo lubiło się sypać. Cóż, zawsze istniała wersja główna Ubuntu 10.10 z klasycznym pulpitem. Niestety, wersja 11.04 przyniosła Unity domyślnie. Nadal można było doinstalować panele GNOME (GNOME Session Fallback) i używać komputera po staremu, co pewnie większość robiła, chociaż Canonical się nie zrażał i dalej ulepszał swoje dziecko. Na uwagę zasługuje fakt, że po początkowych eksperymentach z oparciem Unity na Mutter (menedżer okien GNOME), zdecydowano się użyć Compiza argumentując to jego wyższą wydajnością. Cóż, Compiz wtedy ledwo żył i jasne było, że jego czas świetności przeminął – trzeba było zatrudnić ludzi, którzy pudrowaliby go tak, żeby jakoś działał. Problem z wysokimi wymaganiami rozwiązano (a raczej obeszli) wprowadzając Unity 2D – osobne środowisko pisane głównie w Qt, powielające układ i mechanizmy swojego grubszego brata. Wersja 2D w przeciwieństwie do „3D” nie była wtyczką do Compiza, tylko zbiorem komponentów składających się na środowisko. Co za tym szło nie wymagała akceleracji i mogła pracować z dowolnym menedżerem okien (domyślnie użyto Metacity). Unity 2D było przejściowym etapem i w październiku 2012 roku (wraz z premierą Ubuntu 12.10) zakończyło swój żywot. W międzyczasie uznano, że wersja 3D jest w stanie uruchomić się na słabszym sprzęcie i pojawił się także pierwszy LTS z Unity (Ubuntu 12.04 Precise Pangolin). Przez kolejne lata forma tego środowiska praktycznie się nie zmieniała. Dodawano tylko pomniejsze funkcje czy ustawienia, a także dopracowywano środowisko. Na tyle, że Unity 7 jest obecnie bardzo stabilnym i dopracowanym środowiskiem. Ale w międzyczasie pojawiło się coś ciekawszego – wersja ósma środowiska.
Unity 8 pomimo numerka miało niewiele wspólnego z poprzednimi wydaniami. Główną zmianą miał być fakt, że środowisko to miało działać na autorskim protokole i jednocześnie serwerze zwanym Mir, zamiast klasycznego i starego Xorg. I o nim pojawił się wpis na moim blogu tutaj. Ponownie nie zdecydowano się na wykorzystanie istniejących rozwiązań (Wayland), tylko postanowiono stworzyć koło od nowa. Powodem niewykorzystania Waylanda miały być niby złe praktyki jego deweloperów, którzy powielali błędy Xorga (co szybko okazało się bujdą i po interwencji deweloperów Waylanda, ten argument szybko znikł z wiki Ubuntu) oraz fakt, że Wayland nie pasuje do ambitnych założeń Canonicala w stworzeniu jednego środowiska na urządzenia mobilne i desktop. Ciekawy zarzut, zwłaszcza, że Wayland jest używany przez systemy mobilne jak Tizen czy Sailfish OS i działa tam bez problemu. No, ale mniejsza o to. Mir miał być pisany w C++ (w przeciwieństwie do C Waylanda), a Unity 8 miało być napisane w C++ i Qt z QML. Oczywiście nowa wersja, w przeciwieństwie do starej, miała zerwać związek z GNOME i być niezależnym środowiskiem. Układ środowiska czy mechanizmy miały pozostać te same – panel na górze i launcher po lewej stronie. A to wszystko pisane od zera na autorskim serwerze. Od tamtej pory kilkukrotnie słyszeliśmy zapowiedzi, jakoby Unity 8 i Mir miały być w coraz to kolejnych wersjach Ubuntu. W Ubuntu 13.10 mieliśmy dostać Unity 7 pracujące na Xmir i sesje Xorg obok na wszelki wypadek, w 14.04 miała zniknąć zapasowa sesja Xorg, a w 14.10 Unity 7 miało zostać zastąpione przez 8 wersje. Oczywiście do tego nie doszło i te wersje nadal używały starej wersji Unity na starym Xorgu. W maju 2016 roku ogłoszono, że Ubuntu 16.10 będzie miało wersję z Unity 8 obok (Mark Shuttleworth stwierdził, że będzie można pobrać Ubuntu z Unity 8 tak samo jak można pobrać Ubuntu z KDE czy innymi środowiskami). Remix z wykorzystaniem wyłącznie Unity 8 się nie pojawił, aczkolwiek środowisko to było już domyślnie preinstalowane. Kolejno ogłoszono, że wersja 17.04 ma używać domyślnie Unity 8. Niestety, zanim te zostało wydane, 5 kwietnia 2017 roku Mark ogłosił, że porzucają Ubuntu Touch i ich założenia wraz z Unity, a Ubuntu 18.04 będzie domyślnie używać GNOME 3.
I na tym się kończy burzliwa historia tego środowiska. Oczywiście, po ogłoszeniu jego śmierci, pojawiły się forki, mające na celu podtrzymać jego żywot i rozwijać je niezależnie od Canonical. Pojawiły się też głosy (a jakże), że Ubuntu powinno wykorzystać KDE. No cóż, nieobeznanych w nowinkach użytkowników Ubuntu czeka mały szok po update do 18.04.
Co teraz?
Czy wymyślanie koła od nowa miało sens? No cóż, osobiście Unity mi się podobało i gdzieś tak od Ubuntu 14.04 zaczęło być stabilnym i całkiem nieźle dopracowanym środowiskiem. Niestety mocno bolał fakt, że praktycznie nie istniało poza Ubuntu – wszystko przez nieoficjalne łatki Canonicala na biblioteki i komponenty GNOME (np. GTK), które żadna dystrybucja nie chciała mieć w repo. Potencjalny fork Unity 7 (o takim jeszcze nie słyszałem) musiałby działać na czystych wersjach, by pojawił się w repozytoriach niezależnych od Ubuntu dystrybucji.
Co jest przyczyną fiasku Canonical? Zbyt mało funduszy? Za bardzo ambitne założenia? Złe prowadzenie projektu? Sądzę, że wszystkiego po trochu. Wprawdzie Canonical był utrzymywany ze sporych rezerw pieniężnych Marka Shuttlewortha, to jednak rozwój szedł im dość powoli. Nie sposób było nie odnieść wrażenia, że coraz to nowsza wersja Ubuntu nie wprowadza nic konkretnego poza aktualizacją pakietów. Canonical obrał sobie teraz za cel chmury i IoT – co wydaje mi się logicznym posunięciem, gdyż tam Linux nie jest w niszy, jak to jest na desktopie i może coś ugrać. Wszakże Red Hat zarabia dużo na swoim komercyjnym Linuksie i nawet nie próbuje pakować się na desktop czy urządzenia mobilne. Zastanawiam się tylko, czy fiask Canonical nie daje do zrozumienia tego, że Linux na destkopie póki co jest skazany na bycie w niszy i to się raczej nie zmieni w najbliższym czasie. No, faktem jest, że Canonical popełnił dużo błędów, ale nie sposób nie zauważyć, że rynek desktopów jest póki co nieprzyjazny dla Linuksa. I to zapewne wcale nie chodzi o pieniądze, bo Microsoft też ma spore problemy z wypromowaniem swojego systemu na rynku mobilnym, zdominowanym przez Androida (komu jak komu, ale im pieniędzy nie brakuje). To w takim razie o chodzi? Mieliśmy już parę przypadków zrzucenia monopolisty ze stołka (pamiętny Internet Explorer), a jednak, Windows i Android mocno trzymają się swoich rynków i nie dają wejść nikomu innemu, pomimo tego, że oba nie są ideałami, bo wiadomo, że popularność nie oznacza jakości, zwłaszcza w IT. Czy w tym momencie czekają nas „chude lata” Linuksa na desktopie? Jeden z graczy promujących Linuksa na desktop właśnie postanowił przestawić się na chmury i IoT. Ale zapowiadają też współpracę z deweloperami GNOME. Czy ta współpraca nie da kopa Linuksowi? Często fragmentacja (aczkolwiek nie zawsze poprawnie) jest wskazywana jako problem Linuksa na desktopie – no to teraz mamy sytuację, gdzie ktoś połączył siły. Skoro Unity 8 umarło (Mir ponoć nadal ma być wykorzystywany) Wayland wygrał starcie o tytuł następcy Xorg. Więc paradoksalnie może być tak, że wycofanie się Canonical z ich własnych rozwiązań pomoże pulpitowi Linuksowemu. A co do samego Canonical – Linux w IoT i w chmurze ma dużo większy potencjał niż na desktopie, z powodu swojej modularnej i wolnej (od wolności oczywiście) natury, tak więc mają szansę zacząć w końcu zarabiać i to nie mało, jeżeli tylko dobrze wykorzystają potencjał. Pod warunkiem, że przestaną śnić i zmierzą się z rzeczywistością.
A co do „roku Linuksa” to mimo wszystko moim zdaniem idzie to w dobrym kierunku. Flatpaki (i jemu podobne), Wayland itd. - to wszystko zmierza ku desktopowi. A popularność Linuksa w innych sektorach rynku, ma też szansę ruszyć go na desktopie.
Epilog
Myślę, że to na tyle z mojego dumania. To co się stało uważam za szansę ku poprawie sytuacji Linuksów na biurku. A nawet jeżeli nie, to i tak będę używał tego systemu – wkońcu nie używam go dla słupków popularności, ale dla zalet, jakie mi daje. Pozostaje tylko dalej obserwować rynek i czekać na rozwój sytuacji. Może coś się stać, a może nie stać się nic. Nie wiadomo. W końcu Canonical już używał kiedyś GNOME. Mimo wszystko to nie ta sama sytuacja, gdyż Linux od 2011 roku się rozwinął i rozwija się nadal. Pojawienie się rozwiązań na jego najczęściej wytykane bolączki (przestarzały system okien czy zależności utrudniające dystrybucje oprogramowania komercyjnego) właśnie o tym świadczą.