2. Πότε να στείλετε μια αναφορά προβλήματος
Προηγ |  | Επόμενο

## 2. Πότε να στείλετε μια αναφορά προβλήματος

Υπάρχουν πολλοί τύποι προβλημάτων, και δεν αξίζουν όλοι μια αναφορά προβλήματος. Φυσικά κανείς δεν είναι τέλειος, και θα υπάρξουν φορές που θα έχετε πειστεί ότι βρήκατε κάποιο πρόβλημα σε ένα πρόγραμμα, όταν στην πραγματικότητα θα έχετε καταλάβει λάθος τη σύνταξη μιας εντολής ή θα έχετε κάνει κάποιο τυπογραφικό λάθος σε ένα αρχείο ρυθμίσεων (αν κι αυτό μερικές φορές είναι ενδεικτικό κακής ή λειψής τεκμηρίωσης ή ακόμα και κακής διαχείρισης λαθών από κάποια εφαρμογή). Ακόμα, υπάρχουν περιπτώσεις που το να στείλετε κάποια αναφορά προβλήματος δεν είναι σωστή κίνηση και το μόνο που μπορεί να πετύχει είναι να ενοχλήσει ή εσάς ή τους προγραμματιστές. Από την άλλη όμως, υπάρχουν περιπτώσεις που μπορεί να είναι καλή σκέψη να στείλετε μια αναφορά προβλήματος για κάτι που δεν είναι bug—μια βελτίωση ή μια αίτηση για κάποιο νέο χαρακτηριστικό, για παράδειγμα.

Τότε λοιπόν, πώς μπορείτε να αποφασίσετε αν κάτι είναι πρόβλημα ή όχι; Ένας απλός κανόνας είναι ότι το πρόβλημά σας δεν είναι bug αν μπορεί να εκφραστεί σαν ερώτηση (συνήθως της μορφής &#x201C;Πώς κάνω το Χ;&#x201D; ή &#x201C;Πού μπορώ να βρω το Ψ;&#x201D;). Δεν είναι πάντα τόσο άσπρο-μαύρο τα πράγματα βέβαια, αλλά ο κανόνας της ερώτησης καλύπτει την μεγαλύτερη πλειοψηφία των περιπτώσεων. Αν αυτό που ψάχνετε είναι κάποια απάντηση, ίσως είναι καλύτερα να στείλετε την ερώτησή σας στην ηλεκτρονική λίστα γενικών ερωτήσεων του FreeBSD.

Κάποιες περιπτώσεις που πιθανόν να είναι καλή ιδέα να στείλετε μια αναφορά προβλήματος για κάτι που δεν είναι bug, είναι:

- Αιτήσεις για μελλοντικές βελτιώσεις. Είναι γενικά καλή ιδέα να δοκιμάσετε να συζητήσετε πρώτα τέτοιες ιδέες σε κάποια λίστα ηλεκτρονικού ταχυδρομείου πριν στείλετε μια αναφορά προβλήματος.

- Ειδοποίηση για ενημερωμένες εκδόσεις προγραμμάτων (κυρίως ports, αλλά και μέρη του βασικού συστήματος που συντηρούνται από τρίτους, όπως το BIND και τα διάφορα GNU εργαλεία).

  Όταν ένα πακέτο δεν είναι υπό την άμεση επίβλεψη ενός επίσημου υπεύθυνου (η τιμή του `MAINTAINER` είναι `ports@FreeBSD.org`) μπορεί οποιοσδήποτε committer ή άλλος ενδιαφερόμενος να διαχειριστεί αυτές τις ειδοποιήσεις. Μπορεί, ακόμη, να σας ζητηθεί και κάποιο patch για ενημερωθεί το πακέτο. Αν έχετε ήδη φτιάξει κάποιο patch, καλό είναι να το συμπεριλάβετε κι αυτό στην αναφορά προβλήματος που θα στείλετε. Έτσι αυξάνονται οι πιθανότητες να το δει κάποιος committer που ενδιαφέρεται και να χειριστεί αυτή την αναφορά προβλήματος πιο σύντομα.

  Όταν ένα πακέτο είναι υπό την επίβλεψη κάποιου, συνήθως δεν είναι ιδιαίτερα χρήσιμες οι αναφορές που απλώς ανακοινώνουν μια καινούρια έκδοση από τον συγγραφέα του πηγαίου κώδικα του πακέτου. Συνήθως το ξέρει ήδη ο υπεύθυνος του πακέτου για το FreeBSD, ή έχει συνεργαστεί με τον συγγραφέα του πηγαίου κώδικα για τη νέα έκδοση, ή δοκιμάζει το πακέτο για να δει ότι όλα εξακολουθούν να δουλεύουν, κοκ.

  Όπως και να 'χει, είναι καλή ιδέα να ακολουθήσετε τη διαδικασία από το Porter's Handbook.

Ένα bug που δεν μπορεί κανείς να το αναπαράγει είναι πολύ δύσκολο να διορθωθεί. Αν το bug εμφανίστηκε μια φορά μόνο και δεν μπορείτε να το αναπαράγετε εσείς, και φαινομενικά δεν εμφανίζεται σε κανέναν άλλο, είναι πολύ μικρές οι πιθανότητες να μπορεί κάποιος προγραμματιστής να το ανακαλύψει και να καταλάβει τί είναι αυτό που προκαλεί το λάθος. Αυτό δεν σημαίνει πως δεν συμβαίνει, αλλά σημαίνει πως η πιθανότητα να οδηγήσει η αναφορά σας στην λύση του προβλήματος είναι πάρα πολύ μικρή, και μάλλον είναι καλύτερο να σταματήσετε να ασχολείστε με το θέμα. Ακόμα χειρότερα, κάποιες φορές αυτού του είδους τα προβλήματα οφείλονται σε προβλήματα του υλικού (χαλασμένους σκληρούς δίσκους ή επεξεργαστές που υπερθερμαίνονται). Πρέπει πάντοτε πριν στέλνετε μια αναφορά προβλήματος, όταν φυσικά είναι δυνατόν να γίνει κάτι τέτοιο, να προσπαθείτε να αποκλείσετε τέτοιες περιπτώσεις.

Για να αποφασίσετε σε ποιά κατηγορία προβλημάτων ανήκει η αναφορά σας, πρέπει να έχετε κατά νου τα διάφορα μέρη του λογισμικού από το οποίο αποτελείται το FreeBSD:

- Ο κώδικας του βασικού συστήματος που έχει γραφτεί και συντηρείται από την ομάδα του FreeBSD. Σε αυτή την κατηγορία λογισμικού ανήκουν ο πυρήνας, η βιβλιοθήκη της C, και οι οδηγοί συσκευών (κατηγορία `kern`), τα εργαλεία γραμμής εντολών του βασικού συστήματος (κατηγορία `bin`), οι σελίδες βοήθειας και η τεκμηρίωση του FreeBSD (κατηγορία `docs`), και ο ιστότοπος του FreeBSD (κατηγορία `www`). Όλα τα προβλήματα με κάποιο από αυτά τα μέρη του FreeBSD πρέπει να αναφέρονται στην ομάδα ανάπτυξης του FreeBSD.

- Ο κώδικας του βασικού συστήματος που έχει γραφτεί και συντηρείται από τρίτους αλλά έχει ενσωματωθεί στο FreeBSD κι έχει προσαρμοστεί σε αυτό. Παραδείγματα τέτοιων προγραμμάτων είναι το bind, ο μεταγλωττιστής gcc(1) και το sendmail(8). Τα περισσότερα προβλήματα με κάποιο από αυτά τα προγράμματα πρέπει να αναφέρονται στην ομάδα ανάπτυξης του FreeBSD. Σε μερικές περιπτώσεις μπορεί να χρειαστεί να αναφερθούν στους αρχικούς συγγραφείς του αντίστοιχου προγράμματος· ειδικά αν το πρόβλημα δεν εμφανίζεται μόνο στο FreeBSD. Οι πιο συνηθισμένες κατηγορίες για τις αναφορές προβλημάτων σχετικά με αυτά τα προγράμματα είναι οι `bin` και `gnu`.

- Άλλες εφαρμογές, οι οποίες δεν είναι μέρος του βασικού συστήματος του FreeBSD, αλλά υποστηρίζονται ως μέρος της Συλλογής των Ports (κατηγορία `ports`). Η συντριπτική πλειοψηφία αυτών των εφαρμογών δεν έχει γραφτεί από την ομάδα του FreeBSD. Αυτό που παρέχεται από το FreeBSD είναι απλά η δυνατότητα να εγκατασταθούν αυτές οι εφαρμογές (με μερικές χρήσιμες αλλά όσο το δυνατόν λιγότερες ή μικρότερες σε έκταση αλλαγές) σε ένα σύστημα FreeBSD. Οπότε πρέπει να αναφέρετε οποιοδήποτε πρόβλημα έχουν αυτές οι εφαρμογές στην ομάδα του FreeBSD κυρίως όταν πιστεύετε ότι το πρόβλημα εμφανίζεται μόνο στο FreeBSD. Σε αντίθετη περίπτωση είναι καλύτερη ιδέα να αναφέρεται το πρόβλημα στον αρχικό συγγραφέα του αντίστοιχου προγράμματος.

Τέλος, ελέγξτε ότι η αναφορά που στέλνετε αφορά ένα πρόβλημα το οποίο υπάρχει ακόμα. Μερικές φορές είναι κάπως ενοχλητικό για έναν προγραμματιστή να παίρνει ειδοποιήσεις για ένα πρόβλημα το οποίο έχει ήδη διορθωθεί.

Αν το πρόβλημα που αντιμετωπίζετε αφορά το βασικό σύστημα και δεν έχετε ενημερωθεί ήδη για τις τελευταίες εκδόσεις του FreeBSD, διαβάστε το τμήμα εκδόσεις του FreeBSD στη Λίστα Συχνών Ερωτήσεων του FreeBSD. Η ομάδα του FreeBSD μπορεί να συντηρεί μόνο ένα ορισμένο (μικρό) αριθμό κλάδων ανάπτυξης του FreeBSD. Δε μπορεί να διορθώνει προβλήματα για οποιαδήποτε έκδοση του FreeBSD. Οπότε αν αναφέρετε ότι έχετε πρόβλημα με μια πολύ παλιά έκδοση του συστήματος, η πιο πιθανή απάντηση που θα πάρετε θα είναι να αναβαθμίσετε το σύστημά σας σε μια έκδοση που υποστηρίζεται επίσημα από την ομάδα του FreeBSD και να κάνετε δοκιμές για να δείτε αν το πρόβλημα έχει ήδη διορθωθεί ή υπάρχει ακόμη. Η Ομάδα Ασφάλειας του FreeBSD συντηρεί και ενημερώνει μια λίστα εκδόσεων του FreeBSD που υποστηρίζονται επίσημα.

Αν το πρόβλημα που αντιμετωπίζετε αφορά ένα πακέτο, τότε πρέπει κατ' αρχήν να ενημερώσετε τα Ports σας στην τελευταία έκδοση της Συλλογής των Ports και να δείτε αν το πρόβλημα υπάρχει ακόμα. Οι εφαρμογές που περιέχονται στη Συλλογή των Ports αλλάζουν πολύ γρήγορα. Λόγω του γρήγορου ρυθμού με τον οποίο ενημερώνονται είναι πρακτικά αδύνατον για την ομάδα του FreeBSD να υποστηρίξει οποιαδήποτε παλιότερη έκδοση των Ports. Αυτό σημαίνει ότι τα προβλήματα που έχουν οι παλιές εκδόσεις κάποιων προγραμμάτων απλά δε γίνεται να διορθωθούν.

Προηγ |  | Επόμενο
Γράφοντας Αναφορές Προβλημάτων για το FreeBSD | Αρχή | 3. Προετοιμασία

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.