Programvara med öppen källkod (OSS) är all datorprogramvara som distribueras med sin källkod tillgänglig för modifiering. Det betyder att det vanligtvis innehåller en licens för programmerare att ändra programvaran på vilket sätt de väljer: De kan fixa buggar, förbättra funktioner eller anpassa programvaran för att passa deras egna behov.
Kriterier för öppen källkod
Open Source Initiative (OSI), en global ideell organisation som grundades 1998, fungerar som en ledande auktoritet på OSS. Dess definition av mjukvara med öppen källkod inkluderar tio kriterier, relaterade till frågor som:
- Omdistribution av programvara
- Källkods tillgänglighet och integritet
- Distribution och egenskaper för licenser
- Härledda verk
- Antidiskriminering
Licenser
Olika licenser tillåter programmerare att modifiera programvaran med olika villkor. Enligt Black Duck KnowledgeBase, en databas med cirka två miljoner open source-projekt, är fem av de mest populära licenserna:
- MIT-licens
- GNU General Public License (GPL) 2.0
- Apache-licens 2.0
- GNU General Public License (GPL) 3.0
- BSD License 2.0 (3-klausul, ny eller reviderad)
När du ändrar källkoden kräver OSS inkludering av det du ändrade samt dina metoder. Programvaran som skapats efter kodändringar kan eller kanske inte göras tillgänglig gratis.
Kommersiell programvara
Kommersiellt tillgänglig programvara, även kommersiell eller proprietär programvara, ger inte tillgång till sin källkod eftersom programvaran är någon annans immateriella rättigheter. Som ett resultat betalar användarna ofta för det. OSS, å andra sidan, är ett samarbete; Programvaran är delad immateriell egendom mellan alla som har hjälpt till att utveckla eller ändra den.
Gratis mjukvara
Även om termerna ofta används omväxlande, skiljer sig OSS något från fri programvara. Båda handlar om möjligheten att ladda ner och modifiera programvara utan begränsningar eller avgifter. Men fri programvara – ett koncept som utvecklades på 1980-talet av en datavetenskaplig forskare från MIT, Richard Stallman – definieras av fyra villkor, som beskrivs av den ideella Free Software Foundation. Dessa "fyra friheter" understryker användarnas förmåga att använda och njuta av programvara som de tycker är lämplig.
Däremot placerar OSS-kriterierna, som Open Source Initiative utvecklade ett decennium senare, mer betoning på modifiering av programvara och konsekvenserna av att ändra källkod, licensiering och distribution.
De två överlappar varandra; vissa skulle säga att skillnaderna mellan OSS och fri programvara är mer filosofiska än praktiska. Ingen av dem ska dock förväxlas med gratisprogram. Freeware hänvisar vanligtvis till proprietär programvara som användare kan ladda ner utan kostnad, men vars källkod inte kan ändras.
Fördelar
Även om bristen på kostnad är en viktig fördel, har OSS flera ytterligare fördelar:
- Dess kvalitet kan enkelt och avsevärt förbättras när dess källkod skickas runt, testas och fixas.
- Det erbjuder en värdefull inlärningsmöjlighet för programmerare. De kan tillämpa färdigheter på de mest populära programmen som finns tillgängliga idag.
- Det kan vara säkrare än proprietär programvara eftersom buggar identifieras och åtgärdas snabbt.
- Eftersom det är allmänt tillgängligt och ständigt uppdateras, finns det liten chans att det kan bli otillgängligt eller snabbt föråldrat – ett viktigt plus för långsiktiga projekt.
Populära typer
Teknik med öppen källkod hjälpte till att etablera mycket av internet. Dessutom är många av de program som används varje dag baserade på öppen källkodsteknologi. Exempel: Android OS och Apples OS X är baserade på kärnan respektive Unix/BSD open source-teknologier.
Andra populära program med öppen källkod är:
- Mozillas webbläsare Firefox
- Thunderbird e-postklient
- PHP skriptspråk
- Pytonorm programmeringsspråk
- Apache HTTP-webbserver
Utvecklare
OSS-projekt är samarbetsmöjligheter som förbättrar kompetensen och bygger kontakter på fältet. Områden som utvecklare kan arbeta med inkluderar:
Kommunikationsverktyg
E-post, meddelanden i realtid, forum och wikis hjälper utvecklare att hitta lösningar eller studsa idéer från varandra.
Distribuerade revisionskontrollsystem
När flera utvecklare på olika geografiska platser ändrar data och filer, hanterar dessa system de olika versionerna och uppdateringarna.
Buggspårare och uppgiftslistor
Dessa funktioner tillåter storskaliga projekt att övervaka problem och hålla reda på deras korrigeringar.
Test- och felsökningsverktyg
Dessa funktioner automatiserar testning under systemintegration och felsöker andra program.
Poängen
Programvara med öppen källkod är ett alternativ till proprietär programvara. Att delta i ett OSS-projekt kan vara en väg till att bygga en karriär inom mjukvaruutveckling, vilket gör att programmerare kan finslipa sina färdigheter genom att arbeta med de största mjukvaruprogrammen i världen. Facebook, Google och LinkedIn släpper alla OSS, så att utvecklare kan dela kunskap, innovativa lösningar och bidra till stabila, funktionella produkter.