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.

widgety

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: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

Lupa.cz: Aukro.cz mění majitele. Vrací se do českých rukou

Aukro.cz mění majitele. Vrací se do českých rukou

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

DigiZone.cz: Numan Two: rozhlasový přijímač s CD

Numan Two: rozhlasový přijímač s CD

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Podnikatel.cz: ČSSZ posílá přehled o důchodovém kontě

ČSSZ posílá přehled o důchodovém kontě

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Lupa.cz: Cimrman má hry na YouTube i vlastní doodle

Cimrman má hry na YouTube i vlastní doodle

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Podnikatel.cz: Tyto pojmy k #EET byste měli znát

Tyto pojmy k #EET byste měli znát