Linuxspalten nr 7 2008
Tre patchar i timmen
Att Linux inte står stilla vet säkert de flesta, men hur stort projektet nu blivit kanske färre är på det klara med. Linux kärna, 2.6.25, består idag av 9 miljoner rader källkod. Ser vi tillbaka över de senaste tre åren är det en ökning med 10 procent per år.
Med introduktionen av 2.6.x seriens kärnor togs för tre år sedan ett antal viktiga beslut under ”2005 Kernel Developer Summit” i Ottawa. Det beslöts då att en ny stabil kärna skulle släppas var tredje månad. Att varje release skulle vara ”major” och innehålla nya funktioner och nya APIer, gränssnitt. Den snabba takten av nya ”stabila” kärnor skulle, ansåg man, leda till en mer hållbar utveckling av Linuxkärnan som helhet. Problem med olika distributioners varianter av Linuxkärnan skulle minimeras, färre skulle behöva anpassa kärnan separat vilket skulle ge högre stabilitet och Linuxanvändare skulle med detta också ges en snabbare tillgång till ny och vidareutvecklad kod.
Varje patch som tillförs Linuxkärnans källkodsträd ska enligt regelboken ge en ny kärna som fortfarande ska kunna byggas korrekt och fungera som tidigare. Detta kräver att utvecklarna bryter ner sina förändringar till små och hanterbara logiska block som är möjliga att godkänna separat.
Bland dem som godkänner patchar finns både enskilda utvecklare och företag. Red Hat, som den största enskilda utvecklaren av ny kod, har de godkänt 4 185 av patcharna för den nya kärnan. Intressant är att Google hamnar som nummer två och har godkänt 1 516 patchar av de totalt 13 228 patchar som byggts in i 2.6.25. Kodmassan har ökat med 367 tusen rader, 766 tusen rader har lagts till och omkring 400 tusen rader har tagits bort.
Antalet utvecklare som bidragit till den senaste kärnan är 1 174 stycken. Något som kan ställas i relation till Bill Gates Microsoftimperium som säger att man har 38 000 personer anställda i sina affärsgrupper. Hur många av dessa som arbetar med programvaruutveckling ska jag låta vara osagt. Vad vill jag nu ha sagt med att detta?
Jo att även Linux sitter i samma båt som Microsoft och andra mjukvaruföretag. Vi klagar ofta på alla säkerhetsuppdateringar i Windowsvärlden. Förändringstakten i Linux ökar för varje år, för varje månad, ja faktiskt, varje timme. Jag klickar på min uppdateringshanterare, som återigen blinkar på uppmärksamhet, ytterligare två patchar, låt vara inte för kärnan, det var programmet apt denna gång, men även ett Linuxsystem har en ofta daglig uppdateringsfrekvens.
För embeddedvärlden är detta ett problem. Hur väl kontrollen än görs av nya patchar är antalet nu uppe i nivåer där det är ofrånkomligt att det sker förändringar som kommer att skapa oväntade effekter mellan olika utgåvor av kärnan. Andrew Mortons, 2.6-kärnans huvudman, sa nyligen vid den fjärde årliga Embedded Linuxkonferensen (ELC 2008) att nu behövs det en arkitekturoberoende och heltidsarbetande underhållare av embeddedkod för kärnan.
De kommersiella företag som levererar färdigförpackade kärnor för embeddedapplikationer måste jubla. Här står Linux community upp och säger att resurserna inte räcker för att underhålla embeddedlinux fullt ut. Andrew Morton sade vidare att:
– Nu gör utvecklarna av Linux kärnan sitt bästa för att inte ha sönder något för embeddedanvändarna eftersom alla anser att Linux för inbyggnad är ”cool”. Men kod kan gå sönder och gör det oftast när vi minst anar det. Av det följer behovet av en fokuserad oberoende utvecklare för embedded i gruppen kring Linuxkärnans utveckling och underhåll.
Embeddedvärldens utvecklare förstår, som tur är, att en Linuxkärna nerladdad från kernel.org inte är produktionsfärdig. Den har inte testats tillräckligt. Jim Ready, som startade MontaVista, lär tycka om att säga att Linux är en produkt på språng, inte är en färdig produkt.
För inbyggda produkter finns få genvägar till stabilitet. Test, en konservativ syn på förändringar samt ännu mer test är en av vägarna som embedded Linux kan ta. Är det den enda?
Tabell:
De mest aktiva utvecklarna för Linuxkärnan 2.6.25 (Källa lwn.net och Linux Foundation) | ||
Tillhörighet eller företag | Antal patchar | Procent av total |
Okänd | 3150 | 25,6 |
Red Hat | 1562 | 12,7 |
Novell | 826 | 6,7 |
IBM | 758 | 6,2 |
Intel | 566 | 4,6 |
Swsoft | 266 | 2,2 |
Oracle | 250 | 2,0 |
Astaro | 219 | 1,8 |
Universitet & högskolor | 218 | 1,8 |
Renesas Technology | 217 | 1,8 |
Movial | 213 | 1,7 |
Axis Communications | 166 | 1,3 |
Filed under: Jan Zettergren, Linuxspalten