Hlavní navigace

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

Petr Krčmář

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?

17. 7. 2008 10:16

x (neregistrovaný)
Další důvod pro změnu číslovaní co nejdřív - zbavit se takovejch idiotů komunitě jen prospěje. :))

17. 7. 2008 11:09

Radek Tondra (neregistrovaný)
Líbí se mi ta myšlenka.. 2010 by bylo 3.0.1....

Až se lidé leknou velkých čísel v označení roků a přejde se na Linuxové roky, bude úžasné sledovat ty hádky a zmatky kolem roků 1.0.1. a 2.0.1. u kterých nikdo nebude vědět, kdy přesně byly a jak dlouho vlastně trvaly.

Teologové budou muset podrobně prozkoumat i to, zda existuje nějaký rok 0 a zda se v té chvíli narodil Linus nebo ne!



Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Měšec.cz: 6 změn v novele občanského zákoníku

6 změn v novele občanského zákoníku

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla