För några var det en överraskning när Microsoft hösten 2014 deklarerade ”Vi älskar öppen källkod”. Men för de som mer noggrant följt företaget och de senaste årens allmänna trender var det faktiskt inte helt oväntat. De stora teknikjättarna av i dag både använder och bidrar till öppen källkod-projekt i någon form. Förhållandena har blivit de motsatta mot hur de en gång i tiden var – att undvika öppen källkodprojekt är föråldrat.

Nu är det förstås inte bara hos stora företag inom teknikindustrin användningen ökar, utan vi ser öppen källkod-baserade produkter inom alla typer av konsumentprodukter och prylar, från telefoner och plattor till tv-apparater och bilar. Vi ser det användas på universitet och inom forskning, i rymdsonder, det upphandlas inom offentlig sektor, nämns i politiska motioner, och det talas om det på EU-nivå. Och vi ser det så klart bland utvecklare, administratörer och annan it-nära verksamhet.

Vad är det då för speciellt med något som egentligen är en licensform? Var började allting och hur kom vi dit där vi är i dag? Hur ser framtiden ut? Det är några av de saker som den här artikeln ska försöka att besvara.

Fri som i frihet 1983

Formades en rörelse för fri programvara – fri som i frihet, inte fri som i gratis. Begreppet öppen källkod fanns inte ännu, men i sak innebar fri programvara detsamma – rätten att studera, ändra, använda och vidaredistribuera program. Idéerna som sådana var inte nya, det som var nytt var att det fanns en rörelse som aktivt arbetade för att sprida dem vidare.

Richard StallmanRyktet säger att det var en bråkande drivrutin för en skrivare med sluten och ej ändringsbar källkod, som motiverade programmeraren Richard Stallman att skapa ett öppet Unixliknande system, byggt på fri programvara, samt en organisation – FSF, Free Software Foundation.

En del företag kändes sig dock inte riktigt bekväma med att fria programrörelsen och organisationen FSF inte bara var ett tekniskt alternativ, utan även ett frihetligt, etiskt och politiskt sådant. För att betona att bara de tekniska fördelarna avsågs började termen öppen programvara användas i en del sammanhang.

En student vid namn Linus

1991 hände något som kom att få ett väldigt stort avtryck på användningen av öppen källkod. En student vid namn Linus Thorvalds hade tröttnat på restriktionerna för Unix-liknande operativsystemet Minix och skickade ut en blygsam post till en nyhetsgrupp: ”Hello everybody out there using minix – I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) ...”.

Den första versionen av Linuxkärnan hade sett dagens ljus, och den blev snart licensierad under Gnu Public License, GPL. Genom att förena de befintliga verktygen från sina egna projekt med Linux kunde det äntligen släppas ett operativsystem helt baserat på fri programvara och öppen källkod.

Katedralen och basarenI en utvecklarfokuserad filosofisk artikel, ”Katedralen och basaren” av Eric Raymond 1997 cementerades slutligen begreppet öppen källkod.

Under resten av 1990-talet och början av 2000-talet spreds användningen av öppen källkod, både som begrepp och arbetssätt för projekt, inom företag och hos teknikintresserade. Andra samtidiga trender som agila metoder och långt senare, öppen data, passade väl ihop med samma idéer om öppenhet och transparens.

Exempel på populära projekt och koncept som härstammar från den här tiden är webbservern Apache Tomcat, Red Hats Linuxdistributioner, lamp-system, Mozilla Firefox och Openoffice, för att bara välja några av många projekt.

Alla företag var under den här perioden inte lika förtjusta i tankegångarna om öppen källkod och GPL – ett välkänt uttalande från Microsofts dåvarande vd Steve Ballmer i början av 2000-talet är att licensen GPL är att jämföra med cancer.

Öppen kod är vardagsmat

I dag har öppen källkod en helt annan acceptans än förr. Inom it-specifika områden är produkter baserade på öppen källkod snarast vardagsmat hos utvecklare och administratörer. På formella och informella initiativ delas och skapas kod och idéer som aldrig förr, till exempel på träffar och hackathons. Många projekt hamnar på Github, Sourceforge eller andra platser för versionshantering av projekt. Begreppet big data är inarbetat, och i samband med det produkter som Apache Hadoop, Solr, Open stack, Elasticsearch och så kallade nosqldatabaser.

Det stora företagsjättarna är med och bidrar till olika projekt. Några exempel är Red Hat (som uteslutande arbetar med öppen källkod-baserade lösningar), Google (som sponsrat otaliga öppen källkod-projekt och ger stipendier till studenter som vill arbeta med öppen källkod), Facebook (som aktivt bidrar till flera projekt och Github-släpp) och slutligen Microsoft som nyligen släppte sin Dotnet-plattform som öppen källkod, och som har bidragit till virtualiseringsförbättringar i Linuxkärnan.

Trend i offentlig sektor

Från offentlig sektor ges blandade signaler om öppen källkod-användningen. TechWorld har senaste året vid flera tillfällen rapporterat om hur vissa myndigheter och stadsförvaltningar satsar på öppen källkodbaserade produkter i Europa. München är kanske det mest kända exemplet. Det är kanske inte revolutionerande många som valt att ta steget, men ändå tillräckligt många för att man ska kunna skönja en viss trend.

Också i Sverige ser vi en del initiativ. Flera kommuner har lagt upp strategier för att använda källkod, exempelvis Östersund och Göteborg, och det tillkommer nya upphandlingsavtal i offentlig sektor under 2015 som innehåller mycket om och kring användningen öppen källkod och öppna standarder.

På mobilsidan ser vi en dominans av operativsystem byggda på öppen källkod – Linuxbaserade Android och Apples IOS, baserat på det öppna operativsystemet Darwin – medan populära program och applikationer ofta är proprietära.

På skrivbordssidan råder delvis det motsatta förhållandet. Det dominerande operativsystemet Windows är inte baserat på öppen källkod, men det finns numera ett rikt utbud av mogna program med öppen källkodlicens, allt från utvecklarverktyg till administratörsverktyg och kontorsprogram – exempel är Chrome, Firefox, Libreoffice, Gimp och VLC.

Google
Google Summer of Code är ett årligt program där google ger stipendier till studenter som fullföljer ett öppen källkod-projekt.

Så kan din organisation bidra

Hur kan då ett företag bidra till öppen källkod? Ja, kanske har företaget en egen produkt, eller ett hjälpbibliotek som är värt att släppa som öppen källkod? Titta närmare på de licenser som finns, till exempel GPL3 och Apache, så att det inte kommer oväntade överraskningar i efterhand. Licenserna styr ju hur koden får användas, och här kan det vara stora skillnader.

Ett mycket förenklat exempel är skillnaden mellan en GPL-licens och en BSD-licens. Om GPL används innebär det också att de ändringar och modifieringar som sker i koden måste släppas som öppen källkod, medan en BSD-licens säger ”gör vad du vill med källkoden, du behöver inte ge tillbaka ändringarna”.

Fundera också på var projektet ska hanteras, det finns en uppsjö av populära platser för det, till exempel Github, Bitbucket och Sourceforge.

Inga magiska underverk

En annan sätt att bidra kan vara att hjälpa ett projekt med programfixar eller nya egenskaper. Det viktigaste är dock att inte släppa sin kod öppet och sedan invänta magiska underverk i projektet. Man måste ha en plan för hur kodtillägg hanteras och hur projektet skapar en kreativ och intressant gemenskap med intressanta problem som lockar till sig nya utvecklare.

Kom ihåg att ett redan befintligt projekt har sitt sätt att hantera tillägg och programfixar, från rena kaoset till en väldefinierad process med kod-granskning och återkoppling. Det bör undersökas innan man ansluter sig.

Det behöver förstås inte vara kod ett företag bidrar med – befintlig och översatt dokumentation för ett projekt är något som kan vara lika viktigt.

Andra sätt kan vara att sponsra projekt med något.

Vad är nyttan för ett företag? I bästa fall får projektet kodbidrag och granskningar, och kanske ges det uppslag till nya rekryteringskandidater.

En ökad exponering av projektet är en annan fördel. Att dela programfixar och nya egenskaper medför att företaget slipper potentiellt dyr intern-förvaltning när programfixarna ligger med i vanliga livscykeln av uppdateringar för en produkt. Att sponsra ett projekt kan ses som en typ av reklam.

Så nu hatar alla proprietärt?

Är det dags att gå hela vägen med öppen källkod nu, kasta ut det proprietära, gå med i FSF, och öppna upp alla nya projektet för att hänga med?

Självklart inte – den balanserade blandningen av öppen källkod och proprietära produkter är framgångssagan. Så länge öppna standarder är fundamentet kan produkter och program kommunicera med varandra. Det som är annorlunda är kanske hur man tjänar på en produkt, vare sig det är tjänster, support eller indirekt något annat.

Ett exempel är Apple, som har valt en balansgång mellan öppet och proprietärt. Själva kärnan och delarna under det grafi ska skalet av deras operativsystem bygger på öppen källkod. Det övriga delarna är stängd kod. Apple släpper uppdateringar gratis, och tjänar in pengarna på att sälja själva hårdvaran, sköta sitt varumärke samt ha kontroll över sina programaffärer där bolaget tjänar gott på andelar av försäljning.

Förändrar ditt arbetssätt

Det har varit en lång och strävsam väg för öppen källkod och fri programvara att nå till dagens läge. Trender, teknik, och programspråk har kommit och gått, men under tiden har företag, offentlig sektor och privat personer långsamt och i allt större utsträckning tagit till sig konceptet.

Tiden för att predika fördelarna är sedan länge förbi, nu handlar det om att utveckla konceptet. Det vi kan se är att behovet av byod, big data, öppen data, molnlösningar, sakernas internet och mobilitet fortsätter att öka, och att ingen vill uppfinna liknande produkter och projekt om och om igen. Öppen källkod förändrar sättet företag arbetar på.

Den som inte anammar öppen källkod hamnar snart på efterkälken, det har även företag som det förr så motstridiga Microsoft tvingats inse. I en allt mer föränderlig värld har många insett att det kan vara dyrt, långsamt och
ineffektivt att integrera, utveckla och hantera stängd programvara.

Det finns förstås många frågor som inte går att svara på än. Får vi snart se kontorsprogram som är så mogna att de är bättre än de informella standarder som finns? Kommer öppen källkod att bli ännu vanligare, eller har vi funnit den perfekta balansen mellan proprietärt och öppen källkod?

Det finns förstås också mörka moln på horisonten. Försök till att införa mjukvarupatent tycks återkomma med jämna mellanrum, och vore potentiellt förödande för öppen källkod, då ansvaret skulle ligga på utvecklaren att kontrollera att en algoritm eller en lösning inte redan var patenterad innan implementation.

TechWorlds slutsats

På många sätt ser framtiden för öppen källkod ljus ut. 2014 var året då även tidigare skeptiska företag ”kom ut” och sade sig älska öppen källkod. Nya innovationer och projekt som Docker och CoreOS fortsätter att strömma fram. På de flesta områden ser användandet och bidragen ut att öka.

Tiden att predika för öppen källkod är sedan länge förbi, och licensen och kodbidrag ses av många en naturlig del av utvecklingen. Att fenomenet öppen källkod har kommit för att stanna är det ingen tvekan om. De flesta vill lägga resurser på att skapa nytt, inte på att uppfinna hjulet på nytt.

Det finns hinder och utmaningar kvar. Två saker som är av yttersta vikt för välmående är att använd andet av öppna standarder och frånva ron av mjukvarupatent också gäller i framtiden. Annars finns det stor risk att informationsutbyte och innovation kvävs.

Windows har fortfarande dominansen på skrivborden, men kommer den att vara för alltid? Kanske är det nya regler för upphandlingar och ramavtal som i slutändan löser den knuten.

Den mobila världen ser annorlunda ut, med inte fullt lika mycket appar i öppen källkod som proprietära. Kommer det förhållandet att ändras?

Innovation och öppenhet är framtiden – TechWorld ser med spänning fram emot vilka intressanta händelser 2015 kommer att bjuda på.

Ordlista


agila metoder: Samlingsnamn för ett antal metoder som kan användas vid programvaruutveckling. kallas även lättrörliga metoder. Jämfört med tidigare vattenfallsmodeller representerar de mer flexibla sätt att arbeta.

big data: Big data utgörs av digitalt lagrad information av sådan storlek (vanligen terabyte och petabyte), att det är svårt att bearbeta den med traditionella databasmetoder. Big data innefattar tekniker för very large databases (vldb), datalager (data warehouse) och informationsutvinning (data mining).

FOSS, Free and open Source Software: Paraplyterm för fri programvara och öppen källkod.

GPL, GNU General Public License: En välanvänd licens för öppen källkod som finns i flera versioner. Den nämner rätten att använda, undersöka, vidaredistribuera och förbättra ett program. Det finns en rad populära öppen källkod-licenser, till exempel Apache och BSD.

lamp: Akronym för kombinationen Linux, Apache HTTP server, MariaDB, PHP, Perl, eller Python, som tillsammans ger en webbplattform helt baserad på öppen programvara.

versionshantering: Att tidigare versioner av dokument, källkodsfiler, program eller webbsidor kan återskapas, och ändringar gjorda i dessa tidigare versioner kan spåras. kända verktyg är git och Subversion.


Fortsätt läsa: "4 experter om öppen källkod nu och i framtiden"

Fakta

TINYTW.SE/MUNICH
Techrepublic berättar historien om varför och hur München gick över till öppen källkod.

TINYTW.SE/ZDLOVELINUX
Steven j Vaughan-nichols på Zdnet om troliga motiv till varför Microsofts inställning kring öppen källkod ändrades.

TINYTW.SE/OK2013
Techworlds förra stora special om 2013 – vad har ändrats sedan dess?

TINYTW.SE/OKOFFENTLIG
Det har kommit nya underlag för upphandlingar i offentlig sektor i Sverige, som gör det enklare för öppen källkod.