Teknologi Karrierer

Sådan fungerer open source-software

Kodningsillustration

•••

Bijendra/Getty Images



Open source-software (OSS) er enhver computersoftware, der distribueres med dens kildekode tilgængelig for ændring. Det betyder, at det normalt inkluderer en licens for programmører til at ændre softwaren på enhver måde, de vælger: De kan rette fejl, forbedre funktioner eller tilpasse softwaren, så den passer til deres egne behov.

Kriterier for åben kildekode

Open Source Initiative (OSI), en global nonprofitorganisation grundlagt i 1998, fungerer som en førende autoritet på OSS. Dens definition af open source-software omfatter ti kriterier, der vedrører emner som:

  • Omdistribution af software
  • Kildekode tilgængelighed og integritet
  • Distribution og egenskaber af licenser
  • Afledte værker
  • Antidiskrimination

Licenser

Forskellige licenser giver programmører mulighed for at ændre softwaren med forskellige betingelser knyttet. Ifølge Black Duck KnowledgeBase, en database med omkring to millioner open source-projekter, er fem af de mest populære licenser:

  1. MIT License
  2. GNU General Public License (GPL) 2.0
  3. Apache-licens 2.0
  4. GNU General Public License (GPL) 3.0
  5. BSD-licens 2.0 (3-klausul, ny eller revideret)

Når du ændrer kildekoden, kræver OSS medtagelse af det, du har ændret, samt dine metoder. Softwaren, der er oprettet efter kodeændringer, bliver muligvis gjort gratis tilgængelig eller ikke.

Kommerciel software

Kommercielt tilgængelig software, også kendt som kommerciel eller proprietær software, giver ikke adgang til sin kildekode, fordi softwaren er en andens intellektuelle ejendom. Som et resultat betaler brugerne ofte for det. OSS er på den anden side et samarbejde; Softwaren er delt intellektuel ejendom mellem alle, der har været med til at udvikle eller ændre den.

Gratis software

Selvom begreberne ofte bruges i flæng, er OSS lidt anderledes end gratis software. Begge omhandler muligheden for at downloade og ændre software uden begrænsning eller gebyr. Imidlertid er fri software - et koncept udviklet i 1980'erne af en MIT-datamatiker, Richard Stallman - defineret af fire betingelser, som skitseret af nonprofit Free Software Foundation. Disse 'fire friheder' understreger brugernes evne til at bruge og nyde software, som de finder passende.

I modsætning hertil lægger OSS-kriterierne, som Open Source Initiativet udviklede et årti senere, mere vægt på ændring af software og konsekvenserne af at ændre kildekode, licensering og distribution.

De to overlapper hinanden; nogle vil sige, at forskellene mellem OSS og fri software er mere filosofiske end praktiske. Ingen af ​​dem skal dog forveksles med freeware. Freeware refererer normalt til proprietær software, som brugere kan downloade uden omkostninger, men hvis kildekode ikke kan ændres.

Fordele

Selvom dets manglende omkostninger er en vigtig fordel, har OSS flere yderligere fordele:

  • Dens kvalitet kan nemt og meget forbedres, når dens kildekode sendes rundt, testes og rettes.
  • Det tilbyder en værdifuld læringsmulighed for programmører . De kan anvende færdigheder til de mest populære programmer, der er tilgængelige i dag.
  • Det kan være mere sikkert end proprietær software, fordi fejl identificeres og rettes hurtigt.
  • Da det er i det offentlige domæne og konstant er underlagt opdateringer, er der ringe chance for, at det kan blive utilgængeligt eller hurtigt forældet - et vigtigt plus for langsigtede projekter.

Populære typer

Open source-teknologier hjalp med at etablere meget af internettet. Desuden er mange af de programmer, der bruges hver dag, baseret på open source-teknologier. Eksempelvis: Android OS og Apples OS X er baseret på henholdsvis kernel og Unix/BSD open source-teknologier.

Anden populær open source-software er:

  • Mozillas Firefox webbrowser
  • Thunderbird e-mail-klient
  • PHP scriptsprog
  • Python programmeringssprog
  • Apache HTTP webserver

Udviklere

OSS-projekter er samarbejdsmuligheder, der forbedrer færdigheder og opbygger forbindelser på området. Områder, som udviklere kan arbejde på, omfatter:

Kommunikationsværktøjer

E-mail, beskeder i realtid, fora og wikier hjælper udviklere med at finde løsninger eller afvise ideer fra hinanden.

Distribuerede revisionskontrolsystemer

Når flere udviklere på forskellige geografiske steder ændrer data og filer, administrerer disse systemer de forskellige versioner og opdateringer.

Bug Trackers og opgavelister

Disse funktioner gør det muligt for store projekter at overvåge problemer og holde styr på deres rettelser.

Test- og fejlfindingsværktøjer

Disse funktioner automatiserer test under systemintegration og fejlfinder andre programmer.

Bundlinjen

Open source-software er et alternativ til proprietær software. Deltagelse i et OSS-projekt kan være en vej til at opbygge en karriere inden for softwareudvikling, hvilket giver programmører mulighed for at finpudse deres færdigheder ved at arbejde på de største softwareprogrammer i verden. Facebook, Google og LinkedIn frigiver alle OSS, så udviklere kan dele viden, innovere løsninger og bidrage til stabile, funktionelle produkter.