Öppen källkod

Från Wikipedia
(Omdirigerad från Open source)
Hoppa till: navigering, sök

Öppen källkod, även öppen programvara, på engelska open source, avser oftast datorprogram där källkoden är tillgänglig att använda, läsa, modifiera och vidaredistribuera för den som vill. Detta gör att användaren kan försäkra sig om att programmet gör vad det ska, eller anpassa det till sina behov. Sådana modifikationer erbjuds vanligen tillbaka till den ursprunglige upphovsmannen eller till den som för tillfället underhåller programvarans officiella version, som kan välja att göra dem till en del av den officiella versionen.

Innehåll


Öppen källkod kan även avse öppen hårdvara,[1] exempelvis elektroniska kretsar eller mekaniska konstruktioner som inte skyddas av patent, upphovsrätt och designskydd, såsom bilprojektet OScar (open source car). I denna artikel åsyftas emellertid endast programvara.

Eftersom vem som helst som fått tag på programmet kan erbjuda det vidare gratis tenderar program med öppen källkod att finnas tillgängliga på Internet för gratis nedladdning. Det betyder inte att sådana program inte kan säljas, i själva verket ingår i licensen ofta krav på att den som fått programmet skall få sälja det vidare.

Program med öppen källkod säljs ofta tillsammans med tryckta användarhandböcker, support eller relaterade icke-öppna program eller som del av skräddarsydda lösningar för de enskilda kunderna. Det är fullt möjligt för en utomstående att kopiera och sälja programmet på motsvarande villkor som de som skrivit det, men eftersom försäljaren har intresse av programmets utveckling och därför bidrar till den och ofta sökt sig en egen nisch eller geografisk bas behöver detta inte uppfattas som illojal konkurrens – ofta har de ursprungliga utvecklarna tvärtom intresse av att användarbasen ökar genom nya aktörer.

Typiskt för öppen källkod är att arbetet och underhållet sköts av ett antal personer, organisationer och företag som koordinerar sitt arbete via Internet. Detta till skillnad från klassisk proprietär källkod där det vanligen är ett enda företag som utvecklar och tillhandahåller produkten. Dock finns det även inom öppen källkods-projekt vanligen en fast hierarki med en eller ett fåtal personer som har sista ordet om vad som kommer att bli en del av den officiella produkten.

Den som leder ett programvaruprojekt med öppen källkod kan inte hindra en grupp med avvikande åsikter att kopiera programvaran och själv utveckla sin egen version (”fork”). Risken att förlora värdefulla bidragsgivare eller en betydande marknadsandel tvingar projektledarna att vara lyhörda för andras åsikter. Denna lyhördhet uppfattas också annars som en dygd och är en förutsättning för att attrahera utomstående hjälp.

Begreppet spreds först av Open Source Initiative, som grundades av Eric S. Raymond och Bruce Perens. Definitionen på öppen källkod konstruerades efter den senares Debian Free Software Guidelines.

Begreppet "öppen källkod" kan beteckna:

  • En licens för program, vilka skyddas av upphovsrätten, som (genom att tillåta till exempel modifiering och vidarespridning av programmet) faller under OSI:s definition på öppen källkod;
  • Ett program som är distribuerat med en sådan licens;
  • En programvaruutvecklingsprocess som är förknippat med sådan programvara;
  • Kulturella företeelser som är förknippat med sådan programvara.

Några exempel på viktiga projekt med öppen källkod är BSD-unixarna, Linux-kärnan, webbservern Apache, programspråket Perl, kontorssviten OpenOffice och webbläsaren Mozilla/Firefox.

Öppen källkod kontra fri programvara och freeware [redigera]

Öppen källkod och fri programvara är två olika namn för mer eller mindre samma sak. Dessa två begrepp ska inte sammanblandas med freeware (gratisprogramvara). De förra behöver inte vara gratis, medan freeware i allmänhet är proprietär, det vill säga utan friheterna de förstnämnda har. Begreppen har alla engelskspråkigt ursprung, och då "free" betyder både fri och gratis förekommer viss begreppsförvirring utanför rörelserna för öppen källkod och fri programvara.

När man talar om öppen källkod gentemot fri programvara avser man skillnaden att öppen källkods-rörelsen inte använder samma politiska termer som den närbesläktade rörelsen för fri programvara. FSF, som skapade begreppet "fri programvara" på 1980-talet, har en uttalad politisk strävan för (vad dess förespråkare betecknar som) frihet och programmerares och användares rättigheter medan OSI, som skapade begreppet "öppen källkod" på slutet av 1990-talet, försöker att bara tala om de praktiska skillnaderna och fördelarna (gentemot ofri programvara, också känd som stängd källkod) som den här typen av programvara innebär för till exempel företag och investerare.

OSI:s argument för det är att programmerare ofta redan känner till fördelarna med den här typen av licenser, till skillnad från företagskulturen som blir avskräckt av pratet om "frihet" och "rättigheter". Eric S. Raymond, som (tillsammans med Bruce Perens) var den förste att popularisera begreppet (efter att ha hört det från Christine Peterson) har betecknat "öppen källkod" som "ett sätt att marknadsföra fri programvara"; med det menade han att kvalitén hos sådan programvara och sådana utvecklingsprocesser är bra nog att stå på egna ben utan att behöva åtföljas av filosofiska resonemang.

En vanlig generalisering om de två grupperna är att de som använder termen "fri programvara" i större utsträckning skulle arbeta i ideella organisationer medan de som använder termen "öppen källkod" oftare skulle arbeta i den kommersiella företagsvärlden. Det finns dock många motexempel, till exempel Open Source Application Foundation och Cygnus Solutions.

Många väljer att ta avstånd från konflikten mellan OSI och FSF genom att använda en av de gemensamma förkortningarna FOSS (för Free, Open Source Software) eller FLOSS (för Free Libre Open Source Software).

Kritik mot begreppet [redigera]

En av de främsta anledningarna till att begreppet "öppen källkod" myntades var för att ordet "fri" var så tvetydigt på engelska, där det ofta bara betyder "gratis". Många hävdar dock att begreppet "öppen källkod" också är väldigt tvetydigt, på grund av de många vanliga missförstånd som det har orsakat.

Exempel på sådana missförstånd är:

  • Att ett program vars källkod är tillgänglig för läsning alltid skulle vara "öppen källkod", även om dess licens inte tillåter till exempel fri vidarespridning
  • Att "öppen källkod" och "fri programvara" skulle vara olika saker. Motiven bakom de båda skiljer dock.
  • Att den ena rörelsens förespråkare skulle föredra copyleft-licenser och den andra inte göra det (det är egentligen en debatt som är ortogonal mot den här uppdelningen, och förespråkare för båda lägren finns inom både fri-programvara-kultur och öppen-källkods-kultur)

En annan kritik som riktats mot rörelsen är att den ägnar sig åt lika mycket filosoferande och politiserande som fri-programvara-rörelsen, men på ett annat sätt. Där förespråkare fri programvara diskuterar rättigheter och frihet diskuterar förespråkare för öppen källkod ofta utifrån ett politiskt och ekonomiskt system (företagskapitalismen) som de då bekräftar och bevarar.

Historiskt perspektiv [redigera]

Införandet av begreppet sammanföll med att media fick upp ögonen för den här typen av programvara, och många är eniga om att begreppet "öppen källkod" påskyndade den processen på ett annat sätt än vad begreppet "fri programvara" har gjort. Många individer och företag som varit tveksamma att tala om, och använda, fri programvara kunde nu göra det under namnet öppen källkod.

Idag anser dock många att begreppen är så pass sammanblandade att den praktiska skillnaden bara är relevant för ett fåtal organisationer (deltagarna i licensgodkänningsgrupperna hos FSF, Debian och OSI – de två sistnämnda har dock uttryckt en önskan om ökad kommunikation mellan grupperna) och individer – Richard Stallman (på FSF) och Eric S. Raymond håller båda fast vid vardera begrepp som de själva myntat.

Skillnaden har luckrats upp, dels genom att företrädare för begreppet fri programvara i högre grad än tidigare har börjat talat om de tekniska och ekonomiska fördelarna för företag och andra organisationer, dels genom att företrädare för begreppet öppen källkod i vissa sammanhang har talat om frihet och rättigheter.

Utveckling [redigera]

Deltagarna i ett projekt inom öppen källkod är ofta utspridda på olika geografiska platser. Därför finns det ett behov av verktyg för att underlätta samarbete när det gäller källkoden.[2]

System för versionshantering som till exempel CVS, Subversion och GIT är exempel på verktyg för att centralt hantera projektets källkodsfiler samt de förändringar och olika versioner som skapas av dessa. Verktyg för testning, kompilering och felrapportering hjälper till att bevara stabiliteten för ett mjukvaruprojekt bestående av många utvecklare men som inte har någon enskilt ansvarig person, kvalitetskontrollant eller teknisk support. Tinderbox är ett system för att hantera kompilering och kompileringsfel för decentraliserad kod. Bugzilla och GNATS är så kallade bugtrackers (felrapporteringssystem) som hjälper utvecklare att hålla reda på buggar som uppstår i det utvecklade programmet.

Kommunikation mellan utvecklare sker genom mailinglistor, IRC och snabbmeddelanden. Ett alternativ är webbaserade arkiv för öppen källkod och dessa erbjuder ofta en kombination av tidigare nämnda utvecklingshjälpmedel. Exempel på några sådana är Google Code, Sourceforge, GitHub och GNU Savannah. Dessa sajter tillhandahåller ofta även diskussionsforum, lagringsplats för nedladdningsfiler, "hemsida", hjälp sökes-annonsering med mera.

Se även [redigera]

Referenser [redigera]

  1. ^ Open-source hardware på engelskspråkiga Wikipedia
  2. ^ Open-source på engelskspråkiga Wikipedia

Externa länkar [redigera]