Dystrybucje Linuksa to nuda. Programiści odchodzą w stronę GitHuba
Wczorajsze 23. urodziny Linuksa skłaniają do refleksji nad jegoprzyszłością – szczególnie tam, gdzie przyszłość ta niewygląda tak różowo, jak na superkomputerach czy smartfonach.Potwierdzały to Waszekomentarze, w których nieraz przedstawialiście mocne zarzutyprzeciwko współczesnym linuksowym dystrybucjom. Ale problemy widzątakże ci, którzy nad linuksowymi dystrybucjami pracują. Swojeobawy przedstawił niedawno Matthew Miller, stojący dziś na czelespołeczności Fedory. Widzi on zagrożenie dla dalszego rozwojudystrybucji Linuksa tam, gdzie raczej nikt do tej pory go nie widział– w społecznościowych serwisach z kodem, takich jak GitHub.
26.08.2014 | aktual.: 27.08.2014 12:25
Przez wiele lat na konferencji LinuxCon, jednej z najważniejszychdla Linuksa corocznych imprez, centralne miejsce zajmowały stoiskatwórców rozmaitych darmowych dystrybucji, takich jak OpenSUSE,Fedora czy Gentoo. W tym roku w Chicago nie było ani jednego takiegostoiska – zauważa Miller, podkreślając, że przyczyną wcale niesą kłopoty finansowe. Od lat 2005-2006, kiedy to zainteresowanielinuksowymi dystrybucjami osiągnęło swój szczyt, uwaga zarównoprogramistów Open Source jak i szeregowych użytkowników kierujesię w inne strony.
Widać to dobrze w statystykach dostarczanych przez Trendy Google.Na poniższym wykresie wyraźnie widać przypadający na 2005 rokszczyt zainteresowania Fedorą i Debianem – i kolejne 10 lat,podczas których te najpopularniejsze dystrybucje utraciły tak wielez rozgłosu, dziś z trudem utrzymując niską, choć stałąobecność w mediach online. Po części można to wytłumaczyćpojawieniem się Ubuntu, którego sukces koreluje wyraźnie zmalejącym zainteresowaniem Fedorą i Debianem, ale i Ubuntu doszłodo swojego szczytu około 2008 roku, by w naszych czasach wrócić dopoziomu popularności z 2006 roku.
Tłumaczyć ten stan rzeczy można na wiele sposobów. Jedną zchętnie przywoływanych interpretacji jest np. wzrost popularnościsystemu OS X. Niejeden deweloper w końcu zmęczył się„problematycznością” Linuksa na laptopach, zamieniając swójsprzęt z niedziałającą kamerką czy rozłączającym się WiFi naMacBooka, w którym wszystko działa dobrze – i zamiast walczyć zkonfiguracją przesyłania plików między urządzeniami poBluetooth, można po prostu pliki te przesłać, bez grzebania wplikach konfiguracyjnych. Matthew Miller wskazuje jednak na cośinnego. Maleje otóż znaczenie linuksowych dystrybucji jako głównegomedium dystrybucji oprogramowania o otwartym kodzie źródłowym.
Początkowo otwarte oprogramowanie było dostarczane po prostujako kod w paczkach tar.gz, do samodzielnego pobrania ze stronprojektu i skompilowania przez zainteresowanego użytkownika. Starsiużytkownicy GNU/Linuksa pewnie dobrze pamiętają, ile to narzędziinstalowali w swoich systemach kombinacją poleceń ./configure,make, make install – w nadziei, że proces budowania zakończy siępowodzeniem. Duże linuksowe dystrybucje, z ogromnymi repozytoriamioprogramowania niezależnych programistów, zmieniły ten stan rzeczy– tak Debian ze swoimi pakietami .deb, jak i Fedora z pakietami.rpm znacząco uprościły dostępność oprogramowania dlaużytkowników. Sami deweloperzy zaczęli więc starać się, by ichnarzędzia trafiały do popularnych dystrybucji, zapoczątkowując wten sposób symbiotyczną relację między obiema stronami.
Pojawienie się GitHuba skończyło te miodowe lata. Deweloperzyoprogramowania Open Source nagle dostali wygodne narzędzia dopublikacji swojego kodu w standardowym formacie, wraz z niezbędnyminarzędziami do zarządzania tym wszystkim. Odwiedzając stronydomowe popularnych projektów można więc dziś coraz częściejznaleźć na nich komunikat fork us on GitHub.Coraz rzadziej widać komunikaty w stylu jesteśmy wFedorze. Linuksowe dystrybucje,niegdyś stewardzi otwartego oprogramowania, dziś stają się dlaprogramistów jakby… zbędnymi pośrednikami.
Na GitHubie jest dziś około 15milionów repozytoriów. Liczba pakietów dostępnych w Fedorze jesto trzy rzędy wielkości mniejsza (ok. 18 tys.). Nawet jeśli uznać,że 90% tego wszystkiego z GitHuba to śmieci, to wciąż ilośćoprogramowania wartego uwagi daleko przekracza wszelkie możliwościtwórców linuksowych dystrybucji do odpowiedniego tego zapakowania.Oprogramowanie to jest coraz częściej neutralne względemsystemowej platformy – równie dobrze można je uruchomić nasprzęcie Apple'a, co na laptopie z Windows (o ile ktoś się postaraprzygotować sobie na Windows właściwe środowisko uruchomieniowe).
W świecie Linuksa coraz więcejsię też mówi w ogóle o odejściu od pakietów – zastępując jekontenerami aplikacyjnymi, np. coraz popularniejszym Dockerem.Izolacja zasobów kontrolowana przez jądro Linuksa pozwala nauruchamianie niezależnie od siebie oprogramowania, bez narzutuzwiązanego z uruchamianiem maszyn wirtualnych. Zamknięta wkontenerze apikacja ma dzięki wykorzystaniu mechanizmu przestrzeninazw jądra kompletnie wydzielony widok na sieć, systemy plików,drzewa procesów czy identyfikatory użytkowników, podczas gdymechanizm cgroups pozwala na wydzielanie kontenerowi określonychzasobów pamięci operacyjnej, pamięci masowej, mocy obliczeniowejoraz I/O. Stąd też slogan Dockera: zbuduj, wyślij iuruchom dowolną aplikację, gdzie tylko chcesz.[yt=http://www.youtube.com/watch?v=ZzQfxoMFH0U]
W ślad za Dockerem idą jeszczebardziej radykalne rekonstrukcje Linuksa. Wielkie zainteresowaniewywołał CoreOS – forkgoogle'owego ChromeOS-a, w którym zrezygnowano z klasycznychmenedżerów pakietów, zmuszając wszystkie aplikacje do działaniawe własnych kontenerach. System ten został zaprojektowany tak, byułatwić automatyzację i wdrażanie kontenerów, dostarczającjedynie mechanizmy współdzielenia konfiguracji i wzajemnegowykrywania usług. Ten ogromnie już nieuniksowy w swojejarchitekturze Linux z klasycznymi dystrybucjami ma tyle wspólnego,że wykorzystuje do startu demona inicjalizacji systemd – i wieluwidzi w nim przyszłość Linuksa.
Anatomy of a CoreOS Update
Klasyczne dystrybucje stoją więcdziś przed dylematem. Pozostając tym, czym były do tej pory,ryzykują dalszą marginalizacją. Próbując się upodobnić dokomercyjnych systemów operacyjnych, takich jak Windows czy OS X,ryzykują przeszacowaniem swoich możliwości (a i tak w ten sposóbnie zdobędą rynku, bo rynek zdobywa się nie możliwościamitechnicznymi, lecz umowami partnerskimi). Wybierając zaś drogęminimalizacji, na podobieństwo CoreOS-a, tracą całąindywidualność, jaką do tej pory wypracowały – i ryzykujązantagonizowanie swoich dotychczasowych użytkowników. Zapewne różnebędą drogi, którymi pójdą ich twórcy, więc możemy spodziewaćsię w najbliższych latach, że sporo się zmieni wśród tych 286aktywnie dziś utrzymywanych dystrybucji.