Software Freedom Day 09 - 19 september
Personliga verktyg
Dokumentåtgärder

Högre kvalitét

Varför fri programvara ger högre kvalité.
I denna lilla essä tänkte jag på mitt sätt försöka beskriva vad fri programvara är och varför den är bättre än sluten programvara.
Page 2 of 4.

Fri programvara misstas ofta som ett billigt alternativ med lägre kvalitet än motsvarande slutna produkter. Jag höll på att skriva kommersiella produkter istället för slutna men slutna produkter är ett mer passande namn i detta sammanhang eftersom flera fria programvaror i allra högsta grad är kommersiella. Det finns alltså inget som hindrar en fri programvara från att vara kommersiell, det finns massor av exempel på det. Till exempel så är OpenOffice.org en kommersiell produkt för SUN Microsystem, MySQL är en kommersiell produkt för företaget med samma namn, listan kan göras lång. Att en programvara är fri har alltså inget att göra med om den är kommersiell eller inte.

Hur kommer det sig att fri programvara kan hålla högre kvalitet än slutna produkter utvecklade av stora företag med enorma resurser? Jo, det finns flera saker som gör det möjligt. En sak man skall komma ihåg är att varken stora företag eller enorma resurser skriver programvara. Det är enskilda personer. Dessa personer kan vara anställda på ett företag eller jobba på sin fritid. Det de gör är att skriva programkod som bygger ett program enligt en viss design eller vision.

Programmerare på stora företag har en hel del problem att brottas med som kan göra deras kod sämre än om samma programmerare skulle jobba på en fri produkt. Naturligtvis finns det både stjärnor och mediokra programmerare både på företagen och i rörelsen för fri programvara. Ett problem som programmerarna på ett företag har är att de ständigt jobbar under tidpress. Det kan vara en release som skall ut på en viss tidpunkt eller så är det ett delmål som skall uppfyllas för att de skall få sin bonus eller så är det något annat. Att skriva under tidspress gör att de flesta slarvar. Framför allt om den egna inkomsten beror på det. I fria projekt har det ingen betydelse om produkten kan släppas före eller efter jul eller före eller efter en konkurrent. Det spelar nämligen ingen roll. Det gör att en fri produkt släpps när utvecklarna tycker att den är klar och inte när det kommersiellt passar bäst. Av denna anledning är det ofta svårt att få reda på när en ny version av en fri produkt kommer ut men den kommer å andra sidan ut färdig. Många produkter från stora företag stressas så ofta fram att flera kunder väljer att vänta på några uppdateringar innan de köper nya produkter.

Ett annat problem som programmerare på företag som utvecklar slutna produkter är motivationen. Ofta väljer de inte själva vilka produkter de skall jobba på och inte vilka delar av dem de skall skriva. Detta är inte bra för motivationen, och motivation är något som behövs för att skriva bra programkod. En annan sak som är bra för motivationen är att programmeraren vet att andra kommer att läsa den kod som hon skriver och ge beröm eller kritik för den, vilket inte sker i så stor utsträckning på större företag. Det är inte ovanligt att den enda som läser hennes kod är någon ur en grupp som granskar koden, och i bästa fall inte säger någonting till programmeraren. I fallet med fri programvara kommer koden att kunna läsas av praktiskt taget alla i hela världen. Det gör att programmeraren automatiskt är mer noggrann och mer sporrad att skriva bra kod. Kompisar, idoler, eventuella framtida arbetsgivare och andra kommer att läsa koden. Det ger bättre kod.

Detta med att fler läser koden ger också på sikt en bättre produkt. I företaget som skriver sluten programvara finns det i bästa fall en grupp som granskar koden som skall in i produkten. Denna grupp har precis samma motivationsproblem som programmeraren. I fallet med fri programvara kan vem som helst välja att granska koden. Det kan göras av flera olika anledningar. Koden kan till exempel användas som exempel i utbildning, den kan studeras av privatpersoner eller läsas av någon för nöjes skull. En person som hittar fel i en fri programvara krediteras oftast i produkten och ses som en som positivt bidragit till produkten. I företagsfallet är det ett ganska otacksamt jobb att granska koden.

Jag skrev tidigare att de flesta programmerare som jobbar på företag inte själva väljer vad de skall jobba på. På fria projekt är det å andra sidan just det de gör. Alla fria projekt har någon typ av ledare. På mindre projekt är det oftast upphovsmannen själv och i större projekt är det ofta en grupp, en organisation eller ett företag som utgör styrgruppen. Det är upp till vem som helst att bidra med kod till projekten och ledaren eller ledargruppen beslutar vad som kommer med och vad som inte gör det. På så sätt väljes alltid den bästa koden ut. De som bidrar ser ett mål i att få sin kod antagen. En som flitigt bidrar med bra kod brukar i de flesta fall få en del av ansvaret för utvecklingen. Sedan spelar det ingen roll ifall koden kommer från en professor med 40 års erfarenhet eller från en mycket begåvad 18-åring. Var och en bedöms efter sina kunskaper och kvaliteten på den kod de producerar. Detta i sig ger i slutänden bättre kod.