7Jul

Vad är Open Source-programvara, och varför är det?

Geeks beskriver ofta program som "open source" eller "free software." Om du undrar exakt vad dessa termer betyder och varför de betyder något, läs vidare.(Nej, "fri programvara" betyder inte bara att du kan hämta det gratis.)

Oavsett om ett program är öppen källkod eller inte, spelar det ingen roll för utvecklare, det spelar i sista hand också för användarna. Licenslicenser med öppen källkod ger användarna friheter som de annars inte skulle ha.

Bildkredit: Quinn Dombrowski på Flickr

Definitionen av öppen källkod

Om ett program är öppen källkod är källkoden fritt tillgänglig för användarna. Användarna - och alla andra - har möjlighet att ta denna källkod, ändra den och distribuera sina egna versioner av programmet. Användarna har också möjlighet att distribuera så många kopior av det ursprungliga programmet som de vill. Alla kan använda programmet för något ändamål. Det finns inga licensavgifter eller andra begränsningar för programvaran. OSI har en mer detaljerad definition av "öppen källkod" på sin webbplats.

Ubuntu Linux är till exempel ett operativsystem med öppen källkod. Du kan ladda ner Ubuntu, skapa så många kopior som du vill, och ge dem till dina vänner. Du kan installera Ubuntu på en obegränsad mängd av dina datorer. Du kan skapa remixer på Ubuntu installationsskivan och distribuera dem. Om du var särskilt motiverad kan du ladda ner källkoden för ett program i Ubuntu och ändra det, skapa din egen anpassade version av det programmet - eller av Ubuntu själv. Licenser med öppen källkod tillåter dig att göra detta, medan licensierade licenser ställer begränsningar för dig.

Motsatsen till öppen källkod är programvara med slutkälla, som har en licens som begränsar användarna och håller källkoden från dem.

Firefox, Chrome, OpenOffice, Linux och Android är några populära exempel på öppen källkod, medan Microsoft Windows antagligen är den populäraste mjukvaran med sluten källkod där ute.

Open Source vs Free Software

Open source-applikationer är generellt fritt tillgängliga - även om det inte finns något som hindrar utvecklaren från att ladda för kopior av programvaran om de tillåter omfördelning av programmet och dess källkod efteråt.

Det är dock inte vad "fri programvara" refererar till. Den "fria" i fri mjukvara betyder "fri som i frihet", inte "fri som i öl." Det fria programvaruhuset, under ledning av Richard Stallman och Free Software Foundation, fokuserar på etik och moral att använda programvara som kan varakontrolleras och modifieras av användaren. Med andra ord fokuserar det fria programvaruhuset på användarfriheter.

Richard Stallman. Bild av Fripog på Flickr.

Programvaran för öppen källkod skapades för att fokusera på mer pragmatiska skäl för att välja denna typ av programvara. Open-source-förespråkare ville fokusera på de praktiska fördelarna med att använda open source-programvara som skulle vädja mer till företag, snarare än etik och moral.

I slutändan utvecklar både öppen källkod och fri programvara förespråkare samma typ av programvara, men de är inte överens om meddelandet.

Typ av licenser

Det finns många olika licenser som används av open source-projekt, beroende på vilka utvecklarna föredrar för sitt program.

GPL, eller GNU General Public License, används ofta av många öppna källprojekt, som Linux. Förutom alla ovanstående definitioner av öppen källkod anger villkoren i GPL att om någon ändrar ett öppen källprogram och distribuerar ett derivatarbete, måste de också distribuera källkoden för deras derivatarbete. Med andra ord kan ingen ta öppen källkod och skapa ett slutkundsprogram från det - de måste släppa sina ändringar tillbaka till samhället. Microsoft hänvisade till GPL som "viral" av den anledningen, eftersom det tvingar program som innehåller GPL-kod för att släppa sin egen källkod. Naturligtvis kan ett program utvecklare välja att inte använda GPL-kod om det här är ett problem.

Vissa andra licenser, till exempel BSD-licensen, ställer mindre restriktioner för utvecklare. Om ett program är licensierat enligt BSD-licensen kan alla infoga programmets källkod i ett annat program. De behöver inte släppa sina ändringar tillbaka till samhället. Vissa ser att detta är ännu mer "gratis" än GPL-licensen, eftersom det ger utvecklare friheten att införliva koden i sina egna program med sluten källkod, medan vissa anser att det är mindre "gratis" eftersom det tar rättigheter bortfrån slutanvändarna av det härledda programmet.

Fördelar för användare

Det här är inte alla torra, oväsentliga saker som bara spelar roll för utvecklare. Den mest uppenbara fördelen med öppen källkod är att den kan fås gratis. Exempel på Ubuntu Linux ovan gör det klart - till skillnad från Windows kan du installera eller distribuera så många kopior av Ubuntu som du vill, utan några begränsningar. Det kan vara särskilt användbara servrar - om du installerar en server kan du bara installera Linux på den. Om du konfigurerar ett virtualiserat kluster av servrar kan du enkelt kopiera en enda Ubuntu-server. Du behöver inte oroa dig för licensiering och hur många instanser av Linux du får köra.

Ett open source-program är också mer flexibelt. Till exempel besviken Windows 8: s nya gränssnitt många långvariga stationära Windows-användare. Eftersom Windows är slutkälla kan ingen Windows-användare ta Windows 7-gränssnittet, ändra det och få det att fungera korrekt på Windows 8.( Vissa Windows-användare försöker, men det här är en noggrann process för omvänd teknik och modifiering av binära filer.)

När ett Linux-skrivbord som Ubuntu introducerar ett nytt skrivbordsgränssnitt som vissa användare inte är fans av, har användarna fler alternativ. Till exempel när GNOME 3 släpptes släpptes många Linux-skrivbordsbrukare lika mycket. Vissa tog koden till den gamla versionen, GNOME 2, och modifierade den så att den körde på de senaste Linux-distributionerna - det här är MATE.Vissa tog koden till GNOME 3 och ändrade den så att den fungerade på ett sätt som de föredrog - det här är kanel. Vissa användare bytte bara till befintliga alternativa stationära datorer. Om Windows var öppen källkod skulle Windows 8-användare ha mer val och flexibilitet. Ta en titt på CyanogenMod, en populär, community-driven distribution av Android som lägger till funktioner och support för nya enheter.

Open source-programvaran gör det också möjligt för utvecklare att "stå på axlarna av jättar" och skapa sin egen programvara. Vittne Android och Chrome OS, som är operativsystem byggda på Linux och annan öppen källkodsprogramvara. Kärnan i Apples OS X - och därmed iOS - byggdes på öppen källkod också.Valve arbetar med att porta sin Steam-spelplattform till Linux, eftersom det skulle göra det möjligt för dem att skapa sin egen maskinvara och styra sitt eget öde på ett sätt som inte är möjligt på Microsofts Windows.

Det här är inte en uttömmande beskrivning - hela böcker har skrivits om detta ämne - men du borde nu få en bättre uppfattning om vad öppen källkod är och varför det är användbart för dig.