Artikel top billede

Interview: Linus Torvalds om filsystemer og Windows

Interview: Læs Computerworlds store interview med Linus Torvalds, hvor han fortæller om point releases, filsystemer, Windows 7 og overgangen til Gnome.

Computerworld News Service: Vi er lige gået ind i 2009, og Linux nærmer sig sit 20-års jubilæum. Hvordan har du det med de sidste to årtier?

"Linux er langt fra ved sit endemål, og jeg tror, at jeg kommer til at lave det her i lang tid fremover. Jeg har på ingen måde følelsen af at være 'færdig'.

Jeg har ikke lyst til at give ansvaret for vedligeholdelsen af Linux-kernen videre, men jeg overlader beslutningerne til folk, som jeg stoler på.

Det nytter ikke noget at tvivle på deres dømmekraft, for så ville samarbejdet ikke fungere, og jeg ville bare spilde en masse menneskers tid. Alle udviklerne synkroniserer deres arbejde med hovedkoden, og det er sjældent, at de laver fejl."

De seneste år har der været flere vedligeholdelsespakker eller 'point releases' end større version-opgraderinger. Hvordan går det med det?

Det fungerer godt med disse point releases, og vi er begyndt at tilføje flere nye funktioner til dem. Det er bekymrende og tilfredsstillende på samme tid.

Vi bruger point releases for at undgå at lave for meget kludder i udviklingen.

Det er derfor, vi har 'stable trees', men vi er endnu ikke nået til et punkt, hvor vi tilføjer kode så hurtigt, at det går ud over stabiliteten. Vores point releases bliver større og større til trods for, at vi fastholder en release-tid på to til tre måneder.

Og i dag foretager vi endnu flere ændringer på de to til tre måneder, end vi gjorde for et par år siden. Så vi er gode til at skalere udviklingen.

Der vil altid være en frygt for, at vi mister grebet og får store problemer med stabiliteten. Andrew Morton taler meget om, at vi skal huske, hvor vigtigt det er at opretholde en god kvalitet.

Vi har statistikker på vores regressioner, så vi kan holde styr på, hvor lang tid det tager at reparere dem, og hvor lang tid det tager at opnå en stabil kerne. Nogle regressioner opfører sig anderledes - det kan for eksempel være et hardware-problem eller en gammel fejl, der har været skjult før.

Jeg er meget tilfreds med point release-modellen og kan ikke se, hvordan vi kunne være nået længere end 2.6. I bund og grund er det bare et spørgsmål om nummerering. Jeg vil under ingen omstændigheder tilbage til et 'development tree', der sætter alt på hold i et par år.

Det er ikke utænkeligt, at der kommer arkitektoniske ændringer i fremtiden, men det er vi blevet gode til - også i vores point releases. Så jeg kan ikke se, hvad der skulle skabe så stort kaos, at det ville kræve et helt nyt versionsnummer. Vi kan godt klare lidt ustabil udvikling nu, uden at det påvirker brugerne."

Fjerne gammel kode?

Vil du fjerne noget af den ældre kode i kernen?

"Der er nogen, der mener, at vi skal være mere aggressive med at fjerne gammel kode, men jeg mener, at vi bør beholde det, hvis der stadig er folk, der bruger det.

Det er for det meste stort set gratis at vedligeholde gammel kode, så det gør vi så vidt muligt. Det sker dog, at vi fjerner gamle enhedsdrivere."

Der har været en masse snak om filsystemer på det seneste, blandt andet om Suns ZFS. Hvad mener du, at Linux skal gøre på det område?

"Man kan hurtigt blive begejstret over filsystemer. Det er nemt at tilføje dem til en kerne, så der er næsten ingen risiko ved det. Vi understøtter omkring 35 filsystemer, og mange af dem bliver reelt ikke brugt ret meget.

Det er egentligt oplagt at fjerne nogle af dem, men på den anden side er der stadig folk, der bruger dem. Vi tilføjer filsystemer uden videre og lader tingene køre af sig selv.

Der er to lejre i udviklingsmiljøet, nemlig folk, der vil have stabilitet og folk, der vil opgradere ofte. Slutbrugerne gør en masse skøre ting, som ingen test-infrastruktur vil kunne forudse, så der er pres fra begge sider.

Vi vil selvfølgelig gerne have stabile filsystemer, men vi kan ikke holde det i beta for evigt. Btrfs er stadig under udvikling, men vi har integreret det i hovedkernen for at gøre det lettere at teste det.

Btrfs kan i nogen grad det samme som ZFS (filsystemer, red). Der er et universitet, der kører ZFS som modul i Linux, så det kan altså lade sig gøre at bruge det med Linux.

Suns største succes med ZFS er selskabets marketing af filsystemet. Der var flere andre projekter, der ønskede at gøre det, ZFS gør for Linux, men de var ikke så stærke til pr og marketing. Sun begyndte at få øje på NetApps patenter, fordi de forhindrede folk i at gøre de ting, de gerne ville. Jeg håber, at ZFS kan løse patentproblemet."

For et par år siden blev du tvunget til at ændre revision control-systemerne til udvikling af Linux, og det førte til skabelsen af Git. Hvordan går det med det projekt?

"Al min kode skal være open source, men jeg vil kun bruge de bedste værktøjer, og på det tidspunkt var det BitKeeper.

Alle andre alternativer var så ringe, at de ikke engang var værd at overveje. Og når alternativerne er så dårlige, foretrækker jeg proprietær kode. Det var ikke den bedste løsning, men jeg havde ikke rigtig noget valg.

Jeg plejer også at lave præsentationer i PowerPoint.

Men BitKeeper endte med at skabe for mange problemer, så jeg valgte at undvære et version control-system, indtil der kom et egnet produkt på markedet.

Jeg havde før brugt CVS og kendte nok til det til at vide, at jeg ikke syntes om det. Og jeg ville ikke bruge Subversion, da det har nogle af de samme grundlæggende problemer som CVS.

Der var gang i nogle små projekter i open source-miljøet, og Mercurial dukkede op på omkring samme tidspunkt som Git. Så de kørte parallelt, og samtidig var der andre spændende alternativer som Bazaar. Min favorit er et projekt ved navn Monotone.

Jeg kiggede nærmere på det, og der var elementer, som jeg rigtig godt kunne lide, men også mange ting, jeg ikke brød mig om. De talte blandt andet Monotones performance.

Det tog mig to uger at udvikle et git, der var ubrugeligt for alle andre. Der var ingen andre end mig, der kunne leve med brugergrænsefladen, men allerede efter de to uger kunne det noget, som CVS og Subversion ikke formåede, nemlig at integrere korrekt med historikken og det hele.

Derefter brugte jeg to år på at gøre det brugbart og udvikle en grænseflade, som folk kunne arbejde med. Hvis man bare har den rigtige ide, kan man sagtens udvikle et godt produkt. Det tager bare lang tid at finjustere det.

Det er ikke usædvanligt, at et projekt har en officiel model som Subversion, og der er mange, der bruger Git til filintegration og derefter eksporterer slutresultatet tilbage til det officielle projekt. Bare inden for de sidste par måneder er flere projekter begyndt at skifte over til Git.

Perl er et af de mest kendte, og Git bruger faktisk Perl internt, så det er en positiv feedback-cyklus.

Git har altid haft en unix-tankegang, hvor man laver kommandoer. Så vi har aldrig gjort som andre projekter og haft en API og et scripting-sprog bygget ind i det. Det skyldes delvist problemer med designet, men der er også andre årsager.

Så det kan være svært at skrive et program, der har adgang til Git internt, fordi der ikke er andre biblioteker. Det har vist sig, at den bedste måde at kommunikere med det, er ved hjælp af Java.

Noget af det, som jeg bedst kan lide ved Git, og som jeg er meget stolt af, er, at datastrukturerne er så simple, og at man kan geninstallere det. Det er en meget veldefineret datamodel. Der findes Git-relaterede projekter som gui-værktøjer med Eclipse IDE.

Og folk der er vant til TortoiseSVN i Windows kan bruge TortoiseGit - de vil gerne bruge Git, men er Windows-udviklere og vil helst undvære kommandolinjen.

Der findes hundredevis af Linux-distributioner, men på det seneste har Ubuntu, OpenSUSE og Fedora fået størst opmærksomhed. Tror du, at det er en udvikling, der fortsætter, og vil Linux ende med at blive udbredt takket være de nye netbooks?

"Det er et kæmpearbejde at udvikle en distribution.

Grunden til at der er så mange er, at det er nemt at starte sin egen, men det kræver enorme udviklingsressourcer, hvis man vil være førende og introducere ny kode. Det kræver, at man har nok brugere til at få dækning.

Det gør det urimeligt at forvente for mange store distributioner. Ubuntu voksede overraskende hurtigt, og det er ikke usandsynligt, at det sker igen.

Jeg bruger Fedora af historiske årsager. Jeg har en EeePC-laptop, og jeg har geninstalleret min egen distribution, så jeg er ikke den rigtige at spørge på det område. Men de fleste brugere vil helst undgå installationen og konfigurationen.

Vi er stadig i første fase af netbooks, og der er problemer med testningen. Den brugervenlige grænseflade var et opstartsproblem, og de første netbooks var ikke stærke nok.

Jeg håber, at den næste generation bliver stærkere og giver en bedre brugeroplevelse.

Jeg har lavet kerneudvikling på en netbook, og det var slet ikke så slemt endda. Skærmen var for lille, men vi nærmer os et punkt, hvor man godt kan finde en god laptop til billige penge.

For et par år siden var det også muligt at finde en lille laptop, men prisen var det dobbelte. Netbook-markedet har ændret spillet.

De opfattes ikke som et brugbart værktøj for forretningsledere, men som en billig laptop. Der er mange desktops, der har svært ved at tilpasse sig den lille skærm på en netbook.

Pludselig kan man for eksempel ikke trykke på ok-knappen, fordi den ligger uden for skærmen. Men efterhånden som skærmene bliver lige så små som på en mobiltelefon, kan Googles Android sagtens være en oplagt kandidat til netbooks, så det er ikke utænkeligt, at vi kommer til at se Android blive større.

Linux på telefoner er svært, fordi der er så mange regler, men jeg er meget tilfreds med Nokias beslutning om at udsende Qt som LGPL."

Om Windows 7 og Microsofts udviklingscyklus

Hvad mener du om Windows 7 og styresystemets udviklingscyklus?

"Det er måske i overkanten at sige, at Windows 7 er bedre end Vista.

Men Microsoft har måske en stor fordel, fordi folk vil sammenligne det med Vista og konkludere, at det er fantastisk - lige som da Windows 95 blev sammenlignet med Windows 3.1. Så måske har Microsoft gjort det med vilje.

Jeg tror, at det er gået op for Microsoft, at udviklingscyklussen for Vista har været alt for lang, og det ville være vanvittigt at gøre det én gang til.

Det kan være, at Microsoft satser på en udviklingscyklus på to år, men det mener jeg stadig er for lang tid.

Microsoft skulle hellere adskille styresystemet og applikationerne og udgive de nye systemer hurtigere.

For Linux er et halvt år lige presset nok. Man håber, at de dele, som man sætter sammen, er stabile, men man kan ikke undgå overraskelser, og et halvt år er en kort cyklus, når man skal sammensætte så mange pakker.

En årlig release-cyklus er fornuftig, når man skal lave en hel distribution.

Èn gang om året fungerer for Linux, men derudover er der de trinvise versioner. Det er svært at lave en årlig opgradering for en kommerciel virksomhed som Microsoft, der vil have folk til at betale for hver version.

Apple har lavet hyppigere opgraderinger, men har så opkrævet mindre for hver version.

Det er ikke noget problem med open source, fordi det er gratis software, men det er en af de ting, som Microsoft er nødt til at balancere.

Microsoft vil have folk til at leje dets software, men det vil brugerne ikke være med til. Det bliver mere besværligt for brugeren, hvis man udvikler over en fem-årig periode og gennemfører så mange ændringer.

Prisen for det besvær er ofte højere end prisen på et styresystem, og det er derfor, at folk ikke er så meget for at opgradere.

Linux bruges også meget som hostet software eller "cloud computing," hvor brugerne ikke har adgang til kildekoden. Er det godt eller skidt?

Det er på en måde uundgåeligt, fordi det med visse typer software er den eneste model, der giver mening. Tag for eksempel Google Maps.

Det giver ikke mening at have det på en enhed. Pointen er at have det i skyen, fordi der er så mange informationer.

Det gør ikke noget, hvis det betyder, at brugeren aldrig ser kildekoden. Jeg glad for, at Linux bliver brugt på den måde.

Projekter, der er designet specifikt til software-as-a-service i backend, hvor det kun er projektets output, der bliver distribueret, bruger Affero GPL. Der bruger man ikke Linux."

Et andet open source-projekt, der har gennemgået store forandringer, er KDE med version 4.0. De udsendte en masse grundlæggende arkitektoniske ændringer med 4.0 og fik en del negative anmeldelser. Hvordan har det påvirket dig som KDE-bruger?

J"eg har tidligere været KDE-bruger. Men jeg syntes, at KDE 4.0 var sådan en katastrofe, at jeg valgte at skifte til Gnome.

Jeg hader, når min højre museknap ikke gør, hvad jeg beder den om.

Men det gør ondt på brugerne, at der er blevet foretaget så mange ændringer, så jeg tror, at mange vil vælge alternativer.

Jeg forstår godt, hvad der ligger til grund for 4.0, men jeg synes, at KDE har gjort det dårligt.

Der er blevet foretaget så mange ændringer, at det føles som en halvfærdig version.

Det vil måske vise sig at være den rigtige beslutning, og det er muligt, at jeg vil prøve KDE igen, men jeg tror ikke, at jeg er den eneste kunde, der har vendt KDE ryggen.

Jeg fik opdateringen gennem Fedora og havde problemer med overgangen fra KDE 3 til KDE 4.0. Desktoppen var ikke lige så funktionel, og det var i det hele taget bare en dårlig oplevelse for mig.

Jeg prøver det igen, når jeg geninstallerer den næste maskine, hvilket jeg plejer at gøre hver sjette til ottende måned."

Hvordan går det ellers i øjeblikket? Kan du lide at arbejde hos Linux Foundation i Portland, Oregon?

"Jeg er meget tilfreds med mit liv. Mit job er det samme: Je laver kernen, og ingen fortæller mig, hvad jeg skal gøre, og det bliver jeg betalt for. Det er sådan, jeg bedst kan lide det."

Tror du, at 2009 bliver et godt år for Linux-desktoppen?

"Jeg har tendens til at komme med kontroversielle udtalelser uden at tænke mig om først.

Jeg vil ikke sige, at det bliver et godt år for Linux-desktoppen, da det er en langsom proces at få udbredt systemet. Men se, hvad Firefox har opnået, og hvordan Firefox sniger sig ind på Windows. Det er vigtige projekter som Firefox og OpenOffice.org, der gør ideen om open source mere udbredt. De arbejder på tværs af platforme, for projekter bør ikke bindes fast til platformen.

Folk vil indse, at man uden tie-in frit kan vælge platform, og at det er meget sundere fra et markedsmæssigt synspunkt end at skulle tage beslutninger om platform for hver applikation.

På et fair marked får Linux meget lettere ved at konkurrere."

Oversat af Mille Bindslev




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Hewlett-Packard ApS
Udvikling og salg af software, hardware, konsulentydelser, outsourcing samt service og support.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Unbreakable - sådan sikrer du dig vedvarende og uafbrudt adgang til dine data

Vi dykker ned i værdien af en stabil og pålidelig storage-platform og hvilke muligheder der findes, for at sikre den højeste grad af redundans og tilgængelighed. Områder som date-beskyttelse og cyber-sikkerhed vil også blive berørt.

25. april 2024 | Læs mere


OT og IT: Modernisér produktionen og byg sikker bro efter et årelangt teknologisk efterslæb

Moderne produkter skal have mere end strøm for at fungere – og deres navlestreng skal ikke klippes når de forlader fabrikshallen. På denne konference kan du derfor lære mere om hvordan du får etableret det sikre setup når der går IT i OT.

30. april 2024 | Læs mere


Roundtable for sikkerhedsansvarlige: Hvordan opnår man en robust sikkerhedsposition?

For mange virksomheder har Zero Trust og dets principper transformeret traditionelle tilgange til netværkssikkerhed, hvilket har gjort det muligt for organisationer at opnå hidtil usete niveauer af detaljeret kontrol over deres brugere, enheder og netværk - men hvordan implementerer man bedst Zero Trust-arkitekturer i et enterprise set up? Og hvordan muliggør Zero Trust-arkitekturen, at organisationer opnår produktivitetsfordele med AI-værktøjer samtidig med, at de forbliver sikre i lyset af fremvoksende trusler?

01. maj 2024 | Læs mere