Hvorfor favorittprogramvaren din med betaling ikke ville eksistert uten åpen kildekode
Programvare får verden til å gå rundt, og ofte må du betale en god slump penger for de største og mest populære programvarepakkene. Dette er litt ironisk når man tenker på at omtrent all programvare du betaler for i dag, i det minste delvis er bygget på arbeidet til frie og åpne kildekodeutviklere.
De fleste kommersielle programvarer blir satt sammen, ikke oppfunnet
I de tidlige dagene av databehandling, selv i de tidlige dagene av den moderne PC-en, ble programvare vanligvis skrevet fra bunnen av, men etter hvert som kompleksiteten til operativsystemer og programvare begynte å vokse, ga det rett og slett ikke mening å stadig finne opp hjulet på nytt. Så programvaren ble modulær. I stedet for å skrive en funksjon manuelt, ville du kalle den funksjonen fra et delt bibliotek.
Akkurat som med annen programvare, er noen biblioteker proprietære og må lisensieres fra eieren, men mange andre er åpen kildekode. Wikipedia har en omfattende liste over programvarebiblioteker med åpen kildekode hvis du vil se hvor mange forskjellige det finnes. Jeg vil føle meg ganske sikker på å si at nesten all programvaren du bruker i dag, faktisk er avhengig av minst ett av disse bibliotekene.
Ved å bruke biblioteker for vanlige funksjoner, kan programvareutviklere omdirigere ressurser til funksjonene som virkelig er nye og unike i programvaren deres.
Åpen kildekode håndterer de vanskeligste problemene stille
De mest kompliserte problemene i programvareutvikling er de vi alle tar for gitt, hovedsakelig fordi store åpne kildekodeprosjekter gjør alt det tunge arbeidet med disse grunnleggende systemene.
Jeg snakker om nettverksbygging, kryptering, mediekodeker, database-motorer og datakomprimering. Den virkelig geni-nivå matematikken og koden som det store flertallet av «kodere» ikke kunne replikere, for ikke å snakke om å forstå.
Selvfølgelig, med nok penger og talent kunne store selskaper replikere disse funksjonene ved bruk av proprietær kode, men å gjøre feil kan få enorme kostnader og påvirke omdømmet negativt. Mens de åpne kildekodeløsningene for disse kjernefunksjonene er beviste og har vært gjennom en lang prosess med fellesskapsdrevet feiljakt. Dette betyr også at selv om en utvikler ikke kan påstå å eie koden, drar de nytte av dette delte ansvaret for å vedlikeholde og forbedre kodebasen.
Det gir ingen noen urettferdig fordel. Hvis alle har tilgang til den samme åpen kildekode-grunnlaget, utjevner det faktisk spillefeltet.
Betalt programvare tjener penger på polering, ikke på grunnleggende funksjoner
Når du betaler for proprietær programvare, betaler du nesten aldri for ren oppfinnelse. Du betaler for finishing, personlig kundestøtte og et løfte om et visst nivå av tjenestelevering.
Det er det vakre fasade-laget ovenpå de solide open-source-bena, og det er selvfølgelig rettferdig. Open source-programvareprosjekter er som regel laget av kodere, for kodere. Open source-apper som er ment for sluttbrukere som deg og meg, utgjør ikke flertallet av FOSS (Free and Open Source)-kaken. Det forklarer også hvorfor open source-apper ofte har forferdelige brukergrensesnitt, fordi insentivene mellom FOSS og lukkede prosjekter ikke er de samme.
Lisenser gjør kommersiell bruk mulig
Det er lett å overse at hele grunnen til at åpen kildekode-programvare kan være et så kraftfullt sett med delte rammeverk for betalt programvare vi bruker, har absolutt ingenting med datakode å gjøre. Faktisk er koden helt lik. Det som skiller FOSS er lisensiering. Genialiteten med «copyleft»-bevegelsen er hvordan åpne kilde-lisenser er nøye utformet for å ikke etterlate noen tvil om hvordan, når, hvor og av hvem programvaren kan brukes.
Hvis disse lisensene ikke var ordentlig formulert, ville selskaper som utvikler betalt programvare aldri tatt risikoen med å bruke FOSS-kode, fordi konsekvensene kunne være alvorlige.
Dette ble elegant demonstrert av Linus Torvalds' (skaperen av Linux) nektelse av å overføre Linux-kjernelens lisens fra GPL-2.0 til GPL-3.0. Dette er fordi den nye versjonen av lisensen ville hindre alle som ønsket å bruke Linux-kjernen i en enhet som en streamingboks eller annet innebygget system fra å låse ned enheten. Den gir alle rett til å erstatte programvaren på en slik enhet med hva de måtte ønske.
Hvis Linux-kjernen skulle gå over til denne nyere versjonen, ville maskinvareprodusenter som for øyeblikket bruker Linux-kjernen som grunnlag for maskinvaren sin, forlate den, fordi det er for risikabelt for kommersielle produkter.
Økosystemet er mer symbiotisk enn antagonistisk
Jeg tror mange ser på kommersiell programvare og FOSS som fiender, men det har aldri vært tilfelle. Faktisk oppsto FOSS-programvare i det minste delvis fordi ulike kommersielle aktører innså at de trengte en måte å dele ting på uten å komplisere sine juridiske rammeverk. Fra ett perspektiv kan man se FOSS som en slags åpen standard, som Bluetooth LE eller ACPI.
Vi trenger begge typene kode for å lage programvaren vi trenger og for å bruke ressurser effektivt, men selvfølgelig har FOSS blitt mye mer enn det. Det jeg virkelig vil at du skal ta med deg fra dette, er at neste gang du åpner en app du har betalt for, kan du tenke litt på all åpen kildekode som gjorde det mulig i utgangspunktet.


