Linus chce změnit značení verzí jádra

Petr Krčmář 17. 7. 2008

Více než deset let jsme byli zvyklí na verzování jádra podle nových vlastností a odlišování stabilních a vývojářských verzí sudými a lichými verzemi. Systém se ale změnil a Linus se obává matoucích a příliš vysokých verzí a rád by přijal nový způsob označování verzí. Jaké jsou konkrétní návrhy?

Jak je to s verzemi jádra?

V podstatě od začátku vývoje linuxového jádra byl udržován jednotný verzovací systém označovaný jako X.Y.Z. Tři čísla oddělená tečkou měla pevně daný význam: X udávalo generaci jader a měnilo se velmi zřídka. Sudé Y označovalo stabilní řadu, liché pak vývojovou větev, která nebyla určena pro běžné uživatele. Z pak značilo konkrétní verzi jádra v té které stabilní či nestabilní větvi.

První stabilní jádro vyšlo v březnu roku 1994 a bylo označeno jako 1.0.0. Zároveň vznikla vývojová větev 1.1.0, do které byly vkládány změny. Z ní pak vzešla nová stabilní řada 1.2.0 a tak dále. Tento vývojový model byl udržován v nezměněné podobě také při vývoji stabilních řad 2.2, 2.4 a 2.6. Ve chvíli, kdy se Linus Torvalds rozhodl otevřít novou vývojovou (lichou) řadu, dostalo aktuální stabilní jádro svého správce, který se o něj nadále staral.

Tento model vývoje a označování verzí byl považován za naprostý standard po více než deset let. Pak se jej v roce 2004 rozhodli vývojáři změnit. Linus se společně s Andrewem Mortonem rozhodl přejít na obvyklejší vývojový model, který využívá většina softwarových projektů „ vývoj mezi jednotlivými stabilními verzemi.

Namísto paralelního vývoje ve dvou větvích tak vývoj přešel na klasický cyklus, kdy je jeden zdrojový kód neustále upravován, jednou za čas je stabilizován, otestován a vzejde z něj jedna nová verze. Tímto způsobem jsou již mnoho let vyvíjena jádra řady 2.6 a žádná vývojová řada 2.7 neexistuje.

Dojde ke změně?

Z dnešního pohledu je tedy trojčíselný způsob označování verzí zcela zbytečný a můžeme jej označit za přežitý. Proto nyní ve vývojářské konferenci padla otázka, jak bude vývoj vypadat, až vyjde verze 2.7 a co to bude přesně znamenat?

Vůbec nic. Nehodlám se vrátit ke starému modelu. Nový model je podstatně lepší, takže nemá vůbec smysl se bavit o návratu. Zvažuji tedy jen změnu verzování. Nechci návrat ke starému modelu, ale stabilní zvyšování verze vede k velkým číslům. Rozhodně nejsem nadšený z čísla ‚26‘, které je velmi obtížně zapamatovatelné.

Je tedy zřejmé, že aktuální vývojový model se osvědčil a Linus je s ním spokojený. Sám si ale uvědomuje zastaralost aktuálního označování verzí a aktuální jádro 2.6.26 už má podle něj příliš vysoké číslo verze. Linus se tak chce vyhnout verzím jako 2.6.168 a podobně.

Dalším důvodem pro změnu je změna cyklu vydávání. Dříve byly testovací verze vydávány vždy podle nových vlastností. Pokud se jich nakupilo větší množství, vývojáři zveřejnili další verzi. Nyní ale nové verze vycházejí v pravidelných časových cyklech, nezávisle na novinkách. Testovací verze vycházejí ve dvoutýdenních cyklech, stabilní vydání pak přicházejí přibližně jednou za dva měsíce.

Myslím, že pravidelná vydání jsou tak úspěšná, že bych rád vyměnil i verzovací model. Nevydáváme na základě nových vlastností, takže proč bychom měli na základě nových vlastností číslovat?

Co Linus navrhuje?

Pravidelný vývojový model by měl mít také pravidelné verzování. Stejný způsob používá například linuxová distribuce Ubuntu, která vychází ve zcela pravidelných cyklech vždy jednou za půl roku. Tomu je logicky přizpůsobeno i číslování verzí: letošní verze z dubna je označena rokem a měsícem jako 8.04 a příští verze, která vyjde v říjnu, ponese označení 8.10.

Linus navrhl několik nových řešení, založených na pravidelných cyklech, která by nevedla k příliš vysokým a nezapamatovatelným číslům.

Pokud budou verze založeny na datech, pak bychom místo 2.6.26 měli mít spíše 2008.7. Nebo můžeme hlavní [major] verzi zvýšit po každé dekádě, střední pak každý rok a nejnižší [minor] pokaždé, kdy uvolníme vydání. Jakkoliv. Mohli bychom u druhého čísla vycházet také z roku vydání, takže 2008 by dalo 2.8 a první vydání roku 2009 by bylo označeno jako 2.9.1. A 2010 by bylo 3.0.1.

Linus se chce také vyhnout „nulovým“ vydáním, která by mohla opět uživatele zmást. Vyhnul bych se ‚.0‘, protože to opět vypadá jako ‚nové velké neotestované vydání‘, což není ve schématu založeném na datech pravda.

Anketa

Jak by měla vypadat verze jádra v roce 2009?

Co dál?

Linus původně plánoval prezentovat nové verzování až na nadcházejícím Linux kernel summitu, ale když už byla otázka položena, nebyl důvod na ni neodpovědět. Celá otázka tedy bude ještě probírána v širším kruhu vývojářů a bude zřejmě široce diskutována.

Navíc Linus sám ještě není pevně rozhodnut, které řešení by bylo nejvýhodnější pro vývojáře i uživatele. Je tedy možné, že někdo přijde se zajímavějším způsobem verzování, takže vše může být nakonec ještě jinak.

Musím říct, že ještě nemám žádný pevný názor na nové číslování verzí. Každopádně souhlasím s tím, že ‚velká nesmyslná čísla‘ jsou špatná. Číslo ‚26‘ je už docela velké. Řada 2.4.x má navíc už nyní vyšší čísla.

Debata ve vývojářské konferenci pokračuje, názorů je samozřejmě hodně, ale je zřejmé, že by se měl model změnit. Zatím ale rozhodně není jisté jak. Co si o tom myslíte vy?


Citáty a údaje čerpány z KernelTrap.org.

Našli jste v článku chybu?
Vitalia.cz: Očkování je nutné, říká homeopatka

Očkování je nutné, říká homeopatka

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Lupa.cz: Olympiáda zakázala GIFy. Moc to nepomáhá

Olympiáda zakázala GIFy. Moc to nepomáhá

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Měšec.cz: Investiční pasti. Děláte to, co ostatní, ale proděláváte

Investiční pasti. Děláte to, co ostatní, ale proděláváte

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

Podnikatel.cz: Pozor na vykuky, imitují služby České pošty

Pozor na vykuky, imitují služby České pošty

Podnikatel.cz: OSA zdraží, ale taky přidá nový poplatek

OSA zdraží, ale taky přidá nový poplatek

Lupa.cz: Samořídicí taxíky jsou tu. Začíná s nimi Uber

Samořídicí taxíky jsou tu. Začíná s nimi Uber

DigiZone.cz: AXN u FreeSatu měsíc zdarma

AXN u FreeSatu měsíc zdarma

Měšec.cz: Co když na dovolené přijdete o kartu?

Co když na dovolené přijdete o kartu?

Lupa.cz: Elektronika tajemství zbavená. Jak s ní začít?

Elektronika tajemství zbavená. Jak s ní začít?

Vitalia.cz: 9 potravin, které nesmí chybět v jídelníčku těhotné

9 potravin, které nesmí chybět v jídelníčku těhotné

Podnikatel.cz: Česká pošta vycouvala ze služby ČP Cloud

Česká pošta vycouvala ze služby ČP Cloud

Vitalia.cz: Musí moudrák opravdu ven?

Musí moudrák opravdu ven?

Lupa.cz: Nechcete datacentrum? Jsou na prodej

Nechcete datacentrum? Jsou na prodej

120na80.cz: Lepší poporodní sexuální život? Žádný problém

Lepší poporodní sexuální život? Žádný problém

Vitalia.cz: Vakcína Cervarix je oficiálně i pro chlapce

Vakcína Cervarix je oficiálně i pro chlapce

Root.cz: Xiaomi má vlastní notebook podobný Macu

Xiaomi má vlastní notebook podobný Macu

DigiZone.cz: Jetelín končí. Prima ho vyřadila

Jetelín končí. Prima ho vyřadila