Pomysły deweloperów GNOME mogą ułatwić instalowanie na Linuksie oprogramowania spoza repozytoriów
Instalowanie aplikacji na Linuksie było zawsze zarazem iłatwiejsze i trudniejsze, niż na Windows czy OS-ie X. Łatwiejsze,gdy dana aplikacja znajdowała się w oficjalnych repozytoriachoprogramowania wybranej dystrybucji – wówczas wystarczyłoskorzystać z menedżera pakietów, czy wręcz „sklepu zaplikacjami”, jak to jest w wypadku Ubuntu. Trudniejsze, gdy danejaplikacji w żadnym repozytorium nie było: wówczas w grę wchodziłyzmagania z samodzielną kompilacją, przystosowywaniem obcychpakietów do swojego systemu, czy stosowaniem rozmaitych skryptówinstall.sh z konsoli, nierzadko robiących niezły bałagan wplikach. Producenci oprogramowania mogli oczywiście umieścić naswoich stronach pliki .deb czy .rpm – pakiety dla danejdystrybucji, ale nie było żadnej gwarancji, że zainstalują sięone poprawnie: .rpm dla Fedory mógł, ale nie musiał zainstalowaćsię na OpenSUSE, .deb dla Ubuntu mógł, ale nie musiał działać wDebianie.Przeciwko tej izolacji linuksowego oprogramowania, utrudniającejżycie i użytkownikom i niezależnym od danej dystrybucjideweloperom (a w szczególności producentom niewolnego software'u,np. gier) chcą wystąpić deweloperzy środowiska graficznego GNOME.Podczas ostatniej konferencji FOSDEM 2013 w Brukseli, z inicjatywyAleksandra Larssona rozpoczęto prace nad projektem, który miałbydoprowadzić do stworzenia uniwersalnegoformatu pakowania linuksowych aplikacji, porównywalnego zandroidowym .apk czy OS X-owym .dmg. Taki uniwersalny pakiet byłby jednym plikiem, zawierającymzarówno uruchamialny kod, jak i wszystkie wymagane biblioteki i danekonfiguracyjne. Instalacja możliwa byłaby po sprawdzeniu przezsystem manifestu, zawierającego listę wymagań, które musiałbyspełniać system, aby uruchomić aplikację. I tak deklaracja bareoznaczałaby, że aplikacjiwystarczy sam linuksowy kernel, zaśgnome-platform-1.0byłoby wymogiem obecnościcałego zestawu bibliotek i toolkitów środowiska GNOME. Po tym, gdyaplikacja określiłaby w ten sposób swoje wymogi, byłyby onewszystkim, co dla aplikacji udostępniono.[img=pakiet]Proponowany system służyć mabowiem nie tylko łatwej instalacji oprogramowania, ale też iskrajnej jego izolacji. Całe środowisko uruchomieniowe aplikacjimiałoby być odizolowane od reszty systemu, utrzymywane we własnychkontenerach. Dzięki temu nie byłoby problemów z niekompatybilnymiwersjami bibliotek w systemie, ani też niespełnialnymizależnościami. Od środka kontener taki wyglądałby jak minimalnysystem plików Linuksa, z poszczególnymi komponentami aplikacjiumieszczonymi w katalogach /usr, /bin czy /lib, i nie miałbybezpośredniego dostępu do katalogu domowego użytkownika.Komunikację pomiędzy takodizolowanymi aplikacjami miałby zapewnić system „portali”,przypominający androidowe intencje. Aplikacje mogłyby świadczyćpewne usługi – np. otwieranie listy plików czy wyświetlaniepodglądu tekstu, a usługi te mogłyby być zamawiane przez inneaplikacje, oczywiście pod warunkiem, że użytkownik przyzna imtakie uprawnienia. Wymiana informacji odbywać się miałaby pomagistrali D-Bus, poprzez protokół Inter-Process Communication,działający bezpośrednio na poziomie jądra.Pomysł wzbudził niemałezainteresowanie społeczności, ale jego realizacja nie będziełatwa. Pewne rozwiązania w zakresie komunikacji między takimiizolowanymi kontenerami aplikacyjnymi już istnieją, ale nigdy niezostały przyjęte do jądra. Dodatkowo sama magistrala D-Bus działaw warstwie użytkownika i nie wiadomo, jak zapewnić jej dostęp dowielu przestrzeni nazw (każdy kontener miałby mieć własnąprzestrzeń nazw). Nie wiadomo też jak uniknąć obrastania systemuw „tłuszcz”, gdy każdy z kontenerów będzie zawierał kompletybibliotek, wielokrotnie powielanych na dysku.Trudno orzec, co wyjdzie z tejinicjatywy twórców GNOME. Ostatnio zaskoczyli (niezbyt chybaszczęśliwym?) pomysłem wykorzystaniaJavaScriptu jako głównego języka programowania aplikacji naich pulpit, teraz proponują największą rewolucję od czasuwymyślenia formatów .rpm i .deb. Cieszą się przy tym sławątych, którzy zupełnie nie oglądają się na opinie użytkowników.Czy tym razem uda im się trafić w ich potrzeby?