Djupstudie - Datorbaserade system för tracking Torbjörn Lundberg, dt05tl3 Joakim Svensson, dt05js8 18 februari 2008 Sammanfattning Tracking är ett hjälpmedel inom projekt för att hålla reda på information om vad som gjorts, vem som har gjort det och hur lång tid det tagit. Det används också till den framtida planeringen inom projektet. I den här rapporten jämförs fyra datorbaserade system för tracking med avseende på installation, användning, funktionalitet och stöd för extreme Programming. Utav de fyra testade systemen ansågs Trac vara det system som passar kursen EDA260 vid Lunds Tekniska Högskola bäst. Rapporten innehåller även resultatet av en undersökning bland coacher för studenter i kursen. Undersökningen visade att coacherna hade blivit hjälpta av ett datorbaserat trackingsystem. Slutligen tar rapporten upp hur det är att använda Trac i praktiken.
Innehåll Introduktion... 2 Bakgrund... 2 Inledande om tracking... 3 Jämförelse av olika tracking-system... 3 Trac... 3 Installation... 3 Användning... 4 Funktionalitet... 4 XP-stöd... 4 CodeBeamer... 4 Installation... 4 Användning... 5 Funktionalitet... 5 XP-Stöd... 5 ITracker... 5 Installation... 5 Användning... 6 Funktionalitet... 6 XP-stöd... 6 Bugzilla... 6 Installation... 6 Användning... 6 Funktionalitet... 7 XP-stöd... 7 Slutsats om trackingsystemen... 7 Undersökning bland coacher... 9 Syfte... 9 Resultat... 10 Slutsats om undersökningen... 10 Trac i praktiken... 10 Referenslista... 12
Introduktion Under de flesta former av projekt är det förmodligen en bra idé att ha någon form av återkoppling över vad som har gjorts och av vem. Denna återkoppling bör göras, inte bara i slutet av projektet, utan även under tiden. Inte minst inom programvaruutvecklingsprojekt där krav dels kan vara väldigt otydliga, och dels har en tendens att ändra sig ofta. Både kunder, utvecklare, projektledare och andra intressenter kan dra nytta av möjligheten att kunna kontrollera statusen i ett visst skede för ett projekt. Under insamlingen av information till den här rapporten hittades ett stort antal olika system för tracking och projekthantering (1). Detta tyder på att behovet är stort av att kunna spåra krav, buggar, önskemål och vem som gjort vad. I rapporten görs en jämförelse mellan fyra av alla dessa system, nämligen Trac, CodeBeamer, ITracker och Bugzilla. De fyra valdes ut slumpmässigt av en lista på olika trackingverktyg. De kommer att jämföras med avseende på installation, användarvänlighet och vilka skillnader och likheter som finns mellan de olika verktygen. Jämförelsen kommer även att ta upp om verktygen har stöd för extreme Programming och i så fall hur väl det fungerar. Den kommer slutligen att ta upp vilka olika typer av projekt de olika verktygen kan anses vara anpassade för samt vilket verktyg som är bäst lämpat för en XP-kurs vid Lunds Tekniska Högskola. En liten undersökning har gjorts bland XP-coacher för att få deras syn på trackingsystem. Resultatet av undersökningen finns med i rapporten. Trac har testats i praktiken av en av utvecklargrupperna i ovan nämnda XP-kurs. Testpersonernas allmänna åsikter och kommentarer presenteras sist i rapporten. Bakgrund Traditionellt har trackingen i XP-kursen skett genom att en liten tabell utskriven på papper fyllts i av coacherna. På senare tid har det även blivit vanligt att trackinginformationen blivit publicerad på teamets wiki på internet. På ett projekt som XP-projektet, där hela teamet sitter i samma lokal och väldigt nära varandra, kan detta vara tillräckligt. Men på andra och större projekt, där man av utrymmesskäl inte kan sitta i närheten av andra som arbetar på samma projekt, verkar det smidigare att använda sig av något gemensamt system över internet eller intranät. Om man dessutom kan integrera verktyget i sin editor bör trackingen kunna göras ännu mer flytande. 2
Inledande om tracking Tracking, eller spårning som det kan kallas på svenska, används inom flera olika typer av projekt (2). Den typen av tracking som tas upp i den här rapporten är tracking av programvaruutveckling, och speciellt då programvara som utvecklas enligt extreme Programming-metodiken. Målet med tracking är att få en tydlig bild över hur ett projekt framskrider. Vad är klart? Hur mycket är kvar att göra tills nästa deadline? Hur lång tid tror vi att en viss uppgift kommer att ta innan den är slutförd? Med hjälp av tracking kan man enklare finna svar till dessa frågor. Trackingen kan delas upp i olika nivåer där detaljrikedomen beror på vilken nivå trackingen utförs på. Iterationstracking är till exempel mer detaljerad än releaseplanstracking (2). Det som spåras när man gör tracking är något som inom XP kallas stories. Stories är en blandning av formella krav och användningsfall skrivna på ett informellt sätt (3). Stories skrivs av, eller åtminstone i samarbete med, kunden. Det är de som utvecklarna har att utgå ifrån när de skriver programkoden. Behöver utvecklarna mer detaljerad information gör de en muntlig förfrågan till kunden (4). Anledningen till att överhuvudtaget utföra tracking är att kunna styra ett projekt till att klara av deadlines. Två tredjedelar av all projekt som fullföljs blir försenade, så det är bevisligen svårt att styra projekt (2). Problem kommer alltid att uppstå under ett projekt, men med hjälp av tracking kan de förhoppningsvis upptäckas i tid (2). Tracking underlättar även utveckling i team där alla medlemmar inte sitter på samma geografiska plats. Dessutom gör tracking att man får större möjlighet till att uppskatta hur en ändring av en viss del av ett program påverkar andra delar av det programmet (3). Jämförelse av olika tracking-system Trac Installation Trac är avsett att användas tillsammans med konfigurationshanteringsverktyget Subversion. Installationen kräver alltså att detta program redan är installerat. Trac innehåller en inbyggd webbserver, men för bästa funktionalitet och prestanda under större projekt måste webbservern Apache användas istället (5). Dessa båda program är ansedda som standard för programvaruutvecklare (6) (7). För att kunna installera Trac behövs även programmeringsspråket Python vara installerat. Detta för att Trac är skrivet i Python. Detta är installerat från början i de flesta Linux-distributioner (8). När dessa program väl är installerade är det enkelt att installera Trac. Det kräver ingen speciell konfiguration under själva installationen. 3
Användning Trac är i grundutförandet ett system för att hålla reda på information om vilka buggar ett program innehåller. De olika åtgärderna som ska utvecklas eller korrigeras kallas tickets, men verktyget lämpar sig även väl för att hantera stories och tasks. Eftersom det använder sig av Subversion finns all information om källkoden i repositoriet tillgängligt. Man kan visa källkoden och dessutom färgkoda syntaxen för ett flertal olika programmeringsspråk (9). Det går även att lista alla revisioner och även visa skillnader (diff) mellan olika revisioner. All information går att nås via en hemsida som är kopplad till Trac. På hemsidan kan man både se och ändra till exempel vilka prioriteringar olika tickets har, vem eller vilka som har rapporterat dem, om någon jobbar på en ticket och i så fall vem och även deadline för olika tickets. Funktionalitet Trac är modulärt, det vill säga att det använder sig av olika insticksprogram för att åstadkomma speciell funktionalitet. Insticksprogrammen installeras för ett specifikt projekt. De kräver en modifikation av konfigurationsfilen för det aktuella projektet i Trac för att kunna köras. Exempel på funktionalitet som kan läggas till med hjälp av insticksprogram är estimering och total tid som en viss story tagit, grafer över beroenden mellan tickets och att få ut informationen som ett Excel-formaterat dokument. XP-stöd Tracs utvecklare har försökt göra verktyget neutralt vad gäller utvecklingsmetodik och istället låta användaren själv, via insticksprogram, välja metodik. Detta gör att inget särskilt stöd för extreme Programming finns i grundversionen, men man kan välja att tolka tickets som stories och tasks, man kan låta kunden ha tillgång till Trac-systemet och på så sätt vara mer involverad och mer on-site även via sin webbläsare. Kunden kan också själv göra prioriteringen via webbläsaren. Som tidigare nämnts kan man även lägga till funktionalitet för tidsestimering och verklig tidsåtgång, och även hantering av testfall. CodeBeamer Installation CodeBeamer är ett verktyg som finns för både Windows och Linux. Själva installationen innehåller allt man behöver för att komma igång, och man behöver inte installera någon webbserver eller konfigurationshanteringsverktyg tidigare för att kunna installera programmet. Det kräver en databashanterare och det följer med en som heter Derby, men utvecklarna av CodeBeamer rekommenderar att man istället använder sig av MySQL eftersom det är ett snabbt och framförallt robust system för databaser (10). 4
Programmet installerades på Windows, och de enda inställningarna som behövs göras är vilken port webbservern ska köras på, och vilken email-domän man vill använda. När installationen är klar behöver man registrera sig vilket är lite missvisande, eftersom nedladdning av programmet också har krävt en registrering. Användning Direkt efter installation och registrering kan man logga in på CodeBeamer på den aktuella servern. Där är det enkelt att skapa arbetsmängder och i dessa arbetsmängder skapar man nya projekt. Det finns direkt stöd för att lägga till och titta på de olika arbetsuppgifterna som har lagts in i projektet. Det är ett relativt lättförståeligt användargränssnitt och man lär sig snabbt navigera genom de menyer som finns. Man kan skapa och titta på buggar och tasks men även till exempel krav och önskemål om funktionalitet har egna kategorier. Likt Trac finns det stöd för att titta på olika revisioner av källkoden och även jämföra källkod i olika revisioner med varandra. Man kommer åt all information via en central hemsida för verktyget och kan både titta på och ändra informationen. Det går även att använda insticksprogram för exempelvis Eclipse för att integrera användningen av systemet i sin editor. Funktionalitet Det finns ett API för att utöka CodeBeamers funktionalitet, men det är mycket som följer med i grundutförandet. Det finns redan från början stöd för att till exempel formatera till Microsoft Office-dokument och att skapa olika tankekartor och flödesscheman. De insticksprogram som finns på systemets officiella hemsida är mest till för wiki-formatering. XP-Stöd CodeBeamer är till skillnad från Trac byggt för att passa agila arbetsmetoder. Det finns hjälpmedel för projektledare att få bättre kontroll när kunden ändrar sina krav och önskemål. Systemet innehåller även en schemaläggare för att underlätta continous integration och reguljära releaser/byggen. Man kan även schemalägga mindre uppgifter som till exempel att generera dokumentation och köra enhetstester (11). ITracker Installation ITracker är utvecklat i Java och fungerar därför på flera olika operativsystem. När ITracker laddats ner krävs ingen installation. Det som behövs göras är att ställa en miljö-variabel som programmet använder sig av för att hitta datorns installation av Java. När detta är gjort startas programmet i en prompt eller terminalfönster och ligger sedan igång för att kunna ta emot inkommande anslutningar. 5
Användning ITracker körs genom att först starta en stor applikationsserver som bland annat innehåller själva trackingsystemet. Applikationsservern agerar även webbserver och låter användaren komma åt trackinginformationen. Den enda användaren som finns förinstallerad är administratören, admin. Med hjälp av detta konto skapar man sedan nya användare, det går inte att registrera sig själv. Väl inloggad i systemet kan man lägga till projekt, där man i sin tur kan lägga till olika issues som tilldelas bland annat prioritering och status. Användargränssnittet är enkelt och innehåller inte mer information än nödvändigt. Det finns i stort sett inte så mycket funktionalitet vilket innebär att det blir lätt att hitta det man söker. Funktionalitet Verktyget är i stort sett enbart tänkt att användas som trackingverktyg, och det går inte att koppla någon konfigurationshantering till ITracker. Detta leder till att man inte kan titta på källkod och inte heller jämföra olika revisioner med varandra. Det finns inte heller några plugins som underlättar integrering till utvecklingsverktyg som till exempel Eclipse. Det som finns att tillgå för uppdatering av trackingsystemet är hemsidan och det är även via den man läser ut information. Avsaknaden av överflödig funktionalitet gör att systemet kan vara smidigt för den som snabbt vill komma igång med spårning och hantering av buggar. XP-stöd ITracker är som tidigare nämnts tänkt att användas enbart som trackingsystem och den funktionalitet som finns är mycket begränsad, och inte inriktad på någon speciell utvecklingsmetodik. Man kan i stort sett lägga till issues och uppdatera dem allt eftersom utvecklingen går framåt, men det finns inget särskilt stöd för extreme Programming. Bugzilla Installation Bugzilla är från början utvecklat för att installeras på operativsystemet Linux. Numera är det även möjligt att installera det på Windows, men det är fortfarande lättare att installera i Linux (12). Detta beror bland annat på att Perl finns förinstallerat på många Linuxdistributioner (13). Även andra program, till exempel webbservern Apache, som behövs för att kunna installera Perl finns ofta redan installerade på Linux. På Windows får användaren själv installera dessa program. Användning Liksom övriga tracking-system som finns beskrivna i rapporten, körs Bugzilla via ett webbgränssnitt. På första sidan i gränssnittet finns länkar till den funktionalitet användarna oftast använder, exempelvis söka efter uppgifter, skapa nya uppgifter och ändra sina användarinställningar. 6
När man ska skapa en ny uppgift får man välja vilken typ av produkt uppgiften tillhör och sedan vilken specifik produkt det gäller. Då visas en sida där man gör inställningar om vilken komponent i produkten som uppgiften påverkar, vilket namn uppgiften har, och en kort sammanfattning om den. Man kan även lägga till information om vilken prioritet, milstolpe, deadline och plattform uppgiften är tänkt att tillhöra, och mer ingående beskrivning om den. Funktionalitet Bugzilla har en mängd olika funktioner. Det mesta som behövs för att kunna hålla reda på information om olika buggar och uppgifter som ska göras, vilket leder till att utvecklingsteamet inte har lagt till stöd för att skapa egna insticksprogram till själva systemet. Man kan få ut rapporter och grafer om i princip allt som rör felrapporterna. Det finns en diger lista på inställningsmöjligheter för att rita ut både linje-, stapel- och tårtdiagram. Till exempel kan man välja produkten som ena axeln, och status på andra axeln och få informationen i tabellform och diagramform. Ett annat exempel är att man kan visa information över antalet rapporterade buggar och jämföra mot antalet lösta buggar. Funktionerna i Bugzilla gäller enbart buggrapportering, det finns inget speciellt stöd för att rapportera ny funktionalitet eller krav som kunden specificerat. Systemet visar ingen information om hur källkoden för en löst bugg ser ut eftersom man inte kan se källkoden för produkterna överhuvudtaget. XP-stöd I Bugzilla finns det inbyggt stöd för att estimera olika uppgifter. Man kan även omestimera en uppgift, om det visar sig att den tar längre tid att utföra än man från början trott. Allt i Bugzilla rapporteras, som tidigare sagts, som buggar. Men det går givetvis att se stories och tasks som funktionalitet som bör finnas, men som saknas. Detta kan beskrivas som buggar. Utöver det finns det inget särskilt stöd för XP-metoder. Slutsats om trackingsystemen Alla de olika verktygen som beskrivs ovan ger utvecklarna en fördel genom att slutanvändarna kan rapportera buggar och önskemål direkt till utvecklarna. Detta gör att även om kommunikationen mellan utvecklare och kund är bra, kan slutanvändarna säga vad de tycker om produkten och ge feedback direkt. Det behövs alltså inget mellansteg. Utvecklarna får sedan diskutera med kunden över hur denna vill prioritera användarnas önskemål och kommentarer. Trac är utvecklat för att vara ett enkelt och snabbt projekthanteringssystem med trackingmöjligheter där man även kan lägga till egen funktionalitet genom insticksprogram. Det lämpar sig för projekt där man har en administratör som behärskar någorlunda avancerad programvara. CodeBeamer koncentrerar sig på projekt där man använder sig av agila utvecklingsmetoder. Det innehåller ett stort antal funktioner och är enkelt att installera. Administrationen kräver att man 7
är van vid systemet men är inte svårt att lära sig. Det lämpar sig även för större företag med många olika projekt på olika håll. ITracker är ett system som är anpassat för mindre företag som snabbt och enkelt vill komma igång med tracking. Antalet funktioner är få, men den viktigaste funktionaliteten för att hantera uppgifter i mindre projekt finns med. Administrationen kan skötas av användarna och i stort sett krävs inga speciella förkunskapskrav för att kunna använda verktyget. Bugzilla är använt av nästan 800 företag av varierande storlek (14). Det är alltså ett beprövat system och fungerar bevisligen hos många. Vad gäller bugghantering kan Bugzilla i stort sett allt man kan tänkas behöva. Det gör att vissa delar av systemet kan vara lite onödigt avancerade att använda. Det lämpar sig för företag eller personer som kan hantera ett så pass stort system och som vill ha en mängd olika sätt att visa information om sina projekt. Det är användbart både för större och mindre företag, men det behövs viss vana av trackingsystem för att smidigt komma igång med det. I kursen Programvaruutveckling i grupp, EDA260 vid Lunds Tekniska Högskola, ingår ett XPprojekt där ett antal team bestående av åtta till tolv studenter som under sju veckor programmerar en mjukvara för tidtagning vid endurotävlingar. Till detta projekt behövs någon form av tracking. Traditionellt sköts detta via en wiki och med papper och penna. Om ett datorbaserat system av de fyra ovanstående skall införas för att underlätta trackingen i projektet rekommenderas Trac. Detta för att Trac har ett enkelt och smidigt användargränssnitt som kan konfigureras genom de många insticksprogram som finns. Man kan även lägga till funktionalitet för de olika XP-metodiker som kursen fokuserar på. Då Trac anses vara det bästa av de testade systemen och dessutom är det system som använts praktiskt i ovan nämnda kurs följer två bilder på dess webbaserade användargränssnitt. Figur 1 Lista på några av de stories som finns i systemet 8
Figur 2 Detaljvy av en task Undersökning bland coacher En kort enkät delades ut till coacherna för teamen som går EDA260. Coacherna är studenter som går kursen Coachning av programvaruteam, EDA270, vid Lunds Tekniska Högskola. Syfte Undersökningen gjordes för att se om coacherna såg något behov av att använda datorbaserade trackingsystem. Det ställdes även frågor om hur de skötte trackingen i deras team och vad som fungerade bra och dåligt med det. Anledningen till dessa frågor var att få reda på vad som ska finnas i ett datorbaserat system. Det som fungerar bra med tekniken de använder måste fortsätta att fungera bra i ett datorbaserat system och det som fungerade mindre bra med deras trackingmetod skall förhoppningsvis fungera bättre i ett datorbaserat system. 9
Resultat Många coacher hade valt att manuellt sköta trackingen på papper eller tavlan i klassrummet. De flesta använde även teamets wiki för att göra trackingen, så nästan alla körde redan ett datorbaserat system. Någon hade en vanlig textfil på datorn. Bäst verkade tavlan och wikin vara. Tavlan för att alla i teamet snabbt kunde få en överblick över vem som gjorde vad och vad som var gjort och inte gjort. Wikin för att det är mer permanent än tavlan och för att det går att komma åt wikin från många olika ställen, även hemifrån. Något som nästan alla tyckte var att det hade varit bra om teamet själva i större utsträckning kunde uppdatera trackinginformationen. Några kommenterade även om att det hade varit bra om trackingen hade uppdaterats oftare. Det fanns även önskemål om ett lättare/smidigare sätt att uppdatera trackingen. Sista punkten i undersökningen handlade om datorbaserade trackingsystem som är mer anpassade för just tracking än till exempel wikin. Coacherna svarade över lag att det i vissa lägen hade varit bra med ett system som kunde ge mer detaljerad information om trackingen som till exempel "Hur mycket av en story är klar?", "Om jag ändrar i den här filen, kommer det påverka det någon annan sitter och jobbar med?" och så vidare. Några tyckte att ett datorbaserat system hade hjälpt dem när mycket behövdes uppdateras i trackingen på en gång, exempelvis när många par blir klara med sina stories inom kort tid. Slutsats om undersökningen Med tanke på vad de fyra testade systemen för datorstödd tracking klarar av är det väldigt sannolikt att ett sådant system hade hjälpt coacherna med tanke på vad de svarade på frågorna i undersökningen. De tillfrågade coacherna ansåg att trackingen skulle blivit mer synlig om den varit datorbaserad. Det var flera team där coacherna själva skötte trackingen och det gjorde i viss mån att medlemmarna i teamen inte brydde sig nämnvärt om den. Coacherna trodde även att ett datorbaserat verktyg skulle kunna ge en större överblick. Det var även några coacher som verkade övertygade om att det skulle underlätta ifall trackingverktyget kunde integreras i programmerarnas utvecklingsmiljö och på så sätt göra det väldigt enkelt för programmerarna att själva sköta trackingen. Trac i praktiken Under sju veckor har några av programmerarna i kursen Programvaruutveckling i grupp använt Trac för att se hur det fungerar att använda i praktiken. För att se vad de tyckte om det fick de efter ett antal veckor fylla i en liten enkät med frågor om Trac och tracking. Ingen av testpersonerna tyckte att det hade inverkat negativt på utvecklingen att använda Trac i stället för mer traditionella trackingmetoder som papper och penna eller wiki. Programmerarna uppskattar att det går att se stories, olika versioner av källkoden, timeline, vilka stories som är avklarade och vilka som jobbas på, vem som jobbar med vad och att det går att komma åt all denna information hemifrån. Några tyckte om strukturen som finns i Trac och att de inte själva 10
behövde komma på en egen struktur i teamet som alla sen skulle försöka följa. Detta hade varit ett problem om till exempel en wiki hade använts istället för ett riktigt trackingsystem. Väldigt många tyckte att insticksprogrammet till utvecklingsmiljön Eclipse fungerade för dåligt. Det saknades information och funktionalitet jämfört med vad som fanns i webbgränssnittet. Det fanns inget bra stöd för att ofta byta programmerare på en dator. När man bytte partner var den förra användaren tvungen att logga ut och den nya logga in. Detta ledde till att det ibland kunde finnas missvisande information om vem som hade gjort vad. Vissa av testpersonerna var dåliga på att uppdatera trackinginformationen. Ett bättre insticksprogram hade kanske gjort att även dessa uppdaterade oftare. Slutsatsen av detta är att ett datorbaserat trackingsystem är bra och underlättar utvecklingen. Det gäller dock att systemet är smidigt att använda och är väl integrerat i utvecklingsmiljön. Det får inte ta för mycket extra tid i anspråk att använda då detta lätt leder till att många struntar i att uppdatera informationen. 11
Referenslista 1. Comparison of issue tracking systems. Wikipedia. [Online] [Citat: den 08 02 2008.] http://en.wikipedia.org/wiki/comparison_of_issue_tracking_systems. 2. Göransson, David och Jakobsen, Alexander. Tracking av programvaruutveckling. Djupstudie i kursen Coaching av Programvaruteam, Lunds tekniska högskola. 2007. 3. Andersson, Jonas och Andersson, Jonas. Spårning av krav i agila projekt. Djupstudie i kursen Coaching av Programvaruteam, Lunds tekniska högskola. 2007. 4. Wells, Don. User Stories. Extreme Programming. [Online] 1999. [Citat: den 08 02 2008.] http://www.extremeprogramming.org/rules/userstories.html. 5. Fieldhouse, Keith. Project management with Trac. Linux.com. [Online] den 10 11 2005. [Citat: den 08 02 2008.] http://www.linux.com/feature/48889. 6. Subversion named sole leader in the Forrester 2007 Wave Report for standalone SCM. Collabnet. [Online] [Citat: den 06 02 2008.] http://www.collab.net/forrester_wave_report/index.html. 7. Web Server Survey Archives. Netcraft. [Online] den 28 01 2008. [Citat: den 06 02 2008.] http://news.netcraft.com/archives/web_server_survey.html. 8. Python (programming language). Wikipedia. [Online] [Citat: den 05 02 2008.] http://en.wikipedia.org/wiki/python_%28programming_language%29. 9. Syntax Coloring of Source Code. The Trac Project. [Online] [Citat: den 18 02 2008.] http://trac.edgewall.org/wiki/tracsyntaxcoloring. 10. Using CodeBeamer with MySql. CodeBeamer. [Online] [Citat: den 04 02 2008.] https://codebeamer.com/cb/proj/doc/displaywikidocument.do?doc_id=12666. 11. CodeBeamer Features. CodeBeamer. [Online] [Citat: den 04 02 2008.] https://codebeamer.com/cb/wiki/11449. 12. FAQ:Bugzilla and Win32. Bugzilla. [Online] [Citat: den 08 02 2008.] http://wiki.mozilla.org/bugzilla:faq:bugzilla_and_win32#what_is_the_easiest_way_to_run_bu gzilla_on_win32_.28win98.2b.2fnt.2f2k.29.3f. 13. Hietaniemi, Jarkko. ports. CPAN. [Online] [Citat: den 08 02 2008.] http://www.cpan.org/ports/#linux. 12
14. Installation List. Bugzilla. [Online] [Citat: den 08 02 2008.] http://www.bugzilla.org/installation-list/. 13