Skip to main content

Vad är öppen källkodsprogramvara?

Öppen källkod hänvisar till minst två saker.För det första är det ett varumärke som tillhör Open Source Initiative® och en licens som Open Source Initiative® beviljar Open Source Software (OSS) som uppfyller vissa kriterier, kallad Open Source Definition .Det finns emellertid andra idéer om öppen källkodsprogramvara som inte håller på samma standarder och erbjuder öppen källkodsprogramvara under olika typer av licenser.En sak som all öppen källkodsprogram har gemensamt är tillgängligheten för användaren av källkoden, vilket innebär att användaren kan se exakt hur applikationen eller programmet kodades och ofta får ändra den.Beroende på vilken typ av licens som den har kan användare kunna ändra och omfördela öppen källkodsprogramvara.

Oavsett vilken typ av licens den kommer med är öppen källkodsprogramvara en motsvarighet till en egen kommersiell programvara.Egenierad kommersiell mjukvara beror på ett företag som utvecklar och äger källkoden.Produktlicensen gör det möjligt för användaren att använda produkten enligt det kommersiella företaget.I vissa fall är användare tillåtna och/eller uppmuntras att skapa plug-ins eller tillägg för att förbättra egen kommersiell programvara, men det finns gränser för vad de får göra.Detta är för att skydda mjukvaruutvecklarens investering.

Det finns flera mål bakom Open Source -mjukvarurörelsen.En tanke är att separationen av mjukvaruutveckling från vinstmotivet kommer att uppmuntra utvecklare att göra det som är bäst för programvaran och användarna, vilket leder till produkter som har ökat användbarhet och färre buggar.Det tros också att peer review utan begränsningar av ett kommersiellt släppdatum kommer att bidra till programvara som fortsätter att uppgraderas ständigt, snarare än att ha noggrant tidsinställda stora utsläpp som inte förekommer så ofta, vilket gör att användare med buggy -programvara däremellan.En annan övervägande är att genom att öppna upp koden kommer ett stort antal utvecklare, som var och en kan ha tankar om att förbättra programvaran att ge sina speciella färdigheter och insikter, såväl som deras tid, att bidra till processen, påskynda utvecklingenoch ta det i många riktningar, bredda programvarans omfattning.