Fedora Next, czyli zwinna metodyka w projektowaniu linuksowej dystrybucji

Strona głównaFedora Next, czyli zwinna metodyka w projektowaniu linuksowej dystrybucji
23.07.2013 16:41
Fedora Next, czyli zwinna metodyka w projektowaniu linuksowej dystrybucji
bDYujOWe

Fedora jest fantastyczna, zaawansowana technika, świetniludzie, wysokie standardy, najlepsza dystrybucja dla entuzjastów. Alejest przy tym trudna do wykorzystania jako podstawa, na której możnabudować, a to właśnie ekscytuje teraz i w przyszłości –to mówi Matthew Miller, jeden z głównych deweloperów dystrybucjiLinuksa, której popularność wśród użytkowników jakoś nie możedorównać znaczeniu, jakie ma dla całego ekosystemu. Ale czy todziwne, że większość użytkowników (w tym nawet doświadczeniprogramiści), którzy zdecydowali się na wolny system operacyjnywybiera Ubuntu czy którąś z jego dystrybucji pochodnych, a niedystrybucję, którą często określa się jako worek bitów,tysiące niespecjalniezintegrowanych pakietów?Miller chceto zmienić, tak by kolejne wersje Fedory zaczęły powstawać wramach „zwinnego i warstwowego” procesu projektowego,który przekształciłby system (pod względem architektury) w zbiórkoncentrycznych „pierścieni”. Każdy z takich pierścieni,czy też warstw, miałby własny zbiór wymagań względem warunków wydaniaczy sposobu pakietowania, ustalany przez jego opiekunów niezależnieod pozostałych.[img=fedora-opener]Podstawą dystrybucji miałby byćRing One – pierścień zapewniający podstawą funkcjonalnośćFedory, nazwany też (zapewne aby sprowokować społeczność) FedoraCore. Nie chodzi tu jednakoczywiście o powrót do starego modelu Fedora Core + Extras, gdyż jakwyjaśnia Miller, podział miałby być przeprowadzony według zastosowańi sposobów działania, a nie tego, kto się czym zajmuje i gdziepracuje. Ring One/Fedora Core pozostałoby projektem społeczności –minimalną, ale wciąż kompletną dystrybucją, której zadaniem byłobywykorzystanie najnowocześniejszych opensource'owych technologii, naktórych wspierałyby się zewnętrzne pierścienie.Wewnątrz Ring One wyróżnionymiałby być Ring Zero: naprawdę minimalna Fedora, zbudowana zgodnie zideą JEOS(Just Enough Operating System), czyli systemu, który zawiera tylko tekomponenty, jakie niezbędne są do wsparcia uruchamianej aplikacji. Wwielu scenariuszach (np. wdrażaniu aplikacji w chmurach) taka FedoraRing Zero byłaby wszystkim, co potrzebowałby użytkownik, więcuzasadnione jest jej utrzymanie jako oddzielnego pierścienia. [img=fedora-rings]Na zewnątrz tych pierścieni mamyRing Two: Fedora Commons, czyli pierścienie środowisk istosów – gdzie przezśrodowiska rozumie się np. desktopy takie jak KDE czy Xfce, w którychuruchamiane są aplikacje użytkownika, a przez stosy, zbioryoprogramowania wykorzystywanego przez inne oprogramowania, np.języki, biblioteki czy serwery X/Wayland. Oczywiście o ile Ring Onebyłby wspólny dla wszystkich odmian Fedory, tak wersji Ring Twobyłoby tyle, ile chcieliby deweloperzy pakietów – ktoś ktobuduje środowisko do programowania w Javie może nie potrzebować tychwszystkich bibliotek i narzędzi do Pythona. Co najważniejsze, w wieluwypadkach oprogramowanie z Ring Two nawet nie musiałoby korzystać zpaczek RPM, tylko stosować swoje natywne metody zarządzaniapakietami, np. gem, git czy pypy. Rozwijane byłoby też w swoimwłasnym tempie, niezależnie od rdzenia dystrybucji, według własnychreguł (np. mógłby tu nie obowiązywać zakaz wykorzystaniawłasnościowego kodu). Dzięki zaś wzajemnej izolacji, mogłoby dojść dowzajemnego pokrywania się niektórych komponentów, np. bibliotek, jaki nadpisywania oprogramowania z warstw niższych w kontekście danegopierścienia.Zwinna („agile”)metodyka programowania i projektowania jest często uważana zasłowo-wytrych, służąca głównie do zamaskowania niedostatkówinż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. tewszystkie narzędzia do druku 3D, których wprowadzenie do Fedory 19było jednym z głównych punktów na manifeście zmian. Wydzielenie ichdo Fedora Commons umożliwiłoby szybszy rozwój rdzenia systemu, doktórego użytkownicy dokładaliby to, czego faktycznie im potrzeba,rozwijanego przez zaangażowane społeczności w ich własnym tempie, nieblokującym wydań rdzenia.

bDYujOVx
Udostępnij:
bDYujOWv