3,123 pregleda

Kako prijavljivati bugove?

11

Svaka aplikacija ima bugove, i sve dok čovjek piše kod bugova će biti. Neki od njih su trivijalni, dok su drugi kritični. Open source projekti se uvelike oslanjaju na pomoć svojih korisnika. Otvaranje (i zatvaranje) izvješća na bugtrackeru vaše distribucije jedan je od načina doprinosa zajednici. Ne uzima previše vremena, svatko može pomoći, a vrlo je važan dio razvoja.

upitnikSvatko tko je ikada radio aplikaciju dostupnu široj javnosti sigurno je dobio barem jedan mail s lošom prijavom buga ili ispunjen samo kritikama bez pokušaja prijave buga. Takve prijave i mailovi cjelokupnoj zajednici donose više štete nego koristi. Nemojte misliti da pomažete kritizirajući tuđi rad. Naprotiv, time samo odmažete i donosite štetu. Na bugtrackerima se često mogu naći prijave koje ne kažu ništa (najčešći primjer je “It doesn’t work!”), prijave koje nemaju smisla, nepotpune prijave, screenshotovi (To nemojte raditi. Nijednog developera ne zanima izgled vašeg desktopa.), pogrešne i lažne informacije, prijave za koje se vrlo često ispostavi da su korisnikova greška, greške drugih i tuđih aplikacija pa čak i prijave koji su zapravo hardverski problem.

U ovom članku pokušat ćemo korisnicima približiti osnove lijepog ponašanja te etiku prijavljivanja bugova. Također, poželjno je da se i prilikom traženja pomoći na forumima pridržavate ovih smjernica.

Prije prijave

Dakle, odlučili ste sudjelovati u radu zajednice. Možda želite pomoći u razvoju svoje najdraže distribucije ili pak najdraže aplikacije? Odlično! Dobro došli u Linux zajednicu.

Prijavljivanje bugova jedan je od najvažnijih poslova u razvoju softvera. Nažalost, premalo ljudi si daje truda komunicirati s razvijateljima, a kad pokušaju, rade to na pogrešan način. Zato prije prijave svakako:

a) potražite duplikate

Ako ste naišli na problem ili imate ideju za novi feature, svakako prvo pretražite službeni forum. Vrlo je velika vjerojatnost da je već netko naišao na taj problem i prijavio ga. Naiđete li na prijavu nemojte nikako i nikada otvarati novu temu, već napravite post u postojećoj. Cilj je imati pregledan forum a ne salatu, zato nikada ne radite “dupliće”. Ako niste naišli na prijavu, slobodno budite prvi koji će o tome obavijestiti javnost. Želite li napisati koliko volite neku aplikaciju ili pak mrzite neku drugu, radije nemojte. Takav problem trenutno ima službeni Ubuntu forum, jer većina korisnika dođe i napiše koliko voli Ubuntu a koliko mrzi Windowse, što je loše i nepoželjno.

Također, pokušajte prvo proguglati problem, pretražiti službenu bugzillu, posjetiti mailing listu, news grupu te pretražiti forume drugih distribucija (Gentoo, Debian, Arch i Fedora forumi su odlična mjesta za početak).

b) upstream ili distro?

Svaka distribucija je upravo to – GNU/Linux distribucija. Razvojni tim distribucije je zaslužan za kompajliranje, paketiranje aplikacija iz širokog kruga izvornih kodova i distribuciju paketa, ali nije zadužen za rješavanje bugova u njima. Pojam upstream se odnosi upravo na paketirane aplikacije.

Primjerice, Firefox (popularni web preglednik) se distribuira uz OpenSuse, no on nije njihov i samim time nije njihova odgovornost. Firefox razvija Mozilla tim i probleme s njim je potrebno prijaviti njima. U ovom primjeru, prijavljivanje Firefoxovih bugova u OpenSuse neće riješiti probleme. Dakle, ako distribucija nije odgovorna za kod, ne može ni riješiti probleme uzrokovane njime.

Veća greška je prijavljivanje bugova vlasničkih aplikacija određenim distribucijama; najčešće Flash Playera ili vlasničkih drivera. To je smiješno i neodgovorno. Vlasnički softver je upravo to – vlasnički – i ima svog vlasnika. Probleme uzrokovane njegovim korištenjem ili njegove nedostatke valja prijaviti njegovom vlasniku, i samo njegovom vlasniku, jer ih jedino on može popraviti.

Dakle, razlikujemo projekt distribucije i upstream kod. Zamijeti li se bug u upstream kodu, potrebno je javiti se upstream razvijatelju, a ne distribuciji. Greške prilikom paketiranja i loše paketiranje također nisu bugovi i ne prijavljuju se pod bugove.

c) bug ili feature?

Razlikujemo dva osnovna pojma – bug i feature. Bug je greška u kodu, dok je feature značajka aplikacije (i nije bug).
U šali rečeno: ako možeš isključiti, feature je. Ako ne možeš isključiti, bug je.

Bug – nešto što bi trebalo raditi ali ne radi, malfunkcija programa.
Feature – značajka programa, nešto što radi ili bi radilo kada bi netko isprogramirao.

Što nisu bugovi?

a) Nešto što biste htjeli da taj komad softvera radi, a nije izvorno bilo uključeno u kod; ukratko, nova funkcija.
b) Bug koji je već prijavljen u upstream i na kojem se radi.
c) Bug koji je već popravljen, ali popravljeni program još uvijek nije dostupan u vašoj distribuciji zbog paketiranja.
d) Zastarjeli paketi.
e) Napuštene aplikacije.
f) Paketi koje koriste Fedora, Ubuntu, Debian ili neka druga distribucija, prvenstveno zbog zakrpa specifičnih za svaku distribuciju (distro specific packages).
g) Aplikacija kod koje funkcija X ili funkcija Y ne rade. To je nedostatak funkcije (featurea).

Razlozi zašto nešto nije feature:

a) Zato što je bug.
b) Ne može se isključiti.
c) Ne može se naknadno isprogramirati.
d) Zastarjeli paket za kojeg funkcija X ili Y nije ni bila zamišljena.
e) Distro specific package.

Prikupljanje korisnih informacija

Prije svakog slanja prijava poželjno je i nužno prikupiti što više korisnih informacija. Što uključiti u kvalitetnu i ozbiljnu prijavu buga?

a) Verziju paketa koji koristite. Ova informacija je prilično važna.
b) Po mogućnosti, priložite i verzije osnovnih biblioteka (libova) koje paket koristi.
c) Koji kernel koristite i s kojim patchevima.
d) Svakako napišite i je li određena funkcija ranije radila pa je odjednom prestala, ili pak nikad nije radila.
e) Ako se javljaju greške vezane uz hardver obavezno priložite i listu hardvera koji koristite.
f) Ako možete, priložite i odgovarajuću log datoteku.

Gdje naći log podatke?

a) /var/log/messages – za kernel i hardver
b) /var/log/Xorg.0.log ili /var/log/Xorg.2.log – za X.org, desktop i video probleme
c) pokrenite aplikaciju u terminalu sa –verbose i –debug te priložite ispis

Otvaranje prijave

Ovo možete učiniti na više načina:
a) registracijom na službeni forum
b) registracijom na službeni bug tracker

U oba slučaja registracija je jednostavna – nije teža od registracije na LZS :)

Također, ako službeni bug tracker ili forum nisu dostupni, u svakom paketu nalaze se informacije o autoru pa svakako pokušajte samom autoru poslati sve što biste poslali za prijavu buga. Neki projekti su premaleni i ne nalaze se u repozitorijima.

Imenovanje

Nikako nemojte započinjati prijavu ili post sa “Molim pomoć”, “Help!!!111″, “Ne radi”, “xxxxyyy.-package doesn’t work after update” i slično. Naziv paketa obavezno navedite unutar uglatih zagrada ( [] ). Na većini tipkovnica one se nalaze na tipkama F i G te ih se dobiva pritiskom na Alt + F ili G.

Nemojte prilagati screenshotove, pisati eseje i svoje mišljenje, ili još gore, kritiku, jer to nikoga ne zanima pa ispadate neozbiljni, a na nekim forumima i bug trackerima bi vas mogli kazniti i kao trolla. Prije svega budite ozbiljni. Kada šaljete prijavu, pošaljite sve relevantne informacije kratko i jasno, te prije svega detaljno.

Praćenje buga

Nemojte misliti da vaš posao završava jednom kad ste poslali prijavu buga.

Uvijek pratite nove postove u temi koju ste započeli. Javit će vam se drugi korisnici, eventualno i sami razvijatelji, te vam predložiti neka rješenja ili vas zamoliti za detaljnije informacije. Kad se to dogodi budite ljubazni i susretljivi. Brzina i efikasnost rješavanja problema ovise o kvaliteti komunikacije razvijatelj-korisnik. Ako već u samom komunikacijskom kanalu dolazi do poteškoća, vrlo je velika vjerojatnost da će vaša prijava biti odbijena i obilježena kao spam. To će pak rezultirati ljutitim razvijateljem, ljutitim korisnikom i još uvijek problematičnom aplikacijom.

Ukratko:

“It doesn’t work.” (Ne radi.)

Ne podcjenjujte tuđi intelekt. Da aplikacija ne radi, ne bi bila kao prvo puštena u javnost, a kao drugo ne bi bila ni paketirana. Ovakvim reportovima štetu radite samo sebi.

“Show me.” (Pokaži mi.)

Uvijek vrijedi pravilo da se problem može pokazati samom razvijatelju. Ako ste u mogućosti, obavezno to učinite.

“Works for me. So what goes wrong?” (Kod mene radi. U čemu je problem?)

Često će razvijatelji ili drugi korisnici nakon vašeg postati svoj ispis programa koji će biti drugačiji. To znači da ste dostavili krive ili nepotpune informacije, ili grešku kod vas uzrokuje druga aplikacija te pomoć tražite na krivom mjestu.

Budite precizni i budite kulturni. Također, budite jasni i pokušajte što bolje definirati grešku. Koristeći pojmove “it” ili pak “the window” bivate vrlo nejasni i zbunjujete druge korisnike, ali i razvijatelje. Prije slanja svakako pročitajte što ste i kako napisali te provjerite sadrži li vaš report sve potrebno.

Prvi korak je razvijatelju omogućiti da vidi što konkretno ne radi i dati mu uvid u grešku.
Drugi korak je što detaljnije opisati grešku.

Ako vaše računalo učini nešto neočekivano kao npr. smrzavanje, nemojte činiti ništa dok se ne smirite. Zatim pokušajte provjeriti postavke svog računale i ne radite ništa za što mislite da je opasno. Pišite jasno i nedvosmisleno i uvijek budite precizni i pristojni.

Prijavljivanje bugova neće vam oduzeti previše vremena niti ćete to raditi svaki dan, a time uvelike pomažete zajednici i razvoju. Razvoj nam je svima važniji od šarenih boja.

Disclaimer: I’ve never actually seen a mongoose or an antelope. My zoology may be inaccurate.

VN:F [1.9.22_1171]
Rating: 5.0/5 (16 votes cast)
Kako prijavljivati bugove?, 5.0 out of 5 based on 16 ratings

Povezani članci:

Dvorak u Linuxu vidi jedi...
Ove godine očekujemo više...
Linux u domaćim IT časopi...
Linux u domaćim IT časopi...
Naprasno je prekinut razv...

11 Responses

  1. Marin kaže:

    Evo jedan bug koji sam prijavio jos 2009 na Launchpad-u: https://bugs.launchpad.net/ubuntu/+source/audacious/+bug/455959

    Bug se odnosio na “crashed while add directory mp3’s” na audacious-u, i to jos na Ubuntu 9.10, pa se iz postova moze zakljuciti da je to ispravljeno u development fazi i da je starija verzija bila na audacious-u. Nakon dugog vremena poslali su da im posaljem report ali im se nisam javio…

    Glavni problem je bio:

    It’s old issue and now on newer version Audacious it’s fixed. Never crashed and work’s fine. The main bug of this package are problem in name and type in name of filename MP3’s.

    Medjutim to je ubuntu javio kao crashed pa sam objavio dalje… na novoj verziji taj se problem nije pojavio (update ubuntu-a (ne distro)).

    • Milan kaže:

      Audacious ti je u universe riznici, što znači veoma slaba vajda da uopšte prijavljuješ kada Ubuntu ima tek nekoliko desetina MOTU developera, bolje su šanse ako prijaviš u Debianu direktno, a još bolje upstreamu.

      A ponajbolje uvek bilo ako skontaš kako da ga zakrpiš sam :).

  2. Lutherus kaže:

    Evo imate upute, ajde ih se bar sad i držite.Audacious nije Canonicalova aplikacija. Bug su popravili kad su promjenili verziju paketa na noviju. Bug u toj aplikaciji prijavljuješ njenim developerima. Jel mogu ja tebi prijaviti bug u grub2?

  3. 4ndY kaže:

    “Greške prilikom paketiranja i loše paketiranje također nisu bugovi i ne prijavljuju se pod bugove.”

    Ova rečenica me zbunjuje, prijevod bi trebao biti bug == greška, a sad ako je do krivog pakiranja onda je to bug u pakiranju koji prijavljujemo na bugzillu distribucije… Gdje bi u suprotnom prijavio takvu grešku (a ne bug?) ako ne kao bug na bugzillu?

    Mislim da je nekad vrlo teško uočiti što je greška upstreama, a što je greška distre jer se nekad greška upstreama manifestira samo kad radi s drugim verzijama paketa koje distribucija pakira, a upstream nije testirao.

    Ja gotovo uvijek prijavljujem bug na bugzillu distribucije ako nisam siguran 100% siguran da je za njega odgovoran upstream, a to recimo znam ako se manifestira kroz više različitih distribucija (iako ni to ne mora biti konačna potvrda). Lako distra proslijedi bugreport upstreamu… pa čak i ja kad mi u distri kažu da misle da to nije do njih.

  4. Ivan kaže:

    Kod bilo kakvih prijava, bilo to prijava bugova proizvođaču softwarea, bilo to prijava smetnji u radu nekog servisa “nadležnoj organizaciji/tvrtci” svakako je potrebno navesti što više informacija relevantnih za problem. Opis “ne radi, popravite” neznači ništa osim toga da onaj koji prijavljuje problem na takav način zapravo ne traži pomoć niti mu je ista bitna već samo “kuka”. :)

    Druga stvar: “pretražiti forume drugih distribucija (Gentoo, Debian, Arch i Fedora forumi su odlična mjesta za početak).”

    da to su zaista odlična mjesta za traženje rješenja nekog problema, zaobilaska istog itd. Osobno bez obzira koju distru na kojem računalu koristio naučio sam se da Arch ima ogromnu dokumentaciju te obavezno kad god imam nekih nedoumica prvo zavirim u njihov wiki, ako tamo što ne uspijem naći zavirim u forum. Od gore navedenih sam najviše rješenja problema našao na Fedora forumu..

  5. Branko kaže:

    Evo da podijelim i ja jedno svoje iskustvo kod prijave buga.
    Imao sam laptop koji je imao problema sa zvukom. Nisu radile slušalice.
    Nakon detaljnog surfanja i istraživanja problema sam se odlučio prijaviti bug.
    Iako nisam znao što sve treba priložiti u prijavu, brzo sam dobio povratne informacije, priložio sve što treba i isprobavao predložena rješenja.
    Rezultat toga je da sam u sljedećoj nadogradnji kernela imao out of the box podršku za svoj laptop. Nakon instalacije je sve radilo kako treba i bez dodatnog uštimavanja.
    A stajalo me svega desetak postova u komunikaciji s developerima i jedno sat-dva vremena za primjenu njihovih uputa i slanje dodatnih informacija.

  6. lutherus kaže:

    Pred dva dana pregledavam bug report za GSL pristigli na mail i nađem na kraju ovo

    KOSOVO IS SERBIA!!!!!
    ANTE GOTOVINA WAR CRIMINAL!!!!!

    :facepalm

    Ne to raditi. Ne takve gluposti pisati i slati.Ovaj konkretan će samo radi toga biti markan kao spam. Ovakve stvari i vaši politički svjetonazori ne zanimaju nikoga pa ih nemojte ni bez da se od vas traži sa drugima djeliti pogotovon ne u bug reportovima.

  7. Dado kaže:

    Nemojte da moram i odavde bjezati zbog politike..drzimo se teme a to je Linux!

Ostavi komentar

© 2014 Linux Za Sve. | Impressum | Sadržaj je licenciran pod CC-SA-3.0 ako nije drugačije naznačeno.
Proudly designed by Theme Junkie.