7. August 2022

Derfor har du brug for Open Source (2. del)

I det følgende vil jeg beskæftige mig med økonomien omkring Open Source. Mit tidligere indlæg var temmelig teksttungt, så nu leger vi lige, at du stiller spørgsmålene, og så svarer jeg.

Sådan fungerer økonomien i Open Source-projekter

Hvordan tjener folk penge på Open Source?

Det kan være svært at forestille sig, at man kan tjene penge på at give sit produkt væk til en kostpris på kroner nul. Men det kan man, særligt i disse tider, hvor vi bevæger os mere og mere over imod en serviceøkonomi.I stedet for at der tjenes penge på hovedproduktet ses typisk, er at der tjenes penge på “udenomsydelser”. Hvis produktet er f.eks en Officepakke, med et tekstbehandlingsprogram, tjener man måske penge på donationer fra brugerne, timebaseret konsulentbistand, udvikling af ekstramoduler eller support. Mange af firmaerne i Open Source-miljøet har været i drift i årtier, så det har vist sig at være en holdbar forretningsmodel.

Mulighederne er mange, der findes i dag Open Source-produkter indenfor alle områder. Da jeg og en god ven startede vores første, lille webbureau tilbage i starten af 00′erne, stod vi og manglede et administrationssystem til indholdsstyring eller på engelsk: et Content Management System (CMS). Vi fandt Open Source CMS’erne TYPO3 og senere Umbraco, udviklet af hhv. Kasper Skårhøj og Niels Hartvig. Uden de systemer var vi næppe nogensinde startet op, da de kommercielle closed-source modparters CMS’er kostede en bondegård. De var tydeligvis ikke rettet mod startups og små selvstændige.

Vi kunne måske have fået nogle gode reseller-deals med closed-source udviklerne, men ingen af os havde lyst til at kræve de mange tusinde kroner fra en nystartet kunde, allerede inden vi var kommet igang, og så vores egen konsulenttarif oveni.
Adskillige websites, og moduler senere er vi en masse erfaringer rigere. Det har været en klar fordel for os, at vi har haft fuld adgang til koden i de Open Source-systemer, vi har brugt. Det har betydet, at jeg selv har kunnet tilføje funktioner eller rette fejl, når vi har opdaget nogle. Men lad mig være helt ærlig: Det har også været aldeles frygtindgydende at skulle “wrestle” med kode, man ikke kender til. Når det så virker bagefter, dårlig slamkode eller ej, så er det fandme fedt!

Ulemperne

Ingen roser uden torne, og nu kommer vi så til de erfaringer, jeg selv har gjort mig med Open source-modellen.
Det følgende er vinklet med forretningsøjne, da jeg har mødt de største udfordringer i forretningssammenhæng. Der er nogle problemstillinger, som privatbrugere måske ikke stifter bekendskab med på helt samme måde, og med samme risici.

Mangel på support:

Man skal se sig rigtig godt for, når man vælger et open source-produkt. Uanset om der er tale om et omfattende produkt eller et lille modul. Er man erhvervsdrivende, kan det godt betale sig at kigge på de supportmuligheder, der eventuelt findes, så man kan få hjælp, når problemer opstår. Ellers er Open Source-leverandøren ikke forpligtet til at hjælpe, da de åbne licenser ofte betyder et fravalg af garantier og ansvar. Så tjek licensens betingelser, inden du bruger produktet.

Projekter stoppes helt:

Da der ingen kontrakt/licensmæssige forpligtelser er, kan et Open Source-produkt i princippet ophøre med at eksistere fra den ene dag til den anden. Det har jeg set med mindre projekter, mens de store typisk bliver “forket” og bliver til nye projekter, der kører videre, hvor det gamle slap.

Mangel på vilje til at udbedre fejl eller lave opdateringer

Måske min største “beef” med Open Source-modellen i erhvervssammenhæng. Denne hænger lidt sammen med ovenstående afsnit.

Netop fordi meget brug af et Open Source-produkt foregår på eget ansvar og på frivillig basis, kan det være svært at få den oprindelige udvikler af et produkt i tale, hvis samarbejdet omkring et produkt af en eller anden grund er gået i vasken, eller vedkommende har tabt motivationen. Den slags sker.

På Linux-fronten er der altid hjælp at hente, for nettet bugner af forums eller man kan betale sig til professionel support. Men kommer man ned i de mindre, niche- og hobbyprægede Open Source-produkter, så kan der opstå problemer. Jeg har mest oplevet positive ting, men også været nødsaget til selv, at “putte fingrene i gryden”, for at få et projekt færdigt til en deadline.

Lidt irriterende, da vi jo så har måttet sænke farten på projektet, da der så kommer en uuforudset stopklods. Men sådan er det. Alternativet havde været, at jeg skulle udvikle modulet helt fra bunden. Der har været eksempler på, at jeg/vi har måttet udskyde planlagte opdateringer pga. mangel på kompatible moduler. Her kan man mærke at Open Source-miljøet nogle gange arbejder i forskellige retninger og hastigheder.

Ovenstående lyder meget negativt og er brugt til at illustrere potentielle faldgruber, baseret på mine egne erfaringer. Driver du et firma baseret på Open Source, så skal du eller dine medarbejdere være parat til at tage ejerskabet over koden fuldt og helt, ellers kan du ikke servicere dine egne slutkunder tilstrækkeligt.

6. August 2022

Derfor har du brug for Open Source (1. del)

Jeg kender ikke aldersspredningen på dem, der evt. læser denne blog - men jeg er vokset op på et tidspunkt, hvor stort set alting indenfor IT kostede penge. Alle firmaer havde den her silo-tankegang, hvor man lavede proprietære filformater og holdt sine kort tæt på kroppen. Så stor var min entusiasme, da jeg fandt ud af, der var noget, der hed Open Source. Open Source er betegnelsen for en måde at dele viden på - mere specifikt computerkode - på et grundlag af meget lidt restriktive, åbne licenser. I stærk kontrast til slutbrugerlicenserne på kommerciel, closed source software. Jeg starter med det måske mest kendte Open Source-projekt - Linux

Linux er.. overalt!

Du har formentlig stiftet bekendskab med Open Source og Linux uden at vide det. Det driver størstedelen af internettets servere, harddiskoptagere, køleskabe og mobiltelefoner, hvis producenten ikke har bygget sit eget lukkede system. Styresystemet Android er udstyret med en kraftigt Google-modificeret Linux-kerne. Du kan faktisk få en ren Linux på din mobiltelefon, hvis den er understøttet af community-projektet PostmarketOS. Det er meget nørdet (yay!) og er ikke helt klar til masserne endnu - men sjovt at lege med til udviklings/hobbybrug. Her booter jeg PostmarketOS på en gammel Samsung S3 Mini. Det er den vej, vi skal udfra et bæredygtighedsprincip. Produkterne skal holde længere, og det kan vi gøre som brugere, hvis vi selv har kontrollen med dem på softwareniveau.

Linux og jeg

Skiftet til Linux-operativsystemet var ikke let. JJeg har taget flere tilløb gennem tiden, for det var ikke let at slippe det Windows, jeg kendte så godt. Jeg har været med siden Windows 3.1, og vil kalde mig en habil superbruger. Men jeg har hele tiden haft et godt øje til Linux, særligt fordi det rummer noget helt basalt: Samarbejde på et jordnært plan. Det er produktet at folk, der arbejder sammen på tværs af forskellige forudsætninger for at bruge et computersystem.

Når først man er kommet “ud på den anden side”, finder man dog ud af, at der er en hel ny verden. Mine første tilløb til at skifte til Linux, skete allerede tilbage i 2004, hvor jeg stødte ind i distributionen Mandrake, men allerede inden da, havde jeg leget lidt med Redhat Linux i 1997, som var en af de første større kommercielle udgaver. I mangel af steder at finde hjælp, kom jeg dog ikke ret langt og hoppede tilbage i safe haven på Windows. Sidenhen fandt jeg Ubuntu Linux, som har været mit primære system i en del år. Der findes mange andre Open Source-styresystemer, men jeg vil fokusere på Linux her, og vender tilbage med et blogindlæg om *BSD’erne senere.

En diamentral modsætning

Linux er en diamentral modsætning til Windows, hvor Microsoft suverænt styrer programmerne, der skal installeres, når du køber din computer. Ubuntu, som jeg bruger, kommer også med en række standardprogrammer, men man kan vælge en minimal installation, hvor der praktisk talt kun er en browser og et skriveprogram. Microsoft installerer en række -programmer og lokke-apps, der har til formål at få dig til at købe mere, og som fylder på computerens harddisk. En Windows-installation fylder rundt regnet 20-30 gigabyte mere end en Ubuntu -nstallation, selvom funktionaliteten er den samme. Paradoksalt nok, så havde tidligere udgaver af Windows før Windows 7 mulighed for, at du kunne til/fravælge komponenter under installationen, men den har man fjernet.

Da det her ikke skal blive ren Microsoft-bashing, så må jeg sige at IT-giganten har haft en positiv udvikling de senere år, under den “nye” CEO Satya Nadella (han har vist siddet der en del år efterhånden). Det har betydet et nyt friskt syn på Open Source og Linux fra Microsofts side, samlet set, nok især pga. deres Azure-cloud platform.

“- Jamen, hvis Linux er så godt, hvorfor er det så ikke det, der dominerer?”, tænker du måske?
Kort sagt, historisk unfair konkurrence/smart markedsføring/godt styresystem (afhængig af ens perspektiv) fra Microsoft og bestemt også, fordi Linux først nu er der, hvor det kan bruges af almindelige mennesker, uden at man føler, der mangler noget.

Førhen var mange funktioner rettet mod brugere med en vis erfaring, og platformen havde en del uslebne kanter. Men community’et omkring Linux er blevet mere fokuserede på, at lave mere polerede, brugervenlige programmer, end man har været før. Der er kommet mere professionalisme ind i billedet, og fokuseret udvikling. Det er en positiv udvikling, synes jeg.

Linux, både en platform og en kerne

Et tryk på “spol tilbage”-knappen: Jeg skylder måske lige at forklare, hvad Linux er. For det kan være meget forvirrende, når man først læser om det. Linux udspringer af Unix-platformen ligesom Apples MacOS og er en både en hel platform og en kerne. Unix blev brugt på mainframes i 60′erne og 70′erne, men som kutomen var dengang, så var det en bekostelig affære at anskaffe sig en licens til et Unix-system. Linus Torvalds arbejdede med Andrew S. Tannenbaums Minix og blev inspireret til at lave en åben udgave, der blev til Linux. Det så dagens lys i en nyhedsgruppe i 1991, and the rest is history, som man siger. Linux blev baseret på den åbne GPL-licens fra Free Software Foundation, som Richard M. Stallman havde grundlagt i 1983.

The Linux Kernel. I sin mest simple form: Arbejdsfunktionen for en kerne, eller på engelsk en kernel, er at få ens computer til udføre nogle grundlæggende processer, relateret til det udstyr, der findes i computeren. Rundt om kernen man så en række bruger-vendte programmer, der udgør samlet set platformen Linux.

Den Linux-kerne, som Linus Torvalds, m.fl. stadig vedligeholder er nok den mest kendte, men der findes andre kernels. Free Software Foundation vedligeholder Linux-libre kernels, der er helt fri for “binary blobs”, små oaser af proprietær kode, som desværre eksisterer, fordi nogle virksomheder stadig finder det nødvendigt at holde kortene ind til kroppen. Ulempen ved disse Libre kernels er, at de ikke understøtter så meget hardware.

Både kernen og programmerne i et Linux-system kan skiftes ud med andre komponenter, så alle kan stykke deres platform sammen, som man lyster. En sådan pakke kaldes en distribution. Distributioner findes i alle afskygninger, og vedligeholdes af både enkeltpersoner på hobbyniveau samt små og store firmaer. Selvom sammensætningen af programmer kan være meget varieret, har man vedtaget en række standarder, så alle Linux-systemer kan snakke sammen.

Du kan se en oversigt over distributioner her: https://distrowatch.com/

Almost there…

Hænger du på endnu? Skal jeg opsummere denne 1. del, så: Det, der gjorde at jeg forelskede mig i Open Source-miljøet er, at alle de her fremskridt, der gøres, dem deler man og alle drager fælles nytte af det. Med den silobaserede tankegang, der stadig eksisterer til dels, hvor alle beskytter deres lille felt, ville man opleve at alle sad og opfandt deres egen dybe tallerken i stedet for at arbejde sammen. Selve metodikken kunne overføres til andre steder i samfundet. Her er der dog noget helt fundamentalt, der blokerer, nemlig patenter. Men det er også stof til et blogindlæg for sig.

Nu har jeg brug for en pause, vi ses i 2. del, hvor jeg kigger lidt på økonomiske og funktionelle fordele og ulemper ved Open Source-modellen.
God lørdag :-)