Open (that) Source (please)

OSS — Open Source Software — hvorfor taler alle pludselig om det? Fejlede den “gamle” source da noget? Er det endnu et i en uendelig række af buzz-words som IT branchen er så berygtet for at være god til at opfinde? Måske kan du bare nøjes med at spørge ChatGPT: why did open source happen? 😉

Antitesen

For at forstå begrebet er vi nødt til først at forstå begrebets antitese: closed source.

For over 60 år siden byggede ingeniører computere, og så "byggede" de et program (kode) der kunne køre på computeren. Helt specifikt til den computer. Når astrofysikere og nationaløkonomer skulle "knuse store talmængder" tegnede de streger på kæmpestakke af papkort, som så både var program og data, og lod computeren læse dem, og så ventede alle i spænding på resultatet, timer og dage senere. Det var overvejende stater som havde råd til at have en hær af ingeniører gående og bygge udstyret og programmerne (stakkene af papkort). Universiteterne var først til at forske i bygningen af udstyr og programmer. I de miljøer deler man gerne – fordi forskere alle står på skuldrene af andre forskeres arbejde; samarbejde gør stærk.

Der var virksomheder, som så muligheder i computerne – og blev rigtig dygtige til at bygge maskinerne, og "programmere" dem (tegne streger på papkort). En af dem var IBM. Der blev snart hård konkurrence i feltet, fordi perspektiverne var overvældende, og kompetencerne blev konkurrencefordele, som man nødigt delte med konkurrenterne. Konkurrenterne forsøgte i stedet at lokke dygtige medarbejdere til sig i håbet om at de ad den vej kunne få adgang til kompetencerne. Modtrækket var patenter og intellectual property som tvang konkurrenter til at betale licens for at bruge en konkurrents design og metoder (selv om de måske havde lokket "opfinderen" over til sig). Sådan gik designet af udstyret og papkortene fra at være noget man delte, til at være closed source. I takt med at virksomheder blev dygtigere, faldt prisen på begge dele, og flere kunne få råd til elektronikken og papkortene der nu for længst var blevet effektiviseret til fleksible folier belagt med magnetiseret materiale - bånd, skiver, osv.

Tilgængeligheden satte flere og flere i stand til at lære (sig selv) at programmere og fordi virksomhederne kunne se økonomiske fordele ved at standardisere dele af udstyret, blev det muligt at programmere til flere leverandørers udstyr. Det skabte virksomheder i en helt ny branche: software udvikling.

I et helt andet spor og med et helt andet formål, fødtes en "ting" som sammen med computeren og programmets fødsel, skulle ændre verden aldeles: Internettet.

Det var igen universiteterne som var spydspidsen, og som i '60-erne havde overtalt det amerikanske forsvar til at kaste penge efter udviklingen af en sikker og ikke mindst fejltolerant måde at kommunikere på (mellem f.eks. atommissil siloerne og Forsvarskommandoen). Forskerne nød snart godt af at kunne dele viden mange gange hurtigere end tidligere (hvor viden først skulle trykkes og derefter omdeles i i bøger og rapporter). Det var der også virksomheder, som kunne se perspektiver i, og som blev dygtige til både at bygge udstyret, og programmere det effektivt. Hvor effektivt Internettet er som distributionskanal for alt digitalt indhold er de fleste klar over i dag.

Med computere, programmer, og distributionskanaler, har vi nu næsten alle byggestenene på plads – men hvorfor ændre noget, der virker som en særdeles effektiv (og indbringende) cocktail? Idealisme måske?! Hvad var motivationen?

Programmører er/var en slags "håndværkere" og når de ikke kan få et program til at virke, som de gerne vil, skriver de det om. Det var let i starten, fordi de nemlig skrev alt selv. Med tiden blev det nemmere/billigere at købe dele af programmet af andre, og selv kun ændre noget af programmet. Men når den del, man havde købt, så pludselig indeholdt en fejl, kunne man vente fuldstændig paralyseret indtil leverandøren havde rettet fejlen. Ønskede man at delen skulle indeholde en funktion, som ikke fandtes, og leverandøren ikke havde lyst til at bygge den funktion ind i delen – så var man paralyseret igen!

Reaktion

Hos nogen programmører affødte det den holdning at alle skulle have ret til at skille deres programmer ad, forstå hvordan de virkede, og ændre dem, hvis de mente det var nødvendigt.

Andre programmører var mere optaget af at få programmer til at virke på forskelligt udstyr, minimere sikkerhedsrisici ved at bruge programmerne og øge deres pålidelighed og effektivitet.

Jeg bliver nødt til at fremhæve én person, som i særdeleshed har været instrumentel for dannelsen af begrebet open source. Hans navn er Linus Torvalds og han er oprindeligt finne. Hans evne til at bygge meget effektive programmer er bevaret for altid i 2 "produkter" som er hans værk: kernen til operativsystemet Linux, og software-versionsstyring værktøjet Git. Han er håndværkeren, der kan se noget ineffektivt, og bygger noget, der er bedre. I tilfældet Linux fandtes allerede operativsystemer, som Windows og UNIX, men sammen med mere end 16000 frivillige hjælpere, er det lykkedes at gøre Linux så populært at selv IBM begyndte at pege på det, som svaret på, hvordan deres udstyr kunne styres – og, vel at mærke, uden at Linus Torvalds kørte en eneste avisreklame, TVspot eller Facebook kampagne (Mark Zuckerberg var først lige begyndt i skole, da Linus i 1991 frigav de første linjer af koden til Linux).

Grunden til at nævne Linus frem for en lang, lang række af andre betydningsfulde, er den, at han med sin frigivelse af koden til operativsystemet, på sin vis skabte præcedens for at stille adgangen til koden frit tilgængelig – ikke at han nødvendigvis var den første, men den kode, han delte, fik kolossal betydning for en hel branche siden da; og med Git gjorde han det 14 år senere muligt, for mange udviklere (programmører) at arbejde sammen om at bygge på det samme program, samtidigt, uden (eksempelvis) at skulle koordinere deres indsatser "a priori".

Når organisationer og virksomheder i dag i stigende grad begynder at interessere sig for, om der mon skulle være et open source alternativ til netop deres behov, så skyldes det, med titlen på Lemony Snickets bogserie, a series of unfortunate events.

  1. De fleste kan se et monopol, når det findes. Det er der ikke i IT branchen, men den er foruroligende tæt på et oligopol, bestående af meget få, meget store amerikanske tech-virksomheder, med Microsoft, Google, og Amazon som de helt centrale aktører – det er skidt for konkurrencen og især: prisdannelsen
  2. Den geopolitiske scene viser tegn på at et magtskifte er undervejs, og derfor sikrer især virksomheder sig ved, med Hr Møllers ord: at udvise rettidig omhu og undgå at et tab rammer dem
  3. Risikoen for databrist har været tilstede i en årrække/altid. EU forsøgte i midten af 10'erne at sætte det i fokus med GDPR (det blev uheldigvis en papirtiger som fodrede advokater, revisorer og konsulentbranchen). Med den siddende administration i USA er risikoen mangedoblet
  4. Manglende skalérbarhed i omkostningerne. Det har aldrig været en hemmelig, at der er en meromkostning forbundet med at uddelegere ansvar og kompetence, men det er sandsynligvis kommet bag på en del, hvor stor meromkostningen er – og at den ikke skalerer godt
  5. Kompleksiteten i forretningssystemerne (de mange programmer, som medarbejdere benytter i både produktion og administration) har nået et omfang, der truer med at ødelægge virksomheders stordriftsfordele, og begrave dem i hvad der til alle tider har været enhver organisations og forretningsidés banemand: bureaukrati.
  6. Professionaliserede købere. Private virksomheders (men også succesfulde offentlige institutioners) konkurrencemæssige fordele ligger i deres unikke håndtering af kunden, produktet, distributionen, og/eller transaktionen, og det DNA afspejles altid i forretningssystemerne. IT branchen har solgt "standard systemer" siden jeg var lærling, men leveret (og levet af) tilpasninger til de samme, og det "lock-in" (hvor man låses til en leverandør og deres "tilpasninger") er købere i dag i stigende grad blevet så erfarne i at gennemskue, at et alternativ bliver relevant

Er open source løsningen?

Løser åben kildekode de problemer? Ja, hvis efterspørgslen efter fx Microsoft's produkter udebliver, reduceres deres markedsrolle. Spredes efterspørgslen på et utal af konkurrerende produkter (eksisterende såvel som nye der måtte opstå som følge af muligheden), vil det øge konkurrencen, fremme prisdannelsen og innovationen.

Værktøjers kompleksitet har en afgørende indflydelse på deres ibrugtagning, accept blandt brugere, og udnyttelsesgraden af dem. Adgangen til at tilpasse eller direkte fjerne funktionalitet vil uomtvisteligt reducere kompleksitet, og skabe muligheden for at fjerne eller mindste risikoen for databrist (når værktøjets virke kan analyseres, revideres, og reproduceres).

Skalérbarheden i anvendelsen (og givetvis også omkostningerne) vil øges drastisk i takt med reduktionen i kompleksitet. IT branchen har vist det i mindst 15-20 år! SaaS (hvor du betaler hver måned for at bruge et værktøj) var svaret på en række spørgsmål: hvordan kan vi maksimere indtjeningen på den kode vi skriver? hvordan kan vi reducere dybden af 'salgstrakten' = gøre det nemmere at sælge kunden på løsningen? hvordan kan vi sikre vores customer retention (hvordan holder vi kunderne fast)? Fjern kompleksitet (gør det nemmere for kunden at "forstå" produktet) ved at begrænse produktets funktionelle domæne.

Der venter en ny verdensorden, nye værdikæder, måske en ny "basis valuta" til erstatning for dollaren. Der venter en næsten overvældende strukturel ændring af samfundet, hvor teknologi kommer til at spille en endnu større rolle. Vi kender nogle få af begreberne allerede: robotter, AI, mfl. Vi ved også at big is beautiful men at complexity kills og måske lever softwareløsninger ikke længe nok til at de kan retfærdiggøre fler-faktor omkostninger i tilpasninger – og hvis det så er standard, som alle bruger, vil det så ikke være nærliggende at forlange, at dette "fundament" er kendt, revidérbart, reproducérbart; at det er standarden, at det er open source?

I dén kalejdoskopiske kontekst er open source måske det bedste svar, i det mindste på den kortere bane.