Vad är öppen källkod?
Open Source hänvisar till minst två saker. Först ä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 dock andra idéer om öppen källkodsprogramvara som inte uppfyller samma standarder och erbjuder öppen källkodsprogram 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 den har, kan användarna kunna ändra och distribuera open source-programvara.
Oavsett vilken typ av licens det kommer med, är open source-programvara en motsvarighet till egen kommersiell programvara. Den egna kommersiella mjukvaran bygger på att ett företag utvecklar och äger källkoden. Produktlicensen tillåter användaren att använda produkten enligt tillverkningen av det kommersiella företaget. I vissa fall tillåts och / eller uppmuntras användare att skapa plug-ins eller tillägg för att förbättra egen kommersiell mjukvara, men det finns gränser för vad de får göra. Detta är för att skydda programvaruutvecklarens investering.
Det finns flera mål bakom open source-programrörelsen. En tanke är att avskiljningen 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 antas också att peer review utan begränsningar av ett kommersiellt släppdatum, kommer att bidra till mjukvara som fortsätter att uppgraderas ständigt, snarare än att ha noggrant tidsinställda större utgivningar som inte inträffar så ofta och lämnar användare med buggy-programvara emellan. 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, ge sina särskilda färdigheter och insikter, såväl som sin tid, för att bidra till processen och påskynda utvecklingen och ta det i många riktningar, bredda programvarans omfattning.