Varför skulle du läggar ner tid på att rapportera buggar i Open Source som QGIS? Förutom det uppenbara att du vill att problem skall rättas till…
Jag tar ett exempel. För ett litet tag sedan så gjorde jag en film på YouTube om avancerad redigering i QGIS där jag stötte på och kommenterade en bugg i redigeringen. De avancerade ”CAD” verktygen som gör att du kan låsa vinklar och avstånd, och som fungerar när du redigerar punkter, fungerade inte när du ville flytta objekt.
Bara någon dag efter filmen publicerats kom en kommentar på Twitter som hänvisade till en fix på GitHub till just det problem som jag belyst. Nu i helgen så kunde jag själv testa i QGIS 3.0.3 och jajjamensan, buggen är fixad. Nu går det att flytta objekt med hjälp av de avancerade redigeringsverktygen utan problem.
Nu hade jag inte formellt sätt rapporterat detta som en bugg, utan en av utvecklarna råkade titta på filmen som jag gjort och gjort en fix utan buggrapport. Men det är inte normalfallet.
En normal buggrapport består av ett antal steg som man bör ta sig tid att gå igenom, och om man gör ett bra jobb och det inte är ett monumentalt problem så är chansen stor att någon skriver en snabb fix som snart kan vara inkluderad i en uppdatering.
- Försök identifiera och återskapa förutsättningarna när buggen uppträder.
- Om du kan, testa på en annan dator, eventuellt i en tidigare QGIS version för att se om problemet fanns i tidigare versioner eller om det är ett bestående problem (man talar om ”regression” som är något som fungerat tidigare men nu inte gör det).
- Kontrollera om buggen redan är rapporterad på https://issues.qgis.org/projects/qgis/issues/
- Skapa en ny buggrapport (issue) på sidan och beskriv så gott du kan vad problemet är, hur du återskapar det och bifoga exempeldata om det behövs för att återskapa buggen.
- Bli inte sur eller arg om någon ställer frågor eller ber om förtydligande, eller inte klassar ditt problem som en bugg utan som något annat. Det kan också var svårt att återskapa problemet, så ju bättre tester du gör i förväg och ju bättre du kan beskriva problemet, ju snabbare kan det bli åtgärdat.
Men Varför?
När du betalar för en mjukvara så kan du förvänta dig att den skall fungera, och om den inte gör det så borde felet upptäckas och fixas av någon på företaget bakom programmet utan att du behöver engagera dig speciellt mycket.
Ett Open Source projekt har till skillnad från kommersiella GIS inte hundratals anställda som har till uppgift att hitta och se till att buggar blir fixade. Det finns utvecklare som får betalt för sitt arbete på ett eller annat sätt, men det är inte i närheten av tillräckligt för att både hitta och fixa buggar. Om vi skulle betala utvecklare att även hitta buggar, så hade det blivit ganska lite pengar som skulle kunna gå till själva kodskrivandet.
Om vi som inte kan skriva kod bidrar till att hitta och så väl vi kan beskriva dessa buggar, så kan tillgängliga resurser i högre grad användas för att fixa problemen. Om vi även förstår att väldigt många buggar kan vara ganska enkla att fixa, så länge det inte är externa beroenden som ställer till det (vilket sällan är problemet med ”regression” buggar), så kan väldigt mycket av dessa små irritationsmoment snabbt fixas till med lite arbete från vår sida. Finns sedan tid och pengar samt tillgängliga utvecklare så behöver inte mindre buggar bli speciellt långlivade.