r   e   k   l   a   m   a
r   e   k   l   a   m   a

Fedora Next, czyli zwinna metodyka w projektowaniu linuksowej dystrybucji

Strona główna AktualnościOPROGRAMOWANIE

Fedora jest fantastyczna, zaawansowana technika, świetni ludzie, wysokie standardy, najlepsza dystrybucja dla entuzjastów. Ale jest przy tym trudna do wykorzystania jako podstawa, na której można budować, a to właśnie ekscytuje teraz i w przyszłości – to mówi Matthew Miller, jeden z głównych deweloperów dystrybucji Linuksa, której popularność wśród użytkowników jakoś nie może dorównać znaczeniu, jakie ma dla całego ekosystemu. Ale czy to dziwne, że większość użytkowników (w tym nawet doświadczeni programiści), którzy zdecydowali się na wolny system operacyjny wybiera Ubuntu czy którąś z jego dystrybucji pochodnych, a nie dystrybucję, którą często określa się jako worek bitów, tysiące niespecjalnie zintegrowanych pakietów?

Miller chce to zmienić, tak by kolejne wersje Fedory zaczęły powstawać w ramach „zwinnego i warstwowego” procesu projektowego, który przekształciłby system (pod względem architektury) w zbiór koncentrycznych „pierścieni”. Każdy z takich pierścieni, czy też warstw, miałby własny zbiór wymagań względem warunków wydania czy sposobu pakietowania, ustalany przez jego opiekunów niezależnie od pozostałych.

Podstawą dystrybucji miałby być Ring One – pierścień zapewniający podstawą funkcjonalność Fedory, nazwany też (zapewne aby sprowokować społeczność) Fedora Core. Nie chodzi tu jednak oczywiście o powrót do starego modelu Fedora Core + Extras, gdyż jak wyjaśnia Miller, podział miałby być przeprowadzony według zastosowań i sposobów działania, a nie tego, kto się czym zajmuje i gdzie pracuje. Ring One/Fedora Core pozostałoby projektem społeczności – minimalną, ale wciąż kompletną dystrybucją, której zadaniem byłoby wykorzystanie najnowocześniejszych opensource'owych technologii, na których wspierałyby się zewnętrzne pierścienie.

Wewnątrz Ring One wyróżniony miałby być Ring Zero: naprawdę minimalna Fedora, zbudowana zgodnie z ideą JEOS (Just Enough Operating System), czyli systemu, który zawiera tylko te komponenty, jakie niezbędne są do wsparcia uruchamianej aplikacji. W wielu scenariuszach (np. wdrażaniu aplikacji w chmurach) taka Fedora Ring Zero byłaby wszystkim, co potrzebowałby użytkownik, więc uzasadnione jest jej utrzymanie jako oddzielnego pierścienia.

Na zewnątrz tych pierścieni mamy Ring Two: Fedora Commons, czyli pierścienie środowisk i stosów – gdzie przez środowiska rozumie się np. desktopy takie jak KDE czy Xfce, w których uruchamiane są aplikacje użytkownika, a przez stosy, zbiory oprogramowania wykorzystywanego przez inne oprogramowania, np. języki, biblioteki czy serwery X/Wayland. Oczywiście o ile Ring One byłby wspólny dla wszystkich odmian Fedory, tak wersji Ring Two byłoby tyle, ile chcieliby deweloperzy pakietów – ktoś kto buduje środowisko do programowania w Javie może nie potrzebować tych wszystkich bibliotek i narzędzi do Pythona.

Co najważniejsze, w wielu wypadkach oprogramowanie z Ring Two nawet nie musiałoby korzystać z paczek RPM, tylko stosować swoje natywne metody zarządzania pakietami, np. gem, git czy pypy. Rozwijane byłoby też w swoim własnym tempie, niezależnie od rdzenia dystrybucji, według własnych reguł (np. mógłby tu nie obowiązywać zakaz wykorzystania własnościowego kodu). Dzięki zaś wzajemnej izolacji, mogłoby dojść do wzajemnego pokrywania się niektórych komponentów, np. bibliotek, jak i nadpisywania oprogramowania z warstw niższych w kontekście danego pierścienia.

Zwinna („agile”) metodyka programowania i projektowania jest często uważana za słowo-wytrych, służąca głównie do zamaskowania niedostatków inżynierskich. W tym jednak wypadku pomysł wydaje się dobry – dystrybucje obrastają w tłuszcz, pełne są rzeczy, które potrzebne są jedynie niewielkiemu podzbiorowi użytkowników, tak jak np. te wszystkie narzędzia do druku 3D, których wprowadzenie do Fedory 19 było jednym z głównych punktów na manifeście zmian. Wydzielenie ich do Fedora Commons umożliwiłoby szybszy rozwój rdzenia systemu, do którego użytkownicy dokładaliby to, czego faktycznie im potrzeba, rozwijanego przez zaangażowane społeczności w ich własnym tempie, nie blokującym wydań rdzenia.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.