Hvad er open source-software, og hvorfor betyder det noget?

Geeks beskriver ofte programmer som ”open source” eller “gratis software”. Hvis du undrer dig over, hvad disse udtryk betyder, og hvorfor de betyder noget, kan du læse videre. (Nej, "gratis software" betyder ikke kun, at du kan downloade det gratis.)

Uanset om et program er open source eller ej, betyder det ikke kun for udviklere, det betyder i sidste ende også for brugerne. Open source softwarelicenser giver brugerne friheder, som de ellers ikke ville have.

Billedkredit: Quinn Dombrowski på Flickr

Definitionen af ​​open source

Hvis et program er open source, er dets kildekode frit tilgængeligt for dets brugere. Dets brugere - og alle andre - har evnen til at tage denne kildekode, ændre den og distribuere deres egne versioner af programmet. Brugerne har også mulighed for at distribuere så mange kopier af det originale program, som de ønsker. Alle kan bruge programmet til ethvert formål; der er ingen licensgebyrer eller andre begrænsninger for softwaren. OSI har en mere detaljeret definition af "open source" på sit websted.

For eksempel er Ubuntu Linux et open source-operativsystem. Du kan downloade Ubuntu, oprette så mange kopier, som du vil, og give dem til dine venner. Du kan installere Ubuntu på et ubegrænset antal af dine computere. Du kan oprette remixer af Ubuntu-installationsdisken og distribuere dem. Hvis du var særligt motiveret, kunne du downloade kildekoden til et program i Ubuntu og ændre det og oprette din egen tilpassede version af dette program - eller af selve Ubuntu. Open source-licenser tillader dig alle at gøre dette, mens lukkede kildelicenser lægger begrænsninger på dig.

Det modsatte af open source-software er lukket kildesoftware, som har en licens, der begrænser brugerne og holder kildekoden fra dem.

Firefox, Chrome, OpenOffice, Linux og Android er nogle populære eksempler på open source-software, mens Microsoft Windows sandsynligvis er det mest populære stykke lukket kilde-software derude.

Open Source vs. fri software

Open source-applikationer er generelt frit tilgængelige - selvom der ikke er noget, der forhindrer udvikleren i at opkræve kopier af softwaren, hvis de bagefter tillader omfordeling af applikationen og dens kildekode.

Det er imidlertid ikke det, der henviser til "fri software". Den "gratis" i fri software betyder "fri som i frihed", ikke "fri som i øl." Den gratis softwarelejr, ledet af Richard Stallman og Free Software Foundation, fokuserer på etik og moral ved at bruge software, der kan styres og ændres af brugeren. Med andre ord fokuserer den gratis softwarelejr på brugerfriheder.

Richard Stallman. Billede af Fripog på Flickr.

Open source-softwarebevægelsen blev oprettet for at fokusere på mere pragmatiske grunde til at vælge denne type software. Open source-fortalere ønskede at fokusere på de praktiske fordele ved at bruge open source-software, der appellerer mere til virksomheder snarere end etik og moral.

I sidste ende udvikler både open source og gratis software-fortalere den samme type software, men de er uenige om meddelelsen.

Typer af licenser

Der er mange forskellige licenser, der bruges af open source-projekter, afhængigt af hvilke udviklere foretrækker for deres program.

GPL, eller GNU General Public License, bruges i vid udstrækning af mange open source-projekter, såsom Linux. Ud over alle ovennævnte definitioner af open source angiver vilkårene i GPL, at hvis nogen ændrer et open source-program og distribuerer et afledt arbejde, skal de også distribuere kildekoden til deres afledte arbejde. Med andre ord, ingen kan tage open source-kode og oprette et program med lukket kilde ud fra den - de skal frigive deres ændringer tilbage til samfundet. Microsoft omtalte GPL som ”viral” af denne grund, da den tvinger programmer, der indeholder GPL-kode, til at frigive deres egen kildekode. Naturligvis kan et programs udviklere vælge ikke at bruge GPL-kode, hvis dette er et problem.

Nogle andre licenser, såsom BSD-licensen, lægger mindre begrænsninger på udviklere. Hvis et program er licenseret under BSD-licensen, kan alle inkorporere programmets kildekode i et andet program. De behøver ikke frigive deres ændringer tilbage til samfundet. Nogle mennesker ser, at dette bliver endnu mere "gratis" end GPL-licensen, da det giver udviklere frihed til at indarbejde koden i deres egne lukkede kildeprogrammer, mens nogle mennesker ser det som mindre "gratis", fordi det tager rettigheder væk fra slutbrugerne af det afledte program.

Fordele for brugere

Dette er ikke alle tørre, uvigtige ting, der kun betyder noget for udviklere. Den mest åbenlyse fordel ved open source-software er, at den kan fås gratis. Eksemplet på Ubuntu Linux ovenfor gør det klart - i modsætning til Windows kan du installere eller distribuere så mange kopier af Ubuntu som du vil uden begrænsninger. Dette kan være særligt nyttige servere - hvis du opretter en server, kan du bare installere Linux på den. hvis du opretter en virtualiseret klynge af servere, kan du nemt duplikere en enkelt Ubuntu-server. Du behøver ikke bekymre dig om licensering og hvor mange forekomster af Linux du har tilladelse til at køre.

Et open source-program er også mere fleksibelt. For eksempel skuffede Windows 8s nye grænseflade mange Windows-brugere på lang tid på desktop. Da Windows er lukket kilde, kan ingen Windows-brugere tage Windows 7-grænsefladen, ændre det og få det til at fungere korrekt på Windows 8. (Nogle Windows-brugere prøver, men dette er en omhyggelig proces med reverse engineering og ændring af binære filer. )

Når et Linux-skrivebord som Ubuntu introducerer en ny desktop-interface, som nogle brugere ikke er fans af, har brugerne flere muligheder. For eksempel, da GNOME 3 blev frigivet, var mange Linux-desktopbrugere lige slået fra. Nogle tog koden til den gamle version, GNOME 2, og ændrede den for at få den til at køre på de nyeste Linux-distributioner - dette er MATE. Nogle tog koden til GNOME 3 og ændrede den for at få den til at fungere på en måde, som de foretrak - dette er kanel. Nogle brugere skiftede lige til eksisterende alternative skriveborde. Hvis Windows var open source, ville Windows 8-brugere have flere valgmuligheder og fleksibilitet. Bare se på CyanogenMod, en populær, community-driven distribution af Android, der tilføjer funktioner og support til nye enheder.

Open source-software tillader også udviklere at "stå på giganternes skuldre" og oprette deres egen software. Vidne til Android og Chrome OS, som er operativsystemer bygget på Linux og anden open source-software. Kernen i Apples OS X - og derfor iOS - blev også bygget på open source-kode. Valve arbejder rasende på at portere deres Steam-spilplatform til Linux, da dette ville give dem mulighed for at oprette deres egen hardware og kontrollere deres egen skæbne på en måde, der ikke er mulig på Microsofts Windows.

Dette er ikke en udtømmende beskrivelse - hele bøger er skrevet om dette emne - men du skal nu have en bedre idé om, hvad open source-software faktisk er, og hvorfor det er nyttigt for dig.