Programmering

Hvad er open source software? Open source og FOSS forklaret

Baggrund for hvert stykke software, du bruger, er kildekode, der udsteder kommandoer og håndterer de data, der giver softwaren mulighed for at gøre, hvad den gør. Spørgsmålet om, hvem der skulle have ret til at se på, ændre eller omfordele denne kildekode, har længe været en af ​​de grundlæggende ideologiske skillelinjer inden for computerværdien.

Tilhængere af open source-software kommer, som navnet antyder, ned på siden af ​​åbenhed; de føler, at folk skal have ret til at få adgang til kildekoden til den software, de bruger. Som vi dog ser, er der i praksis en masse variation, der falder ind under dette mærke. Forskellige slags open source-software findes i næsten enhver niche, du kan tænke på - faktisk dominerer open source mange af dem.

Hvad er open source software, hvad er gratis software - og er de forskellige?

En kortfattet definition af open source-software er, at det er software, hvis underliggende kode kan undersøges, ændres og omdistribueres. (Der er en længere og mere officiel definition, som vi kommer nærmere til.) De "ændrede og omfordelede" dele er virkelig nøglen til open source-filosofien. På trods af hvad navnet kan antyde, skal du blot åbne din kildekode, så folk kan se på det, ikke gøre det åben kilde.

På nogle måder er udtrykket "open source software" et retronym: I de tidlige årtier inden for datalogi var softwares kildekode tilgængelig som en selvfølge og udveksles frit mellem forskere og brancheforskere. Computere var få og langt imellem og forventedes at blive ændret grundigt af deres brugere, så folk havde brug for adgang til koden. På mange måder blev software set som en tilføjelse til computerhardware; først i 1974 blev det endog lovligt fastslået, at software var underlagt copyright. Men da mikrocomputer-æraen begyndte i slutningen af ​​1970'erne, begyndte branchen at skifte til den position, at software var noget, der havde pengeværdi i sig selv, og at adgangen til den underliggende kode kunne og burde begrænses for at beskytte softwareskabere 'rettigheder. Bill Gates 'berømte åbne brev fra 1976 til hobbyister, der klager over den udbredte piratkopiering af Microsofts første produkt, Altair BASIC-tolk, er et vandskeledokument for dette skift.

Mens disse nye ideer hurtigt blev taget op af den hurtigt voksende softwareindustri, skubbede nogle mennesker tilbage mod dem. En af de tidligste modstandere var Richard Stallman, der grundlagde Free Software Foundation (FSF) i 1985. Den "gratis" i gratis software er beregnet til at betegne brugernes frihed til at ændre og distribuere kode, som de vil; der er ingen regel mod betaling af gratis software i denne forstand. Sondringen trækkes ofte mellem "fri som i fri øl" og "fri som i ytringsfrihed", hvor fri software er i sidstnævnte lejr.

Alligevel gjorde ideen om gratis software mange mennesker i den private industri, der trods alt ikke var fans af at give ting væk nervøse. I 1998 skabte Christine Peterson udtrykket "open source" til dels som et forsøg på at gøre ideen mere tilgængelig for nybegyndere, især dem, der arbejder i profit-virksomheder. Selvom Stallman har modstået begrebet open source og sagt, at det vender sig væk fra de originale politiske og filosofiske ideer om fri software, er det blevet den dominerende sætning, der beskriver dette koncept. Venn-diagrammet over fri og open source-software overlapper nok, at de to gange kombineres under akronymet FOSS (gratis og open source-software). Generelt er al fri software open source, selvom en lille del af open source-software har licensbetingelser, hvilket betyder, at den ikke er gratis (mere om open source-licens på et øjeblik).

Begrebet gratis og open source-software gav anledning til en anden retronymdefinition: ”proprietær software,” al software, der ikke er open source.

Open source softwarelicenser

Alle rettigheder og ansvar, der er involveret i open source-software, er etableret af de licenser, som softwaren distribueres under. Da den juridiske doktrin om, at software var underlagt ophavsret, blev etableret, begyndte der at blive skrevet softwarelicenser for at give en kontrakt mellem ophavsretsejeren og brugeren, hvilket gav brugeren tilladelse til at udføre softwaren på en personlig computer.

Oprindeligt eksisterede softwarelicenser for at begrænse brugeradfærd og beskytte softwareproducentens rettigheder. Men advokater for fri software indså, at de kunne invertere licensers oprindelige formål: En softwarepakkes licens kunne i stedet kræve, at den underliggende kode var tilgængelig for alle, der bruger softwaren, og at brugerne havde ret til at redigere og omfordele denne kode. Den første open source softwarelicens (skønt den går forud for udtrykket) er sandsynligvis meddelelsen om kopieringstilladelse fra GNU Emacs, der blev udgivet i 1985 til versionen af ​​Emacs-teksteditoren skrevet af FSF's Stallman.

Siden da er antallet af gratis og open source-licenser spredt, idet hver sætter lidt forskellige vilkår for brugen af ​​den licenserede kode; Wikipedia opretholder et ret godt diagram med detaljer om de vigtigste licenser. Per definition giver enhver af disse open source-licenser brugerne de tre grundlæggende friheder til at kunne læse, redigere og omfordele kildekode; det vigtigste område, hvor de adskiller sig, er i de vilkår, de pålægger omfordeling:

  • Tilladelige licenser giver dig mulighed for at omfordele enhver kildekode, uanset hvad du finder passende. Du kan for eksempel tage kildekode frigivet under en tilladelig licens, inkorporere den i din egen software og derefter frigive softwaren under en licens. BSD-licensen er en af ​​de mest berømte tilladende licenser.
  • Copyleft licenser kræve, at enhver omfordelt kode, der indeholder den licenserede kode, også frigives under en lignende licens. De forskellige versioner af GNU Public License (GPL) fra FSF er copyleft-licenser, og deres mål er at kræve, at udviklere betaler det ved at dele de fordele, de modtager ved at inkorporere open source-kode i deres projekt.

Det er interessant at bemærke, at ideerne bag disse licenser har spredt sig ud over softwareverdenen. Creative Commons er en lovlig infrastruktur til anvendelse af lignende udtryk på skriftlige eller visuelle kunstneriske værker.

Open Source-definitionen og Open Source-initiativet

Open source er i sagens natur ikke kontrolleret af en enkelt enhed eller organisation. I 1998 grundlagde en gruppe prominente udviklere, herunder Bruce Perens og Eric S. Raymond, Open Source Initiative (OSI), en nonprofit, der er dedikeret til fortalervirksomhed for open source inden for den større softwareindustri. OSI forsøgte og undlod at mærke udtrykket open source i 1999; ikke desto mindre er deres formelle Open Source-definition efter konsensus den ramme, som alle licenser, der kalder sig open source, følger. Ud over den frihed til at undersøge, ændre og omfordele kode, som vi allerede har diskuteret, forbyder Open Source-definitionen licenser, der diskriminerer specifikke grupper eller mennesker, der forhindrer koden i at blive brugt til et specifikt formål eller indsatsområde, eller fra at køre på en bestemt enhed eller enhedstype.

Open source-udvikling og open source-projekter

Udvikling ved hjælp af open source-kode finder sted i alle slags miljøer, fra universiteter til store virksomheder, og følger ofte de samme mønstre som enhver anden form for softwareudvikling. Men der er en bestemt type åben, samfundsudviklingsproces, der er knyttet til open source. I sit indflydelsesrige essay "Katedralen og basaren" skitserede Eric S. Raymond sin vision for denne proces, hvor alle kan få adgang til koden, og opdateringer føjes til kodebasen fra en bredt distribueret gruppe udviklere, der dypper ind og ud som deres interesse dikterer.

Open source-udvikling af denne type er organiseret omkring open source-projekter. Disse arbejder undertiden på et enkelt stykke software og nogle gange et helt relateret sæt applikationer. Versionskontrolsoftware holder alles bidrag på linje. GitHub er sandsynligvis den mest populære.

Undertiden startet af en enkelt person, open source-projekter er generelt selvorganiserede, små internetsamfund, og selvom alle kan bidrage til ethvert projekt, arbejdes de fleste normalt af et relativt lille sæt udviklere. Nogle gange kan et projekt være sponsoreret af et profitfirma, der planlægger at bruge den software, det producerer, endda gå så langt som at sætte projektets mest fremtrædende udviklere på lønningslisten.

Eksempler på open source

Open source-software er faktisk allestedsnærværende og skaber meget af fundamentet for det moderne internet. Måske er det mest berømte open source-projekt Linux, den open source Unix-variant, der driver millioner af servere. Andre fremtrædende og yderst vigtige projekter inkluderer Apache-webserveren, MySQL-databasen og WordPress. Talrige udviklingsrammer frigives som open source, fra Ruby on Rails til Microsofts .Net Core.

Open source har haft mindre succes med at producere hjemmecomputersoftware beregnet til almindelige brugere. På trods af de høje omkostninger ved proprietære softwarepakker som Microsoft Word og Adobe Photoshop har open source-modparter som OpenOffice og GIMP aldrig formået at finde en niche ud over diehard-entusiaster, hovedsageligt fordi open source-samfundet traditionelt har prioriteret funktioner og fleksibilitet frem for let at brug. (Filformat-lock-in fra proprietære leverandører har ikke hjulpet.) Selv Linux, hvis talsmænd siden slutningen af ​​1990'erne har hævdet, at open source OS kun er et år væk fra at dominere skrivebordet, har aldrig rigtig formået at springe til forbrugerplads. Generelt bruges open source til infrastruktur langt mere end til slutbrugersoftware. Men bevægelsen fra monolitisk software, du kører lokalt til SaaS-apps, har været en velsignelse for open source, da skybaseret infrastruktur stort set er baseret på stakke, der er domineret af open source.

Husk hvad vi sagde om for-profit virksomheder, der understøtter open source? Ofte er disse projekter produceret under en tilladelig licens, så disse virksomheder kan sætte open source-kode i kernen af ​​deres proprietære tilbud, samtidig med at de opretholder en separat open source-codebase parallelt som et fællesskabsprojekt. For eksempel har Android mobile OS Linux i sin kerne; alle Apples mobile og desktop OS'er er baseret på Darwin, et open source-operativsystem, der oprindeligt stammer fra BSD Unix. Selv Googles Chrome er baseret på en open source-browser kaldet Chromium.

Open source-samfundet og open source-bevægelsen

Open source er mere end bare en udviklingsproces; det er en filosofi, som folk brænder for, og det er et socialt samfund, som alle med programmeringsevner kan deltage i. Faktisk er det en hel række samfund, som Linux Foundation udtrykker det. (Eksistensen af ​​nonprofitorganisationer som Linux Foundation og OSI er et vigtigt aspekt af dette samfund.) Florian Effenberger har et stort essay om, hvordan open source-samfundet berigede hans liv.

Du vil ofte høre folk tale om open source eller fri software-bevægelse, som har en konnotation af politik og fortalervirksomhed. Masser af mennesker i open source-samfundet har presset på for udbredt anvendelse af open source-software af forskellige årsager: De synes, open source producerer iboende bedre kode, eller de synes adgang til kildekode er en grundlæggende ret, som computerbrugere burde nyde, eller en eller anden kombination af de to. Dette aspekt af samfundet virker lidt mindre synligt i dag, men måske skyldes det, at open source på mange måder har vundet. Tilbage i 2001 sagde den daværende Microsoft-administrerende direktør Steve Ballmer, at Linux på grund af sin open source-licens var "en kræft, der knytter sig i en intellektuel ejendomsret til alt, hvad den rører ved." I dag er Microsoft en omfattende bruger og producent af open source-software. Det er de sidste to årtier med open source-historie i en nøddeskal.

Open source software download

Ønsker du at komme i gang med at søge og pille med open source-projekter? Tjek opensource.com's side Projekter og applikationer, GitHubs fane Udforsk eller Open Source Development Network's softwarekort. Der er masser af nysgerrige folk på ethvert niveau.

$config[zx-auto] not found$config[zx-overlay] not found