Inspirerad av Apple bygger han sitt eget operativsystem SerenityOS

2021-12-14 06:00  

I SerenityOS möts 90-talsnostalgi och modern it. Andreas Kling har lagt tre år på att bygga ett helt operativsystem från grunden, men ser sig mer som en konstnär än en entreprenör.

Har du tröttnat på likriktade, molndoftande operativsystem med runda fina former och diskreta färger? Är du mer Winamp än Spotify? Består dina drömmars Windows-logo fortfarande av strama, fyrkanter i knalliga färger?  

Då ska jag berätta för dig om SerenityOS. Eller snarare, låt mig citera operativsystemets egen hemsida. Den säger det nog bäst:  

“Serenity är ett kärleksbrev till 90-talets användargränssnitt, med en skräddarsydd Unix-liknande kärna. Det smickrar uppriktigt genom att stjäla vackra idéer från olika andra system”.  

SerenityOS är något så ovanligt som ett modernt operativsystem byggt helt från grunden. Dagens applikationsutveckling påminner allt mer om att lägga ett pussel av färdiga funktioner som sammanfogas. Men här finns ingen Linux-kärna eller någon annan öppen källkod införlivad. 

Varje kodrad är skriven enkom för SerenityOS.   

– Det är lite som att bygga sitt ett eget hus, det känns på något sätt roligt att bygga på det svåra sättet. Även om det tar längre tid och kostar mer. Det finns ett nöje i det, säger SerenityOS grundare Andreas Kling.

Läs mer: Vad är metaverse, och varför pratar alla om det nu?

SerenityOS ska kombinera 90-talets estetik med modern funktionalitet. Foto: SerenityOS

Programmering som terapi

Efter en karriär som utvecklare på stora techbolag både i Sverige och utomlands jobbar han i dag heltid med sitt märkliga, närmast obstinata operativsystem. De första stapplande stegen tog han närmast av en slump under hösten 2018.  

– Jag hade precis genomgått en tre månader lång behandling för drogberoende, och när jag var klar visste jag inte riktigt vad jag skulle göra av all tid, berättar Andreas Kling. 

Han hade vid det laget levt med beroendeproblem under många år. Drogerna hade tagit mycket av hans tid. Nu när han var ren, fanns tid plötsligt i överflöd.  

– Så... Jag började programmera och leka runt med allt möjligt, förklarar han.  

Till slut har Andreas Kling en handfull små program, och han kommer på nästa idé. Att kombinera allt till ett operativsystem.  

Namnet SerenityOS kom av sig själv.  

Serenity prayer, eller sinnesrobönen, är vanlig inom tolvstegsprogram i beroendevården. På svenska lyder den: "Gud, ge mig sinnesro att acceptera det jag inte kan förändra, mod att förändra det jag kan och förstånd att inse skillnaden". 

Om SerenityOS kommer att förändra världen får vi se. Arbetet har åtminstone förändrat Andreas liv. 

Läs mer: Med morgondagens internet blir vår värld aldrig sig lik igen

Andreas Kling ligger bakom operativsystemet SerenityOS. Foto: Privat

Från Borås till Apple

Hans cv är nästan mallen för hur en stjärnkodare blir till. I början på nittiotalet lär han sig progammera basic på pappans jobbdator. Han får sitt stora digitala uppvaknande mitt under den tidiga Windows-eran, vilket förstås syns tydligt i de starka Windows 3-vibbarna i SerenityOS. 

– Det var så datorerna såg ut när jag var i tonåren. Precis som att man fastnar för musiken man lyssnade på som tonåring, fick jag med mig det här, säger Andreas Kling. Jag, och många andra, tycker fortfarande att det är det snyggaste gränssnittet som Windows haft. 

På gymnasiet tröttnar han på skolan. Han gör praktik på en webbyrå i hemstaden Borås, och tjatar till sig en timanställning. Sedan hoppar han av skolan, och återvänder aldrig.  

– Jag har alltid gillat det där med att våga ta risker. Det kändes bra, och det löste sig till slut. I efterhand förstår jag att det lika gärna kunnat gå snett, säger han.  

Det är några år efter millennieskiftet och det finns ett skriande behov av unga, duktiga programmerare. Andreas Kling får jobb på ett it-företag där han, typiskt nog för uppväxtorten, försörjer sig med att programmera styrsystem till maskiner som används i bland annat textilindustrin.  

Samtidigt upptäcker han öppen källkod, och började själv bidra till projekt på nätet. I synnerhet engagerar han sig i KDE-projektet, ett användargränssnitt för Unix-system. Hans erfarenheter inom öppen källkod leder så småningom till ett jobb på Nokia, där han jobbar med webbläsare för smarta telefoner.  

Men den finska mobiljätten är redan på fallrepet. Efter några år landar Andreas istället ett eftertraktat jobb på Apple. Det blir en handfull år i Kalifornien där han arbetar med webbläsarteknik för Iphone innan han styr kosan hemåt igen.  

Men tiden på Apple sätter sina spår. Cupertino-bolaget är kända för att sträva efter full kontroll på hela systemet. Från tillverkningen av processorer hela vägen till applikationslagret.  

– De bygger allt själva, för då har man kontroll på hela systemet. Behöver man en expert finns den alltid i huset, ett stenkast bort. Det är väldigt trivsamt, jag gillade att alltid ha expertisen till hands, säger Andreas Kling. 

– Med Serenity ville jag se om det gick att ta Apples arbetsmodell, fast bygga något öppet. Vi bygger allt i en stor klump och samlar expertisen. Givetvis blir det brutalt mycket mer arbete, men det ger känslan av att allt är tajt och hör ihop. Allt är skrivet i samma språk, i samma stil, alla variabelnamn följer samma mönster. Det finns aldrig två implementationer av samma grej. Vi har en grafikmotor, en ljudmotor. Inget dubbelarbete. 

Läs mer: Spotifys stjärnkodare Ludvig Strigeus brinner för att lösa problem

Det går att följa Andreas Klings arbete med SerenityOS via hans Youtube-kanal. Foto: Skärmdump Youtube

Gör succé på Youtube

Hösten 2018 sitter Andreas ensam på sin kammare och knackar kod till SerenityOS på fritiden. På dagarna går han till sitt vanliga utvecklarjobb. 

Efter ett halvår är han redo att dela med sig av sina resultat. Han publicerar källkoden på Github, och börjar efter ett tag spela in ett slags videodagböcker där han löser programmeringsproblem framför kameran. Samtidigt pratar han om sitt liv eller lägger ut sina tankar kring programmering.  

– Tittar du på de första videorna ser du en kille som sitter och mumlar och inte vet hur han ska uttrycka sig. Men jag fortsatte ändå. Jag har alltid haft svårt att prata inför folk, skolkade från redovisningarna i skolan. Det här kändes som en chans att göra rätt, säger Andreas Kling.  

Youtube-kanalen puttrade på, videorna får några hundra visningar och SerenityOS växer. I april 2019 tar det fart på allvar när Andreas laddade upp en video där han demonstrerar operativsystemet. En brokig skara Linux-nördar och nostalgiker med samma förtjusning för 90-talets datorestetik som han själv får upp ögonen för projektet. 

– Video delades flitigt och fick tusentals tittare. Herregud, det här är mitt lilla terapiprojekt, tänkte jag. Där och då kändes det som att det blev verkligt, säger han.  

När uppmärksamheten ökar händer det som ger ett öppen källkod-projekt vingar. Fler utvecklare ansluter sig. Det är fortfarande Andreas Kling som gör merparten av jobbet i SerenityOS (han har publicerat fler än 1,1 miljoner kodrader i projektet på Github) men nu har över 500 andra personer kommit in och bidragit i olika utsträckning. 

Läs mer: Nej, internet är inte en större miljöbov än flyget

“Serenity är ett kärleksbrev till 90-talets användargränssnitt, med en skräddarsydd Unix-liknande kärna. Det smickrar uppriktigt genom att stjäla vackra idéer från olika andra system”, skriver Andreas Kling på sin hemsida. Foto: SerenityOS

SerenityOS blir ett heltidsjobb

I samma veva drar Andreas igång en Patreon för de som ville stötta utvecklingen av SerenityOS. Han har inga större ambitioner, men tänker “man vinner aldrig lotteriet om man inte köper någon lott”. Det var rätt resonerat. I takt med att Youtube-prenumeranterna blir fler ökade också bidragen.

Samtidigt blir det allt mer svårt att fokusera på det vanliga heltidsjobbet. Så i maj 2021, när följarskaran växt till sig, fattar Andreas ett avgörande beslut. Vid det laget får han in runt 2 000 dollar i månaden i donationer och känner att det var dags.  

Han säger upp sig, och börjar jobba med SerenityOS på heltid.  

– Det var en otroligt härlig känsla. För jag tillverkar ingenting, det är bara något jag jobbar på för min egen skull. Men det finns folk där ute som tror så mycket på det att de vill lägga en tjuga i månaden i utbyte mot att arbetet fortsätter. Det är en så himla fin grej, säger han.

Webbläsaren är det största enskilda projektet inom SerenityOS. Här får vi se hur Andreas Kling surfar in på Reddit. Foto: SerenityOS

Läs mer: Jisses, den här spelgrafiken går knappt att tro på

För grejen med SerenityOS är att Andreas inte har några tillväxtmål eller någon affärsplan. Han försöker inte locka användare. Han vill inte konkurrera med vare sig Linux eller Windows. Han vill bara bygga något för sig själv.  

– Jag skulle nästan kalla mig crowdfundad konstnär eller något sådant, för SerenityOS har ingen affärsapplikation. Vi försöker inte tillverka någon kommersiell produkt, det här är ett personligt projekt. Jag bygger något för mig själv, och de andra som hoppar på gör det för sin skull. Det finns inget vinstsyfte någonstans.  

Kan du arbeta i SerenityOS i dag? 

– Nej, jag skulle inte spara data i det som jag inte vill bli av med. Det är så pass instabilt. I och med att vår utvecklingsmodell bygger helt på intresse och skoj snarare än uppsatta mål blir stabiliteten bara bättre när någon känner för att göra den bättre.  

Blir det färdigt någon gång?  

– Jag tror att det. Jag vill bygga något som jag kan använda själv, om det är användbart för någon annan är upp till dem. Jag ska kunna programmera, lyssna på musik, surfa på nätet och spela in Youtube-filmer. När det funkar känner jag mig nöjd.  

När blir det då?  

– Om jag får gissa säger jag tre-fyra år till. Men om jag ändrade fokus och bara jobbade med stabiliteten skulle det säkert kunna vara klart inom ett år. Men det finns så mycket annat som är roligt! Det får ta sin tid. 

Läs mer: Extra sällsynt Apple-dator såld för mångmiljon-belopp

Videon där Andreas Kling portar Diablo till SerenityOS är den populäraste han laddat upp på Youtube. Foto: SerenityOS

Klassiska spel blir tittarsuccé

När vi pratar sitter Andreas för fullt och försöker styra upp minneshanteringen, ett problem som han med egna ord “sopat under mattan” och det nu blivit dags att ta tag i. Ett annat jättelikt utvecklingsprojekt, som nästan är lika komplicerat som operativsystemet självt, är arbetet med SerenityOS webbläsare. Det är också där flest frivilliga kodare bidrar.  

Vid sidan om funktionsprogram har han portat klassiska spel som Diablo, Duke Nukem 3D och Doom till operativsystemet. De videorna råkar också vara bland de mest populära på hans Youtube-kanal.  

– Det klaffade väldigt bra, Diablo är på något sätt från den era som SerenityOS ska likna. Det såg helt rätt ut i den miljön, säger Andreas Kling.  

SerenityOS började som ett terapiprojekt, har det funkat som terapi?  

– Verkligen, jag har genomgått en väldigt stor personlighetsförändring. Jag har blivit mer öppen med mina problem och jag känner ett syfte och sammanhang i livet. Om jag försvinner ett par dagar hör folk av sig och frågar hur läget är. Jag har skapat ett slags social skyddsnät åt mig själv, något sådant hade jag aldrig förut. Det har bara varit positivt för mig. 

Simon Campanello

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

  Kommentarer

Debatt