Copyright © 2001, 2006 Eric S. Raymond, Rick Moen
Ιστορικό Αναθεωρήσεων | ||
---|---|---|
Αναθεώρηση 3.7 | 02 Νοε 2010 | esr |
Αρκετές μεταφράσεις έχουν εξαφανισθεί. | ||
Αναθεώρηση 3.6 | 19 Μαρ 2008 | esr |
Μικρή ενημέρωση και νέοι σύνδεσμοι. | ||
Αναθεώρηση 3.5 | 2 Ιαν 2008 | esr |
Τυπογραφικό λάθος και σύνδεσμοι μεταφράσεων. | ||
Αναθεώρηση 3.4 | 24 Μαρ 2007 | esr |
Νέα ενότητα, "Όταν ρωτάς για κώδικα". | ||
Αναθεώρηση 3.3 | 29 Σεπ 2006 | esr |
Προσθήκη μίας καλής πρότασης από τον Kai Niggemann. | ||
Αναθεώρηση 3.2 | 10 Ιαν 2006 | esr |
Προσθήκη αλλαγών από τον Rick Moen. | ||
Αναθεώρηση 3.1 | 28 Οκτ 2004 | esr |
Τεκμηρίωση του 'Το Google είναι φίλος σου!' | ||
Αναθεώρηση 3.0 | 2 Φεβ 2004 | esr |
Μείζονες προσθήκες σχετικά με σωστή συμπεριφορά σε online forums. |
Πίνακας Περιεχομένων
Μεταφράσεις: Bahasa Ινδονησιακά Λευκορωσικά Βραζιλο-Πορτογαλλικά Κινέζικα Ολλανδικά Γαλλικά Γρηγοριανά Γερμανικά Εβραϊκά Ιαπωνικά Πολωνικά Πορτογαλικά Ρομανικά Ρώσικα Ισπανικά Ταϊλανδικά Τούρκικα. Αν θέλεις να αντιγράψεις, να ανεβάσεις στο Διαδίκτυο, να μεταφράσεις, ή να δανειστείς ένα απόσπασμα από το παρόν κείμενο, παρακαλώ βλέπε την πολιτική αντιγραφής που έχω.
Πολλές ιστοσελίδες από projects έχουν συνδέσμους προς αυτό το έγγραφο στις ενότητες σχετικά με την λήψη βοήθειας. Αυτό είναι εντάξει, είναι η χρήση την οποία είχαμε σκοπό να έχει — αλλά αν διατηρείς μία ιστοσελίδα και δημιουργείς ένα τέτοιο σύνδεσμο για την σελίδα του project σου, παρακαλώ δημιούργησε μία σαφή σημείωση κοντά στο σύνδεσμο που να δείχνει ότι δεν είμαστε το τμήμα υποστήριξης για το πρόγραμμά σου!
Μάθαμε, με άσχημο τρόπο, ότι χωρίς μία τέτοια σημείωση, θα ενοχλούμαστε συνεχώς από ηλίθιους που θεωρούν ότι έχοντας δημοσιεύσει αυτό το έγγραφο κάνει δουλειά μας το να λύσουμε όλα τα τεχνικά προβλήματα του κόσμου.
Αν διαβάζεις αυτό το έγγραφο επειδή χρειάζεσαι βοήθεια, και φεύγεις με την εντύπωση ότι μπορείς να την λάβεις από τους συντάκτες αυτού του εγγράφου, εσύ είσαι ένας από τους ηλίθιους που αναφέρθηκαν. Μην κάνεις σε εμάς τις ερωτήσεις. Απλώς θα σε αγνοήσουμε. Βρισκόμαστε εδώ για να σου δείξουμε πώς να λάβεις βοήθεια από τους ανθρώπους που πραγματικά γνωρίζουν σχετικά με το λογισμικό ή το υλικό το οποίο χειρίζεσαι, όμως στο 99% των περιπτώσεων αυτοί δεν θα είμαστε εμείς. Εκτός και αν ξέρεις σίγουρα ότι ένας από τους συντάκτες είναι ειδικός σε αυτό που σε ενδιαφέρει, άσε μας ήσυχους και όλοι θα είμαστε χαρούμενοι.
Στον κόσμο των hackers, το είδος των απαντήσεων που λαμβάνεις στις τεχνικές σου ερωτήσεις εξαρτάται τόσο από τον τρόπο που κάνεις τις ερωτήσεις όσο και από την δυσκολία της δημιουργίας της απάντησης. Αυτός ο οδηγός θα σου διδάξει πώς να κάνεις ερωτήσεις με τρόπο τέτοιο ώστε να είναι πιο πιθανό να λάβεις ικανοποιητικές απαντήσεις.
Τώρα που η χρήση λογισμικού ανοιχτού κώδικα έχει διαδοθεί, μπορείς συχνά να λάβεις εξίσου καλές απαντήσεις από άλλους, έμπειρους χρήστες όσο και από hackers. Αυτό είναι ένα Καλό Πράγμα - οι χρήστες τείνουν να είναι πιο ανεκτικοί στους τύπους αποτυχίας που έχουν συχνά οι νέοι χρήστες. Παρ' όλα αυτά, το να συμπεριφέρεσαι στους έμπειρους χρήστες όπως στους hackers με τον τρόπο που προτείνουμε εδώ θα είναι γενικά ο πιο αποδοτικός τρόπος να λάβεις βοηθητικές απαντήσεις και από αυτούς.
Το πρώτο πράγμα που πρέπει να καταλάβεις είναι ότι στους hackers πράγματι αρέσουν τα δύσκολα προβλήματα και οι καλές ερωτήσεις που προωθούν την σκέψη και τα αφορούν. Αν δεν μας άρεσαν, δεν θα ήμασταν εδώ που είμαστε. Αν μας δώσεις μία ενδιαφέρουσα ερώτηση για να σκεφτούμε, θα σου είμαστε ευγνώμονες — οι καλές ερωτήσεις είναι καλά ερεθίσματα και δώρα. Οι καλές ερωτήσεις μας βοηθούν να αναπτύξουμε την δυνατότητα για κατανόηση, και συχνά αποκαλύπτουν προβλήματα που μπορεί να μην είχαμε παρατηρήσει ή σκεφτεί σε άλλη περίπτωση. Ανάμεσα στους hackers, η φράση "Καλή ερώτηση!" είναι μία έντονη και ειλικρινής φιλοφρόνηση.
Παρ' όλα ταύτα, οι hackers έχουν την φήμη ότι συναντούν τις απλές ερωτήσεις με κάτι που μοιάζει με έχθρα ή υπεροψία. Μερικές φορές φαίνεται σαν να είμαστε ανεξήγητα αναιδείς στους αρχάριους και στους αγνοώντες. Αλλά αυτό δεν είναι στ' αλήθεια σωστό.
Αυτό που είμαστε, χωρίς να χρειάζεται να απολογηθούμε, είναι εχθρικοί στους ανθρώπους που φαίνονται απρόθυμοι να σκεφτούν ή να κάνουν την προεργασία τους πριν να κάνουν ερωτήσεις. Άνθρωποι σαν και αυτούς είναι ρουφήχτρες χρόνου — λαμβάνουν χωρίς να δίνουν πίσω, και σπαταλούν χρόνο που θα μπορούσαμε να είχαμε ξοδέψει σε κάποια άλλη, πιο ενδιαφέρουσα, ερώτηση και κάποιο άλλο άτομο που να άξιζε περισσότερο μία απάντηση. Αυτούς τους ανθρώπους, τους αποκαλούμε "χαμένους", "losers" (και για ιστορικούς λόγους μερικές φορές το γράφουμε "lusers").
Κατανοούμε ότι υπάρχουν πολλοί άνθρωποι που απλώς θέλουν να χρησιμοποιήσουν το λογισμικό που αναπτύσσουμε, και που δεν βρίσκουν ενδιαφέρον στο να μάθουν τεχνικές λεπτομέρειες. Για τους περισσότερους ανθρώπους, ένας υπολογιστής είναι μόνο ένα εργαλείο, ένα μέσο για ένα σκοπό — έχουν πιο σημαντικά πράγματα να κάνουν και να ζήσουν τη ζωή τους. Αυτό το αναγνωρίζουμε, και δεν αναμένουμε από τον καθένα να αναπτύξει ενδιαφέρον για τα τεχνικά ζητήματα που μας σαγηνεύουν. Εντούτοις, ο τρόπος με τον οποίο απαντάμε σε ερωτήσεις είναι συντονισμένος για ανθρώπους που έχουν αυτό το ενδιαφέρον και είναι πρόθυμοι να γίνουν ενεργοί συμμετέχοντες στην λύση του προβλήματος. Αυτό δεν πρόκειται να αλλάξει. Και ούτε θά 'πρεπε — αν άλλαζε, θα γινόμασταν λιγότερο παραγωγικοί σε αυτό που κάνουμε καλύτερα.
Είμαστε (κατά μεγάλο μέρος) εθελοντές. Αφιερώνουμε χρόνο από τις άλλες ασχολίες μας για να απαντήσουμε σε ερωτήσεις, και ορισμένες φορές καταποντιζόμαστε από αυτές. Συνεπώς, φιλτράρουμε δίχως έλεος. Συγκεκριμένα, πετάμε στα σκουπίδια ερωτήσεις από ανθρώπους που φαίνονται να είναι χαμένοι με σκοπό να ξοδέψουμε τον χρόνο προς απάντηση ερωτήσεων πιο αποδοτικά, για τους νικητές.
Αν βρίσκεις τον εαυτό σου αντίθετο με αυτή την συμπεριφορά, αν την θεωρείς μειωτική προς εσένα, ή υπεροπτική, έλεγξε τις εικασίες σου. Δεν σου ζητάμε να υποκλιθείς μπροστά μας — στην πραγματικότητα, οι περισσότεροι από εμάς δεν θα ήθελαν τίποτε άλλο παρά να σε αντιμετωπίζουν σαν ίσο, και να σε καλωσορίσουν στην κοινότητά μας, αν καταβάλλεις την προσπάθεια που απαιτείται για να γίνει εφικτό. Όμως είναι απλώς μη παραγωγικό για εμάς να προσπαθούμε να βοηθούμε ανθρώπους που δεν είναι πρόθυμοι να βοηθήσουν τον εαυτό τους. Είναι εντάξει να αγνοείς — δεν είναι εντάξει να το παίζεις χαζός.
Οπότε, ενώ δεν είναι αναγκαίο να είσαι ήδη τεχνικά κατατοπισμένος για να τραβήξεις την προσοχή μας, είναι αναγκαίο να επιδείξεις το είδος της συμπεριφοράς που οδηγεί στην κατατόπιση — με επαγρύπνηση, σκεπτικότητα, παρατηρητικότητα, προθυμία να είσαι ενεργός συμμετέχοντας στην ανάπτυξη κάποιας λύσης. Αν δεν μπορείς να ζήσεις με αυτό το είδος διακρίσεων, σου προτείνουμε να πληρώσεις κάποιον για ένα εμπορικό συμβόλαιο υποστήριξης αντί να ζητάς από hackers να γίνουν εθελοντές δωρητές του προσωπικού τους χρόνου για να σε βοηθήσουν.
Αν αποφασίσεις να έρθεις σε εμάς για βοήθεια, δεν θέλεις να είσαι ένας από τους χαμένους. Ούτε θες να φαίνεται σαν να ήσουν ένας. Ο καλύτερος τρόπος να λάβεις ταχείες και διαδραστικές απαντήσεις είναι να ρωτήσεις όπως θα έκανε ένα άτομο με εξυπνάδα, αυτοπεποίθηση, και γνώσεις, που απλώς έτυχε να χρειαστεί βοήθεια σχετικά με ένα συγκεκριμένο πρόβλημα.
(Βελτιώσεις για αυτό τον οδηγό είναι ευπρόσδεκτες. Μπορείς να στείλεις προτάσεις στο esr@thyrsus.com ή στο respond-auto@linuxmafia.com. Σημείωσε πάραυτα ότι αυτό το έγγραφο δεν έχει σκοπό να είναι ένας γενικός οδηγός σχετικά με την netiquette, και γενικά θα απορρίψουμε προτάσεις που δεν είναι συγκεκριμένα σχετικές με την απόσπαση χρήσιμων απαντήσεων από ένα τεχνικό forum.)
Πριν κάνεις μία τεχνική ερώτηση μέσω e-mail, ή σε ένα newsgroup, ή σε κάποιο chat στον παγκόσμιο ιστό, κάνε τα ακόλουθα:
Δοκίμασε να βρεις την απάντηση αναζητώντας στο αρχείο παλιών μηνυμάτων του forum στο οποίο σκοπεύεις να γράψεις.
Δοκίμασε να βρεις την απάντηση αναζητώντας στο Διαδίκτυο.
Δοκίμασε να βρεις την απάντηση διαβάζοντας την τεκμηρίωση.
Δοκίμασε να βρεις την απάντηση διαβάζοντας τις Συχνά Υποβαλλόμενες Ερωτήσεις.
Δοκίμασε να βρεις την απάντηση με μελέτη και πειραματισμό.
Δοκίμασε να βρεις την απάντηση ρωτώντας έναν ικανό φίλο σου.
Αν είσαι προγραμματιστής, δοκίμασε να βρεις την απάντηση διαβάζοντας τον πηγαίο κώδικα.
Όταν υποβάλλεις την ερώτησή σου, δείξε το γεγονός ότι έχεις κάνει αυτά τα πράγματα πρώτα — αυτό θα επιβεβαιώσει ότι δεν είσαι ένας τεμπέλης τσιφούτης που ξοδεύει τον χρόνο των ανθρώπων. Ακόμη καλύτερα, δείξε τι έμαθες κάνοντας αυτά τα πράγματα. Αρεσκόμαστε στο να απαντάμε ερωτήσεις για ανθρώπους που έχουν επιδείξει ότι μπορούν να μάθουν από τις απαντήσεις.
Χρησιμοποίησε τακτικές όπως η αναζήτηση στο Google για το κείμενο από το μήνυμα σφάλματος που λαμβάνεις (αναζητώντας και στις Ομάδες του Google καθώς και σε ιστοσελίδες). Αυτό ίσως σε πάει κατευθείαν στην τεκμηρίωση σχετικά με την διόρθωση ή σε κάποιο μήνυμα ενός mailing list που να απαντάει στην ερώτησή σου. Ακόμη και αν δεν συμβεί κάτι τέτοιο, το να πεις "Έψαξα στο Google για την ακόλουθη φράση αλλά δεν έλαβα τίποτα που να μοιάζει ελπιδοφόρο" είναι ένα καλό πράγμα που μπορείς να κάνεις σε ένα e-mail ή σε ένα μήνυμα ομάδων όταν ζητάς βοήθεια, μόνο και μόνο επειδή καταγράφει ποιες αναζητήσεις δεν βοηθούν. Θα βοηθήσει επίσης να κατευθυνθούν άλλοι άνθρωποι με παρόμοια προβλήματα στο thread καθώς οι όροι αναζήτησης θα συνδεθούν με αυτό το thread που αναφέρεται στο πρόβλημά σου και, αν τα πράγματα πάνε καλά, και στη λύση του.
Χαλαρά. Μην αναμένεις να είσαι σε θέση να λύσεις ένα περίπλοκο πρόβλημα μέσα σε μερικά δευτερόλεπτα αναζητήσεων στο Google. Διάβασε και κατανόησε τις Συχνά Υποβαλλόμενες Ερωτήσεις, κάτσε κάτω, χαλάρωσε και σκέψου το πρόβλημα πριν να προσεγγίσεις τους ειδικούς. Δείξε μας εμπιστοσύνη, θα είναι σε θέση να καταλάβουν από τις ερωτήσεις σου πόσο έχεις διαβάσει και πόσο έχεις σκεφτεί, και θα είναι περισσότερο πρόθυμοι να βοηθήσουν αν φτάσεις προετοιμασμένος. Μην αρχίζεις να πυροβολείς όλο το οπλοστάσιο ερωτήσεων που μπορεί να έχεις μόνο και μόνο επειδή η πρώτη σου αναζήτηση δεν έδωσε αποτελέσματα (ή έδωσε πάρα πολλά).
Προετοίμασε την ερώτησή σου. Σκέψου την καλά. Ερωτήσεις που ακούγονται εσπευσμένες θα λάβουν εσπευσμένες απαντήσεις, ή και καθόλου. Όσο περισσότερα κάνεις για να δείξεις ότι έχεις αφιερώσει σκέψη και προσπάθεια στο να λύσεις το πρόβλημα πριν να ζητήσεις βοήθεια, τόσο περισσότερες πιθανότητες έχεις να λάβεις ουσιαστικά βοήθεια.
Πρόσεξε μην κάνεις την λάθος ερώτηση. Αν ρωτήσεις κάποια που βασίζεται σε λανθασμένες εικασίες, ο Κ. Τυχαίος Hacker πολύ πιθανόν να απαντήσει με μία άχρηστη λογοτεχνική απάντηση καθώς θα σκέφτεται "Χαζή ερώτηση...", και θα ελπίζει ότι η εμπειρία του να μάθεις σχετικά με αυτό που ρώτησες αντί για αυτό που πραγματικά χρειαζόσουν θα σου διδάξει ένα μάθημα.
Ποτέ μην υποθέτεις ότι έχεις δικαίωμα να λάβεις απάντηση. Δεν έχεις — έτσι κι αλλιώς, δεν πληρώνεις για την υπηρεσία. Θα κερδίσεις μία απάντηση, αν την κερδίσεις, ρωτώντας μία ουσιαστική, ενδιαφέρουσα ερώτηση που προωθεί την σκέψη — μία που να συμβάλλει έμμεσα στην εμπειρία της κοινότητας αντί μόνο να απαιτεί παθητικά γνώσεις από τους άλλους.
Από την άλλη πλευρά, κάνοντάς το σαφές ότι είσαι ικανός και πρόθυμος να βοηθήσεις στην διαδικασία ανάπτυξης μίας λύσης είναι μία πολύ καλή αρχή. Ερωτήσεις όπως "Μπορεί κάποιος να με καθοδηγήσει;", "Τι λείπει από το παράδειγμά μου;", και "Ποια πηγή θα έπρεπε να είχα ελέγξει;" είναι πιο πιθανό να απαντηθούν από τις "Σε παρακαλώ στείλε μου την ακριβή διαδικασία που θα πρέπει να ακολουθήσω." επειδή το κάνεις ξεκάθαρο ότι είσαι πρόθυμος να ολοκληρώσεις την διαδικασία αν κάποιος μπορεί απλώς να σε καθοδηγήσει προς την σωστή κατεύθυνση.
Να είσαι ευαίσθητος στην επιλογή του τόπου που θα κάνεις την ερώτησή σου. Συνήθως θα σε αγνοήσουν, ή θα σε ξεγράψουν ως χαμένο, αν:
στείλεις την ερώτησή σου σε κάποιο forum που είναι εκτός θέματος
στείλεις την πολύ στοιχειώδη ερώτησή σου σε κάποιο forum όπου αναμένονται προχωρημένες τεχνικές ερωτήσεις, ή το αντίστροφο
στείλεις την ίδια ερώτηση σε υπερβολικά πολλές διαφορετικές ομάδες
στείλεις ένα προσωπικό e-mail σε κάποιον που ούτε γνωρίζεις, ούτε είναι υπεύθυνος προσωπικά για την λύση του προβλήματός σου
Οι hackers σβήνουν ερωτήσεις που είναι λανθασμένα τοποθετημένες, σε μία προσπάθεια να προστατεύσουν τα επικοινωνιακά τους κανάλια από το να βουλιάξουν μέσα στην ασχετοσύνη. Δεν θέλεις να σου συμβεί αυτό.
Το πρώτο βήμα, επομένως, είναι να εντοπίσεις το σωστό forum. Και πάλι, το Google και άλλες μέθοδοι αναζήτησης στο Διαδίκτυο είναι φίλοι σου. Χρησιμοποίησέ τους για να βρεις την σελίδα του project που είναι περισσότερο σχετικό με το υλικό ή το λογισμικό που σε δυσκολεύει. Συνήθως θα έχει links προς μία λίστα από FAQ (Frequently Asked Questions - Συχνά Υποβαλλόμενες Ερωτήσεις), και προς τις mailing lists του project και τα αρχεία τους. Αυτές οι mailing lists είναι το τελικό σημείο όπου θα ζητήσεις βοήθεια, αν οι δικές σου προσπάθειες (συμπεριλαμβανομένης και της ανάγνωσης αυτών των FAQ που βρήκες) δεν σου βρίσκουν μία λύση. Η σελίδα του project ίσως περιγράφει κάποια διαδικασία αναφοράς σφαλμάτων, ή μπορεί να έχει σύνδεσμο προς κάποια. Αν ναι, ακολούθησέ τον.
Το να ρίξεις ένα e-mail σε ένα άτομο ή forum το οποίο δεν γνωρίζεις είναι στην καλύτερη περίπτωση ρίσκο. Για παράδειγμα, μην υποθέτεις ότι ο συγγραφέας μίας σελίδας με χρήσιμες πληροφορίες θέλει να γίνει ο εθελοντής σύμβουλός σου. Μην κάνεις αισιόδοξες προβλέψεις σχετικά με τον αν η ερώτησή σου θα είναι ευπρόσδεκτη — αν δεν είσαι σίγουρος, στείλ' την αλλού, ή ματαίωσε την αποστολή πλήρως.
Όταν επιλέγεις ένα Διαδικτυακό forum, ομάδα ή mailing list, μην εμπιστεύεσαι το όνομα το ίδιο εκτενώς — ψάξε για ένα FAQ ή χάρτη για να επιβεβαιώσεις ότι η ερώτησή σου είναι επί του θέματος. Διάβασε κάποια προηγούμενα μηνύματα πριν στείλεις, για να αποκτήσεις μία αίσθηση για το πώς λαμβάνουν χώρα τα πράγματα εκεί. Στην πραγματικότητα, είναι μία πολύ καλή ιδέα να κάνεις μία αναζήτηση με βάση λέξεις-κλειδιά για λέξεις που σχετίζονται με το πρόβλημά σου στην ομάδα ή στο αρχείο της mailing list πριν να ρωτήσεις. Μπορεί να σου βρει μία απάντηση, και αν όχι, θα σε βοηθήσει να διατυπώσεις καλύτερα την ερώτηση.
Μην πολυβολείς όλα τα διαθέσιμα κανάλια βοήθειας με τη μία, αυτό είναι σαν να ουρλιάζεις και ενοχλεί τους ανθρώπους. Πάρ' τα με τη σειρά, ήρεμα.
Γνώριζε ποιο είναι το θέμα σου! Ένα από τα κλασσικά λάθη είναι το να κάνεις ερωτήσεις σχετικές με το προγραμματιστικό API σε Unix ή σε Windows σε ένα forum αφιερωμένο σε μία γλώσσα ή βιβλιοθήκη που είναι συμβατή ανάμεσα και στα δύο. Αν δεν καταλαβαίνεις γιατί αυτό είναι πατάτα, καλύτερα να μην κάνεις τίποτε μέχρι να το πιάσεις.
Γενικότερα, ερωτήσεις σε ένα προσεκτικά διαλεγμένο δημόσιο forum είναι περισσότερο πιθανόν να απαντηθούν με χρήσιμες απαντήσεις απ' ότι οι ισοδύναμες ερωτήσεις σε ένα ιδιωτικό. Υπάρχουν πολλαπλοί λόγοι γι' αυτό. Ένας είναι απλά το μέγεθος του σώματος πιθανών ανταποκριτών. Ένας άλλος είναι το μέγεθος του κοινού — οι hackers προτιμούν να απαντούν σε ερωτήσεις που εκπαιδεύουν πληθώρα ανθρώπων αντί ερωτήσεων που υπηρετούν μόνο λίγους.
Αναμενόμενα, οι ικανοί hackers και οι συγγραφείς δημοφιλούς λογισμικού ήδη λαμβάνουν περισσότερο απ' το δίκαια αναλογούμενο ποσοστό όσον αφορά τον όγκο των λανθασμένα κατατοπισμένων ερωτήσεων. Για να προστεθεί σε αυτή την πλημμύρα, μπορεί σε ειδικές περιπτώσεις να έρθει η δική σου σταγόνα η οποία θα ξεχειλίσει το ποτήρι — αρκετές φορές, άτομα που είχαν συμβάλλει σε δημοφιλή projects απέσυραν την υποστήριξή τους λόγω παράπλευρων ζημιών σε μορφή άχρηστου όγκου e-mail προς τις προσωπικές τους διευθύνσεις που έγινε αφόρητη.
Η τοπική σου ομάδα χρηστών, ή η διανομή του Linux σου, μπορεί να διαφημίζει ένα forum του Παγκόσμιου Ιστού ή ένα κανάλι στο IRC όπου οι αρχάριοι μπορούν να λάβουν βοήθεια. (Σε μη αγγλόφωνες χώρες, τα forums αρχαρίων είναι πιο πιθανό να είναι mailing lists. [ΣτΜ: Αυτό δεν είναι απαραίτητα αλήθεια. Στην ελληνική κοινότητα ελεύθερου λογισμικού υπάρχουν εξίσου forums, mailing lists, wikis, και κανάλια στο IRC από όπου κάποιος μπορεί να λάβει βοήθεια.]) Αυτά είναι καλά μέρη για να ρωτήσεις, ειδικά αν πιστεύεις ότι έχεις σκοντάψει πάνω σε ένα σχετικά απλό ή συνηθισμένο πρόβλημα. Ένα διαφημιζόμενο κανάλι στο IRC αποτελεί μία ανοιχτή πρόσκληση να κάνεις ερωτήσεις σε αυτό και συχνά να λάβεις απαντήσεις σε πραγματικό χρόνο.
Στην πραγματικότητα, αν έχεις πάρει το πρόγραμμα το οποίο σου δημιουργεί προβλήματα από μία διανομή του Linux (όπως είναι συνηθισμένο σήμερα), ίσως να ήταν καλύτερο να ρωτήσεις στο forum ή στη λίστα της διανομής πριν να δοκιμάσεις το forum ή τη λίστα του project του προγράμματος. Οι hackers του project μπορεί απλώς να πουν "χρησιμοποίησε το δικό μας build".
Πριν να γράψεις σε οποιοδήποτε forum του Παγκόσμιου Ιστού, έλεγξε αν έχει την δυνατότητα Αναζήτησης. Αν ναι, δοκίμασε κάμποσες αναζητήσεις με λέξεις-κλειδιά για κάτι παρόμοιο με το πρόβλημά σου — μπορεί απλώς να βοηθήσει. Αν έκανες μία αναζήτηση στον Παγκόσμιο Ιστό προηγουμένως (όπως θα άρμοζε), αναζήτησε μέσα στο forum ούτως ή άλλως — η μηχανή αναζήτησης του Παγκόσμιου Ιστού που χρησιμοποιείς μπορεί να μην έχει όλο το forum απαριθμημένο πρόσφατα.
Υπάρχει μια αυξανόμενη τάση για projects να κάνουν υποστήριξη χρηστών μέσω των forum του Παγκόσμιου Ιστού ή των καναλιών στο IRC, με τα e-mail να δεσμεύονται περισσότερο για όγκο σχετικό με την ανάπτυξη του project. Οπότε ψάξε για αυτά τα κανάλια πρώτα όταν αναζητάς βοήθεια σχετική με ένα συγκεκριμένο project.
Όταν ένα project έχει μία mailing list σχετική με την ανάπτυξη, γράψε προς την mailing list, όχι προς τους μεμονωμένους προγραμματιστές, ακόμη και αν πιστεύεις ότι γνωρίζεις ποιος μπορεί να απαντήσει καλύτερα στην ερώτησή σου. Έλεγξε την τεκμηρίωση του project και την αρχική σελίδα για την διεύθυνση μίας mailing list του project, και χρησιμοποίησέ την. Υπάρχουν πολλαπλοί καλοί λόγοι για αυτή την πολιτική:
Οποιαδήποτε αρκετά καλή ερώτηση για κάποιον προγραμματιστή θα είναι επίσης αξιόλογη σε ολόκληρη την ομάδα. Αντιθέτως, αν υποψιάζεσαι ότι η ερώτησή σου είναι υπερβολικά χαζή για την mailing list, αυτό δεν είναι δικαιολογία για την παρενόχληση ενός μεμονωμένου προγραμματιστή.
Κάνοντας μία ερώτηση στην λίστα διαχωρίζεται ο φόρτος εργασίας ανάμεσα στους προγραμματιστές. Ο μεμονωμένος προγραμματιστής (ειδικά αν είναι ο ηγέτης του project) μπορεί να είναι υπερβολικά απασχολημένος για να απαντήσει στις ερωτήσεις σου.
Οι περισσότερες mailing lists αρχειοθετούνται και τα αρχεία απαριθμούνται από μηχανές αναζήτησης. Αν κάνεις την ερώτησή σου στη λίστα και απαντηθεί, ένας μελλοντικός εξερευνητής μπορεί να βρει την ερώτησή σου και την σχετική απάντηση στον Παγκόσμιο Ιστό αντί να την ξαναρωτήσει.
Αν ορισμένες ερωτήσεις φαίνεται να ρωτώνται συχνά, οι προγραμματιστές μπορούν να χρησιμοποιήσουν αυτού του είδους τις πληροφορίες για να βελτιώσουν την τεκμηρίωση ή το λογισμικό καθεαυτό έτσι ώστε να μην προκαλούν τόση σύγχυση. Αλλά αν αυτές οι ερωτήσεις γίνονται ιδιωτικά, κανένας δεν έχει την πλήρη εικόνα του ποιες ερωτήσεις πραγματοποιούνται πιο συχνά.
Αν ένα project έχει δύο mailing lists ή forums "χρήστη" και "προγραμματιστή" (ή "hacker"), και εσύ δεν κάνεις hacking πάνω στον κώδικα, ρώτα στο forum ή στη λίστα "χρήστη". Μην υποθέτεις ότι θα είσαι ευπρόσδεκτος στην λίστα των προγραμματιστών, όπου πιθανότητα θα βιώσουν την ερώτησή σου ως θόρυβο ανάμεσα στον όγκο δεδομένων σχετικά με την ανάπτυξη του προγράμματος.
Εντούτοις, αν είσαι σίγουρος ότι η ερώτησή σου είναι μη τετριμμένη, και δεν λαμβάνεις κάποια απάντηση στην λίστα/forum "χρήστη" για πολλαπλές ημέρες, δοκίμασε αυτή του "προγραμματιστή". Θα σας προτείναμε ανεπιφύλακτα να γλυστρήσετε αθόρυβα εκεί μέσα για μερικές ημέρες πριν να αποστείλετε κάτι για να γνωρίσετε τα τοπικά ήθη και έθιμα (στην πραγματικότητα αυτή είναι μία καλή συμβουλή για οποιαδήποτε ιδιωτική ή ημι-ιδιωτική λίστα).
Αν δεν μπορείς να βρεις την διεύθυνση μίας mailing list του project, αλλά βλέπεις μόνο την διεύθυνση του διαχειριστή του project, προχώρα και γράψε στον διαχειριστή. Αλλά ακόμη και σε αυτή την περίπτωση, μην υποθέτεις ότι η mailing list δεν υπάρχει. Ανέφερε στο e-mail σου ότι δοκίμασες και δεν μπόρεσες να βρεις την κατάλληλη mailing list. Επίσης ανέφερε ότι δεν έχεις αντίρρηση με το να προωθηθεί το μήνυμά σου σε άλλους ανθρώπους. (Πολλοί άνθρωποι πιστεύουν ότι ένα ιδιωτικό e-mail πρέπει να παραμένει ιδιωτικό, ακόμη και αν δεν υπάρχει τίποτα μυστικό μέσα του. Επιτρέποντας την προώθηση του μηνύματός σου δίνεις στον συνομιλητή σου μία επιλογή σχετικά με τον χειρισμό του e-mail σου.)
Στις mailing lists, τις ομάδες ή στα forums του Παγκόσμιου Ιστού, η επικεφαλίδα θέματος είναι η χρυσή σου ευκαιρία να προσελκύσεις ειδικούς με τα κατάλληλα προσόντα σε 50 ή λιγότερους χαρακτήρες. Μην τους ξοδεύεις φλυαρώντας όπως στο "Βοηθήστε με" (ας μην μιλήσουμε για το "ΒΟΗΘΗΣΤΕ ΜΕ!!!!" — μηνύματα με θέματα όπως αυτό αγνοούνται αυθόρμητα). Μην προσπαθείς να μας εντυπωσιάσεις με την βαθύτητα της αγωνίας σου — χρησιμοποίησε το χώρο για μία υπερ-συνοπτική περιγραφή του προβλήματος αντ' αυτού.
Μία καλή σύμβαση για τις επικεφαλίδες θέματος που χρησιμοποιείται από πολλές οργανώσεις τεχνικής υποστήριξης είναι η "αντικείμενο - απόκλιση". Το μέρος "αντικείμενο" ορίζει ποιο πράγμα ή ποια ομάδα πραγμάτων αντιμετωπίζει πρόβλημα, και το μέρος "απόκλιση" περιγράφει την απόκλιση από την αναμενόμενη συμπεριφορά.
ΒΟΗΘΕΙΑ! Τα γραφικά δεν δουλεύουν σωστά στον φορητό μου!
X.org 6.8.1 κέρσορας ποντικιού παραμορφωμένος, Κοκοware MV1005 vid. chipset
X.org 6.8.1 κέρσορας ποντικιού σε Κοκοware MV1005 vid. chipset - είναι παραμορφωμένος
Η διαδικασία του να γράψεις μία περιγραφή τύπου "αντικείμενο-απόκλιση" θα σε βοηθήσει να οργανώσεις τον τρόπο σκέψης σου σχετικά με το πρόβλημα πιο λεπτομερώς. Τι επηρεάζεται; Μόνο ο κέρσορας του ποντικιού ή και άλλα γραφικά επίσης; Συμβαίνει συγκεκριμένα στην X.org έκδοση του X; Στην έκδοση 6.8.1; Συμβαίνει συγκεκριμένα στα chipsets κάρτας γραφικών Κοκοware; Στο μοντέλο MV1005? Ένας hacker που βλέπει το αποτέλεσμα μπορεί αμέσως να καταλάβει τι είναι αυτό με το οποίο έχεις πρόβλημα και το πρόβλημα το οποίο έχεις, με μια ματιά.
Γενικότερα, φαντάσου να κοιτάς μία απαρίθμηση από ερωτήσεις, με μόνο την γραμμή θέματος να εμφανίζεται. Κάνε την γραμμή θέματος να αντικατοπτρίζει αρκετά καλώς την ερώτησή σου ώστε ο επόμενος τύπος που θα αναζητά το αρχείο για μία ερώτηση παρόμοια με την δική σου να μπορεί να ακολουθήσει το thread για να φτάσει σε μία απάντηση αντί να στείλει την ερώτηση ξανά.
Αν κάνεις μία ερώτηση εντός μίας απάντησης, σιγουρέψου ότι αλλάζεις την γραμμή θέματος για να επισημάνεις ότι κάνεις μία ερώτηση. Μία γραμμή Θέματος που είναι σαν το "Re: δοκιμή" ή "Re: νέο σφάλμα" έχει μικρότερες πιθανότητες να προσελκύσει αρκετή προσοχή ώστε να φανεί χρήσιμη. Επιπλέον, ξεκαθάρισε τα αποσπάσματα παλιών μηνυμάτων στο ελάχιστο δυνατό που να βγάζει νόημα αρκετό για να δώσεις ενδείξεις στους νέους αναγνώστες.
Μην πατάς απλώς απάντηση σε ένα μήνυμα λίστας για να αρχίσεις ένα εντελώς καινούργιο thread. Αυτό θα περιορίσει το κοινό σου. Κάποια προγράμματα ανάγνωσης αλληλογραφίας, όπως το mutt, επιτρέπουν στο χρήστη να ταξινομήσει με βάση το thread και στη συνέχεια να αποκρύψει μηνύματα εντός του thread χρησιμοποιώντας αναδίπλωση. Οι τυπάδες που το κάνουν αυτό δεν θα δουν ποτέ το μήνυμά σου.
Το να αλλάξεις το θέμα δεν επαρκεί. Το Mutt, και πιθανώς και άλλα προγράμματα ανάγνωσης αλληλογραφίας, κοιτάει και για άλλες πληροφορίες στις κεφαλίδες του e-mail για να το εντάξει σε ένα thread, όχι την γραμμή θέματος. Αντ' αυτού, ξεκίνα ένα παντελώς νέο e-mail.
Στα forums του Παγκόσμιου Ιστού, οι κανόνες καλής πρακτικής είναι ελαφρώς διαφορετικοί, επειδή τα μηνύματα είναι συνήθως πολύ περισσότερο σφιχτά συνδεδεμένα με συγκεκριμένα threads συζητήσεων και συχνά αόρατα έξω από αυτά τα threads. Το να αλλάζεις το θέμα όταν κάνεις μία ερώτηση μέσα σε μία ανταπόκριση δεν είναι απαραίτητο. Κάποια forums ούτε καν επιτρέπουν διαφοροποιημένη γραμμή θέματος στις απαντήσεις, και σχεδόν κανείς δεν τις διαβάζει ακόμη και όταν επιτρέπεται. Παρ' όλα αυτά, το να κάνεις μία ερώτηση μέσα σε μία ανταπόκριση είναι μία αμφισβητήσιμη πρακτική καθεαυτή, επειδή θα το δούν μόνο όσοι παρακολουθούν αυτό το thread. Έτσι, εκτός και αν είσαι σίγουρος ότι θέλεις να ρωτήσεις μόνο τους ανθρώπους που είναι επί του παρόντος ενεργοί στο thread, ξεκίνα ένα νέο.
Το να ολοκληρώνεις το ερώτημά σου με "Παρακαλώ στείλε την απάντησή σου στο..." το κάνει αρκετά απίθανο να λάβεις απάντηση. Αν εσύ δεν μπορείς να μπεις στον κόπο να αφιερώσεις έστω και τα λίγα δευτερόλεπτα που απαιτούνται για να ορίσεις μία σωστή κεφαλίδα Reply-To στο πρόγραμμα αλληλογραφίας σου, εμείς δεν μπορούμε να μπούμε στον κόπο να αφιερώσουμε ούτε λίγα δευτερόλεπτα για να σκεφτούμε για το πρόβλημά σου. Αν το πρόγραμμα αλληλογραφίας σου δεν το επιτρέπει αυτό, βρες ένα καλύτερο πρόγραμμα αλληλογραφίας. Αν το λειτουργικό σου σύστημα δεν υποστηρίζει κανένα πρόγραμμα αλληλογραφίας που να επιτρέπει κάτι τέτοιο, βρες ένα καλύτερο λειτουργικό σύστημα.
Στα forums του Παγκόσμιου Ιστού, το να ζητάς μία απάντηση μέσω e-mail είναι παντελώς αγενές, εκτός και αν πιστεύεις ότι οι πληροφορίες μπορεί να είναι ευαίσθητες (και κάποιος πρόκειται, για κάποιον άγνωστο λόγο, να το πει σε εσένα αλλά όχι σε ολόκληρο το forum). Αν επιθυμείς ένα αντίγραφο e-mail όταν κάποιος απαντάει στο thread, ζήτησε να σου το στείλει το forum του Παγκόσμιου Ιστού — αυτό το χαρακτηριστικό υποστηρίζεται σχεδόν παντού κάτω από ρυθμίσεις όπως "παρακολούθηση αυτής της συζήτησης", "στείλε e-mail όταν απαντηθεί", κλπ.
Ανακαλύψαμε μέσα από την εμπειρία ότι οι άνθρωποι που είναι απρόσεκτοι και τσαπατσούληδες στη συγγραφή είναι συνήθως επίσης απρόσεκτοι και τσαπατσούληδες όταν σκέφτονται και όταν γράφουν κώδικα (αρκετά συχνά τέλος πάντων για να μπορεί κανείς να στοιχηματίζει σε κάτι τέτοιο). Το να απαντάμε σε ερωτήσεις για ανθρώπους που σκέφτονται με απρόσεκτο και τσαπατσούλικο τρόπο δεν μας επιβραβεύει — θα προτιμούσαμε να ξοδεύουμε τον χρόνο μας αλλού.
Έτσι το να εκφράζεις την ερώτησή σου ξεκάθαρα και καλά είναι σημαντικό. Αν δεν μπορείς να μπεις στον κόπο να το κάνεις, εμείς δεν μπορούμε να μπούμε στον κόπο να δώσουμε προσοχή. Κατάβαλλε την επιπλέον προσπάθεια για να διανθίσεις το λόγο σου. Δεν χρειάζεται να είναι στυφός ή επίσημος — στην πραγματικότητα, η κουλτούρα των hacker εκτιμά την ανεπίσημη και χιουμοριστική αργκό στο λόγο όταν χρησιμοποιείται με ακρίβεια. Αλλά πρέπει να είναι ακριβής — πρέπει να υπάρχει κάποια ένδειξη ότι σκέφτεσαι και ότι προσέχεις.
Να είσαι ορθογραφημένος και να χρησιμοποιείς την στίξη και την εναλλαγή πεζών-κεφαλαίων με σωστό τρόπο [ΣτΜ: Μην χρησιμοποιείς greeklish αν η τεχνολογία σου το επιτρέπει!]. Μην μπερδεύεις το "φύλο" με το "φίλο", την "θνησιμότητα" με την "θνητότητα", ή το "κυκλοφορικό" με το "κυκλοφοριακό". Μην ΓΡΑΦΕΙΣ ΑΠΟΚΛΕΙΣΤΙΚΑ ΜΕ ΚΕΦΑΛΑΙΑ — διαβάζεται σαν να ουρλιάζεις και θεωρείται αγένεια. (Τα αποκλειστικά-πεζά είναι μόνο ελαφρώς λιγότερο ενοχλητικά, καθώς είναι δύσκολο να διαβαστούν. Ο Alan Cox μπορεί να την βγάλει καθαρή, αλλά εσύ όχι.)
Γενικότερα, αν γράφεις σαν να είσαι ένας αμόρφωτος βλάκας το πιο πιθανό είναι να αγνοηθείς. Οπότε μην χρησιμοποιείς τις συντομογραφίες του instant-messaging. Το να γράφεις το "που" ως "π" σε κάνει να φαίνεσαι σαν ένας αμόρφωτος βλάκας μόνο και μόνο για να σωθείς από το να πληκτρολογήσεις δύο επιπλέον γράμματα. Χειρότερο: το να γράφεις σΑν εΝα χΑζΟ πΑιΔαΚι πΟυ νΟμιζΕι οΤι κΑτΙ κΑνΕι είναι το απόλυτο φιλί της προδοσίας και σου εγγυάται ότι δεν θα λάβεις τίποτα πέραν νεκρικής σιωπής (ή, στην καλύτερη περίπτωση, μία αρλούμπα από κοσμητικά επίθετα και ειρωνεία) για αντάλλαγμα.
Αν κάνεις ερωτήσεις σε ένα forum που δεν χρησιμοποιεί την μητρική σου γλώσσα, θα λάβεις ένα πιο περιορισμένο όγκο παραπόνων για ορθογραφικά και γραμματικά λάθη — αλλά δεν θα λάβεις επιπλέον παράπονα για τεμπελιά (και ναι, συνήθως μπορούμε να καταλάβουμε τη διαφορά). Ακόμη, εκτός και αν ξέρεις τις γλώσσες του συνομιλητή σου, γράφε στα Αγγλικά. Οι απασχολημένοι hackers τείνουν να διαγράφουν τις ερωτήσεις σε γλώσσες που δεν καταλαβαίνουν, και τα Αγγλικά είναι η λειτουργική γλώσσα του Διαδικτύου. Με το να γράφεις στα Αγγλικά, ελαχιστοποιείς τις πιθανότητες οι ερωτήσεις σου να πεταχτούν στα σκουπίδια αδιάβαστες.
Αν φτιάξεις την ερώτησή σου τεχνικά δύσκολο να διαβαστεί, είναι πιθανό να προσπεραστεί προς χάριν κάποιας που δεν είναι. Έτσι:
Να στέλνεις mail σε απλό κείμενο, όχι HTML. (Δεν είναι δύσκολο να απενεργοποιήσεις το HTML.)
Τα συνημμένα MIME αρχεία είναι συνήθως εντάξει, αλλά μόνο αν αποτελούν ουσιαστικό περιεχόμενο (όπως ένα συνημμένο αρχείο κώδικα ή ένα patch), και όχι σάλτσα που δημιούργησε το πρόγραμμα αλληλογραφίας σου (όπως ένα επιπλέον αντίγραφο του μηνύματός σου).
Μην στέλνεις e-mail στα οποία ολόκληρες παράγραφοι αποτελούνται από μία και μοναδική αναδιπλωμένη γραμμή. (Το κάνει υπερβολικά δύσκολο να απαντήσει κανείς σε ένα μόνο τμήμα του μηνύματος.) Υπόθεσε ότι οι αναγνώστες σου θα διαβάζουν το mail σε οθόνες που χωρούν 80 χαρακτήρες κειμένου και όρισε την αναδίπλωση κειμένου σου αναλόγως, σε κάτι μικρότερο του 80.
Εντούτοις, μην αναδιπλώνεις δεδομένα (όπως αρχεία logs dumps ή μεταγραφές συνόδων) σε κανένα σταθερό μήκος στήλης. Τα δεδομένα πρέπει να εμπεριέχονται αυτούσια, έτσι ώστε οι συνομιλητές να έχουν την εγγύηση ότι βλέπουν αυτά που είδες.
Μην στέλνεις σε κωδικοποίηση MIME Quoted-Printable προς κάποιο forum Αγγλικής γλώσσας. Αυτή η κωδικοποίηση μπορεί να είναι απαραίτητη όταν γράφεις σε κάποια γλώσσα που δεν καλύπτει το ASCII, αλλά πολλά προγράμματα αλληλογραφίας δεν το υποστηρίζουν. Όταν χαλάνε, όλα αυτά τα =20 ιερογλυφικά που είναι διασκορπισμένα μέσα στο κείμενο είναι άσχημα και αποσπούν την προσοχή — ή μπορεί να υπονομεύσουν ενεργά την σημασιολογία του κειμένου σου.
Ποτέ, μα ποτέ μην περιμένεις από τους hackers να έχουν την δυνατότητα να διαβάσουν κλειστές ιδιόκτητες μορφές εγγράφων όπως το Microsoft Word ή το Excel. Οι περισσότεροι hackers αντιδρούν σε αυτά περίπου όσο καλά όσο θα αντιδρούσες αν σου έριχναν ένα φορτηγό από αχνιστή χοιρινή κοπριά μπροστά από την εξώπορτά σου. Ακόμη και όταν μπορούν να συνεργαστούν, αγανακτούν με το ότι πρέπει να το κάνουν.
Αν στέλνεις ένα e-mail από ένα μηχάνημα με Windows, απενεργοποίησε το ηλίθιο χαρακτηριστικό των "Smart Quotes" της Microsoft. Κάν' το έτσι ώστε να αποτρέψεις άχρηστους χαρακτήρες από το να αναπηδούν μέσα στο mail σου.
Στα forums του Παγκόσμιου Ιστού, μην καταχράσαι τις δυνατότητες για "smiley" και για "HTML" (όταν υπάρχουν). Ένα χαμογελάκι ή και δύο είναι συνήθως εντάξει, αλλά το χρωματιστό φανταχτερό κείμενο κάνει τους άλλους να σκέφτονται πως είσαι μπούφος. Σοβαρά, το να χρησιμοποιείς υπερβολικά smileys και χρώμα και γραμματοσειρές θα σε κάνει να φαίνεσαι σαν μία χαζοχαρούμενη έφηβη κοπελίτσα, που γενικά δεν είναι μία καλή ιδέα εκτός αν σε ενδιαφέρουν περισσότερο απαντήσεις σχετικά με το sex.
Αν χρησιμοποιείς ένα πρόγραμμα αλληλογραφίας με γραφικό περιβάλλον όπως το Netscape Messenger, το MS Outlook, ή τα συναφή, πρόσεξε ότι μπορεί παραβαίνει αυτούς τους κανόνες όταν χρησιμοποιείται με τις προεπιλεγμένες του ρυθμίσεις. Πολλά τέτοια προγράμματα έχουν κάποια εντολή "Προβολή Πηγαίου Κώδικα". Χρησιμοποίησέ το πάνω σε κάτι στον φάκελο απεσταλμένα, επιβεβαιώνοντας ότι στέλνει το σκέτο κείμενο χωρίς άχρηστες σάλτσες.
Περίγραψε τα συμπτώματα του προβλήματός ή του σφάλματός σου προσεκτικά και ξεκάθαρα.
Περίγραψε το περιβάλλον μέσα στο οποίο συμβαίνει (μηχάνημα, Λειτουργικό Σύστημα, εφαρμογή, οτιδήποτε). Να παρέχεις την διανομή του προμηθευτή σου καθώς και το επίπεδο έκδοσης (π.χ.: "Fedora Core 4", "Slackware 9.1", κλπ.).
Περίγραψε την έρευνα που έκανες για να προσπαθήσεις να κατανοήσεις το πρόβλημα πριν να κάνεις την ερώτηση.
Περίγραψε τα διαγνωστικά βήματα που έλαβες μόνος σου για να προσπαθήσεις να απομονώσεις το πρόβλημα πριν να κάνεις την ερώτηση.
Περίγραψε οποιεσδήποτε πιθανές αλλαγές στον υπολογιστή σου ή στις ρυθμίσεις του λογισμικού σου.
Αν είναι με κάποιον τρόπο δυνατό, προμήθευσε έναν τρόπο να επαναδημιουργηθεί το πρόβλημα μέσα σε ένα ελεγχόμενο περιβάλλον.
Κάνε ό,τι καλύτερο μπορείς για να προβλέπεις τις ερωτήσεις που θα κάνει ένας hacker, και απάντησέ τις εκ των προτέρων στην αίτησή σου για βοήθεια.
Το να δώσεις στους hackers την δυνατότητα να επαναδημιουργήσουν το πρόβλημα σε ένα ελεγχόμενο περιβάλλον είναι ιδιαίτερα σημαντικό αν αναφέρεις κάτι που νομίζεις ότι είναι ένα σφάλμα στον κώδικα. Όταν το κάνεις αυτό, οι πιθανότητες να λάβεις μία χρήσιμη απάντηση και η ταχύτητα με την οποία θα λάβεις αυτή την απάντηση θα βελτιωθούν και οι δύο δραματικά.
Ο Simon Tatham έχει γράψει ένα εξαιρετικό δοκίμιο επονομαζόμενο How to Report Bugs Effectively. Σου συστήνω ανεπιφύλακτα να το διαβάσεις.
Πρέπει να είσαι ακριβής και περιγραφικός. Αυτό δεν επιτυγχάνεται απλώς με το να ρίξεις τεράστιες ποσότητες κώδικα ή δεδομένων σε μία αίτηση για βοήθεια. Αν έχεις έναν μεγάλο και περίπλοκο τρόπο που κρασάρει κάποιο πρόγραμμα, προσπάθησε να τον περικόψεις και να τον κάνεις όσο το δυνατόν συντομότερο.
Αυτό είναι χρήσιμο για τουλάχιστον τρεις λόγους. Πρώτον: το να είναι φανερό πως επενδύεις κόπο στο να απλοποιήσεις την ερώτηση το κάνει πιθανότερο να λάβεις απάντηση, Δεύτερον: το να απλοποιήσεις την ερώτηση το κάνει πιθανότερο να λάβεις μία χρήσιμη απάντηση. Τρίτον: Κατά την διάρκεια του ξεκαθαρισμού της αναφοράς σφάλματός σου, μπορεί να αναπτύξεις έναν τρόπο διόρθωσης ή κάποιον τρόπο να αποφύγεις το πρόβλημα ο ίδιος.
Όταν έχεις προβλήματα με ένα λογισμικό, μην υποστηρίζεις ότι έχεις βρει ένα σφάλμα εκτός και αν είσαι πάρα πολύ σίγουρος για το πού βαδίζεις. Συμβουλή: εκτός και αν μπορείς να προμηθεύσεις ένα patch πηγαίου κώδικα που διορθώνει το πρόβλημα, ή μία δοκιμή πάνω σε μία προηγούμενη έκδοση η οποία να επιδεικνύει ότι υπάρχει λανθασμένη συμπεριφορά, κατά πάσα πιθανότητα δεν είσαι αρκετά σίγουρος. Αυτό εφαρμόζεται και στις ιστοσελίδες και στην τεκμηρίωση, επίσης — αν έχεις βρει ένα "σφάλμα" στην τεκμηρίωση, πρέπει να προμηθεύσεις ένα κείμενο για να αντικαταστήσει το παλιό και τις σελίδες στις οποίες θα έπρεπε να μπει.
Θυμήσου, υπάρχουν πολλοί άλλοι χρήστες που δεν αντιμετωπίζουν το πρόβλημά σου. Αλλιώς θα το μάθαινες όταν θα διάβαζες την τεκμηρίωση ή όταν θα έψαχνες το Διαδίκτυο (το έκανες αυτό πριν παραπονεθείς, έτσι δεν είναι;). Αυτό σημαίνει ότι πολύ πιθανόν να κάνεις εσύ κάτι λάθος, όχι το λογισμικό.
Οι άνθρωποι που αναπτύσσουν το λογισμικό δουλεύουν πολύ σκληρά για να το κάνουν να δουλεύει όσο καλύτερα γίνεται. Αν υποστηρίξεις ότι βρήκες κάποιο σφάλμα, θα αμφισβητήσεις την εμπιστοσύνη τους, κάτι που μπορεί να προσβάλλει κάποιους από αυτούς ακόμη και αν έχεις δίκιο. Είναι ειδικά μη διπλωματικό να φωνάζεις "σφάλμα" στην γραμμή Θέματος.
Όταν κάνεις την ερώτησή σου, είναι καλύτερο να γράφεις σαν να υποθέτεις ότι εσύ κάνεις κάτι λάθος, ακόμη και αν προσωπικά είσαι αρκετά σίγουρος ότι έχεις βρει ένα ουσιαστικό σφάλμα. Αν στ' αλήθεια είναι σφάλμα, θα το ακούσεις στην απάντηση. Παίξε το παιχνίδι έτσι ώστε οι διαχειριστές να θέλουν να σου απολογηθούν αν το σφάλμα είναι αληθινό, αντί να τους χρωστάς μία συγγνώμη αν τα έκανες σαλάτα.
Κάποιοι άνθρωποι που καταλαβαίνουν ότι δεν πρέπει να συμπεριφέρονται με αγένεια ή αλαζονικά, απαιτώντας μία απάντηση, κουρνιάζουν στο αντίθετο άκρο, αυτό της υποβολής. "Το ξέρω πως είμαι ένας αξιοθρήνητος αρχάριος και άχρηστος, αλλά...". Αυτό αποσπά την προσοχή και δεν βοηθά. Είναι ειδικά ενοχλητικό όταν συνοδεύεται από ασάφεια σχετικά με το ουσιαστικό πρόβλημα.
Μην σπαταλάς τον χρόνο σου, ή τον δικό μας, με λόγια αρχιεπισκοπικού κηρύγματος. Αντιθέτως, παρουσίασε τα σχετιζόμενα γεγονότα και την ερώτησή σου όσο πιο ξεκάθαρα μπορείς. Αυτός είναι ένας καλύτερος τρόπος να τοποθετήσεις τον εαυτό σου από το να προσκυνήσεις υποβάλλοντας τα σέβη σου.
Μερικές φορές τα forums του Παγκόσμιου Ιστού έχουν ξεχωριστά μέρη για τις ερωτήσεις των αρχάριων. Αν νιώθεις πως έχεις μία αρχάρια ερώτηση, απλώς πήγαινε εκεί. Αλλά μην υποβάλλεσαι ούτε κι εκεί.
Δεν χρησιμεύει να πεις στους hackers τι νομίζεις ότι προκαλεί το πρόβλημά σου. (Αν οι διαγνωστικές σου θεωρίες ήταν τόσο ουσιώδεις, θα συμβουλευόσουν άλλους για βοήθεια;) Έτσι λοιπόν, σιγουρέψου πως τους λες χύμα τα συμπτώματα του τι πάει στραβά, αντί για τις διερμηνείες και θεωρίες σου. Άσ' τους να κάνουν τις διερμηνείες και την διάγνωση. Αν νιώθεις πως είναι σημαντικό να αναφέρεις την εικασία σου, κατηγοριοποίησέ την ξεκάθαρα ως τέτοια και περίγραψε γιατί αυτή η απάντηση δεν σου δουλεύει.
Λαμβάνω συνεχόμενα σφάλματα SIG11 όταν μεταγλωττίζεται ο πυρήνας, και υποθέτω πως υπάρχει μία ελάχιστη ρωγμή πάνω σε κάποιο ίχνος της μητρικής. Ποιος είναι ο καλύτερος τρόπος να ελέγξω για κάτι τέτοιο;
Ο υπολογιστής K6/233 που έφτιαξα μόνος μου με μία μητρική FIC-PA2007 (με chipset VIA Apollo VP2) και 256MB Corsair PC133 SDRAM αρχίζει να λαμβάνει συχνά σφάλματα SIG11 περίπου 20 λεπτά αφού ανοίξω τον υπολογιστή κατά την διάρκεια της μεταγλώττισης του πυρήνα, αλλά ποτέ μέσα στα πρώτα 20 λεπτά. Η επανεκκίνηση δεν βοηθάει, μόνο αν κλείσω τον υπολογιστή την νύχτα. Δοκίμασα να αλλάξω τις RAM αλλά δεν βοήθησε. Ακολουθεί το σχετιζόμενο τμήμα από το log της μεταγλώττισης.
Καθώς το προαναφερθέν είναι δύσκολο να το πιάσουν πολλοί άνθρωποι, να μία φράση για να σου το θυμίζει: "Όλες οι ειδικοί στις διαγνώσεις είναι από το Missouri." Το σύνθημα αυτής της πολιτείας της Αμερικής είναι "δείξε μου" (το οποίο κατέκτησε το 1899, όταν Willard D. Vandiver από το Κογκρέσο είπε "Κατάγομαι από μία πολιτεία που καλλιεργεί σιτάρι και βαμβάκι και Δημοκρατικούς, και τα καταδιωκτικά παιχνιδάκια ούτε με πείθουν, ούτε με ικανοποιούν. Είμαι από το Missouri. Εσύ δείξε μου.") Στην περίπτωση των ειδικών στις διαγνώσεις, αυτό δεν αφορά κάποιου είδους σκεπτικισμό, αλλά μία κυριολεκτική, χρηστική ανάγκη να δούμε οτιδήποτε είναι όσο το δυνατόν πιο κοντά στις ίδιες ακατέργαστες ενδείξεις που βλέπεις κι εσύ, αντί για τις εικασίες και τις συνόψεις σου. Δείξε μας.
Τα ίχνη που είναι χρήσιμα στο να βγάλει κανείς άκρη με το τι πήγε στραβά συχνά συχνά βρίσκονται στα γεγονότα που συνέβησαν αμέσως πιο πριν. Έτσι, ο απολογισμός σου θα πρέπει να περιγράφει επακριβώς τι έκανες, και τι έκανε το μηχάνημά σου και το λογισμικό του, που οδήγησε στην έκρηξη. Στην περίπτωση διαδικασιών κονσόλας, το να έχεις ένα log της συνόδου (λ.χ., χρησιμοποιώντας το αντίστοιχο script εργαλείο) και να δείχνεις ένα απόσπασμα από είκοσι ή κάπου εκεί σχετικές γραμμές είναι πολύ χρήσιμο.
Αν το πρόγραμμα που σου κράσαρε έχει διαγνωστικές ρυθμίσεις (όπως -v για verbose), προσπάθησε να επιλέξεις ρυθμίσεις που θα προσθέσουν χρήσιμες πληροφορίες αποσφαλμάτωσης στην καταγραφή. Να θυμάσαι ότι περισσότερα δεν είναι απαραίτητα καλύτερα — προσπάθησε να διαλέξεις ένα επίπεδο αποσφαλμάτωσης που να ενημερώνει τον αναγνώστη αντί να τον πνίγει στο σκουπίδι.
Αν ο απολογισμός τελικά καταλήξει να είναι μακρύς (περισσότερο από περίπου τέσσερις παραγράφους), μπορεί να φανεί χρήσιμο να αναφέρεις περιληπτικά το πρόβλημα στην αρχή, και να συνεχίσεις με την ιστορία σε χρονολογική σειρά. Με αυτό τον τρόπο, οι hackers θα ξέρουν τι να παρακολουθήσουν όταν διαβάζουν τον απολογισμό σου.
Αν προσπαθείς να βρεις πώς να κάνεις κάτι (αντί να αναφέρεις κάποιο σφάλμα), άρχισε περιγράφοντας το σκοπό σου. Μόνο στη συνέχεια περίγραψε το συγκεκριμένο βήμα που έλαβες στο οποίο κωλύεσαι.
Συχνά, οι άνθρωποι που χρειάζονται τεχνική βοήθεια έχουν ένα στόχο υψηλού επιπέδου στο νου τους και κολλάνε σε κάτι που θεωρούν ότι είναι ένα συγκεκριμένο βήμα κοντινότερα στο στόχο. Έρχονται για βοήθεια σχετικά με το βήμα, αλλά δεν κατανοούν ότι το μονοπάτι είναι λανθασμένο. Μπορεί να χρειαστεί αξιόλογη προσπάθεια για να ξεπεραστεί αυτό.
Πώς κάνω τον επιλογέα χρωμάτων στο πρόγραμμα ΚοκοΣχεδίαση να πάρει μία δεκαεξαδική τιμή RGB;
Προσπαθώ να αντικαταστήσω τον πίνακα χρωμάτων σε μία εικόνα χρησιμοποιώντας τιμές τις επιλογής μου. Αυτή τη στιγμή ο μόνος τρόπος με τον οποίο θεωρώ ότι μπορώ να το κάνω είναι με το να αλλάξω κάθε στοιχείο του πίνακα, αλλά δεν μπορώ να κάνω τον επιλογέα χρωμάτων του ΚοκοΣχεδίαση να πάρει μία δεκαεξαδική RGB τιμή.
Η δεύτερη έκδοση της ερώτησης είναι έξυπνη. Επιτρέπει μία απάντηση που να προτείνει ένα εργαλείο που να ταιριάζει καλύτερα για τη εργασία.
Οι hackers πιστεύουν ότι το να λύνει κανείς προβλήματα πρέπει να είναι μία δημόσια, διαφανής διαδικασία κατά την οποία μία πρώτη απόπειρα για απάντηση μπορεί και θα πρέπει να διορθώνεται αν κάποιος πιο σοφός παρατηρεί ότι είναι ατελής ή εσφαλμένη. Επιπλέον, τα άτομα που βοηθάνε λαμβάνουν κάποια ανταμοιβή από το να απαντούν, όταν οι συνάδελφοί τους βλέπουν ότι είναι καταρτισμένοι και γνώστες.
Όταν ζητάς μία προσωπική απάντηση, αναστατώνεις τόσο την διαδικασία όσο και την ανταμοιβή. Μην το κάνεις. Είναι η επιλογή του ατόμου που σε βοηθάει να απαντήσει ιδιωτικά — και όταν το κάνει, συνήθως πιστεύει ότι η ερώτηση είναι υπερβολικά κακογραμμένη ή προφανής για να είναι ενδιαφέρουσα για τους υπόλοιπους.
Υπάρχει μία περιορισμένη εξαίρεση σε αυτό τον κανονισμό. Αν θεωρείς πως η ερώητησή σου είναι τέτοια ώστε είναι πιθανόν να λάβεις πολλές απαντήσεις που είναι στενά συνδεδεμένες μεταξύ τους, τότε η μαγική φράση είναι "στείλτε μου e-mail και θα συνοψίσω τις απαντήσεις για την ομάδα". Είναι ιπποτικό να προσπαθείς να σώσεις την mailing list ή την ομάδα από μία πλημμύρα από ουσιαστικά πανομοιότυπες αναρτήσεις — αλλά πρέπει να κρατήσεις την υπόσχεσή σου να συνοψίσεις.
Οι ανοιχτές ερωτήσεις τείνουν να προσλαμβάνονται ως ανοιχτές ρουφήχτρες ελεύθερου χρόνου. Οι άνθρωποι που πιθανότατα μπορούν να σου δώσουν μία χρήσιμη απάντηση είναι επίσης και οι πιο απασχολημένοι (αν μη τι άλλο επειδή αναλαμβάνουν τον μεγαλύτερο φόρτο εργασίας οι ίδιοι). Άνθρωποι σαν και αυτούς είναι αλλεργικοί στις ανοιχτές ρουφήχτρες ελεύθερου χρόνου, και συνεπώς τείνουν να είναι αλλεργικοί στις ανοιχτές ερωτήσεις.
Είναι πιθανότερο να λάβεις χρήσιμες απαντήσεις αν είσαι ρητός σχετικά με το τι ζητάς από τους συνομιλητές να κάνουν (προμήθευσέ τους με συνδέσμους, στείλε κώδικα, έλεγξε το patch σου, οτιδήποτε). Αυτό θα εστιάσει την προσπάθειά τους και θα θέσει έμμεσα ένα άνω όριο στον χρόνο και στην ενέργεια κάποιος που θα απαντήσει πρέπει να διαθέσει για να σε βοηθήσει. Είναι καλό.
Για να κατανοήσεις τον κόσμο στο οποίο ζουν οι ειδικοί, θεώρησε την ειδικότητα ως έναν άφθονο πόρο και τον χρόνο για απαντήσεις ως έναν περιορισμένο. Όσο λιγότερο χρόνο ζητάς να σου αφιερώσουν, τόσο πιο πιθανό είναι να λάβεις μία απάντηση από κάποιον πραγματικά καλό και πραγματικά απασχολημένο.
Έτσι είναι χρήσιμο να πλαισιώνεις την ερώτησή σου για να ελαχιστοποιείς την χρονική υποχρέωση που απαιτείται για έναν ειδικό να την απαντήσει — αλλά αυτό δεν είναι πάντα το ίδιο με το να απλοποιείς την ερώτηση. Δηλαδή, για παράδειγμα, "Θα μου δείξεις πού να βρω μία καλή εξήγηση για το X;" είναι συνήθως μία εξυπνότερη ερώτηση από το "Θα μου εξηγήσεις το X, σε παρακαλώ;". Αν έχεις κάποιον κώδικα που συμπεριφέρεται λανθασμένα, είναι συνήθως εξυπνότερο να ζητήσεις από κάποιον να σου εξηγήσει τι φταίει από το να ζητήσεις από κάποιον να το διορθώσει.
Μην ζητάς από άλλους να αποσφαλματώσουν τον κώδικά σου, που δε δουλεύει, χωρίς να τους δώσεις κάποια ένδειξη για το τι είδους πρόβλημα θα πρέπει να ψάξουν. Το να στείλεις μερικές εκατοντάδες γραμμές κώδικα λέγοντας "δεν δουλεύει", θα κάνει τους άλλους να σε αγνοήσουν. Το να στείλεις μερικές ντουζίνες γραμμές κώδικα λέγοντας "μετά την γραμμή 7 ανέμενα να δω <x>, αλλά το <y> έλαβε χώρα αντ' αυτού" είναι πολύ πιο πιθανό να σε οδηγήσει σε μία απάντηση.
Ο πιο αποδοτικός τρόπος να είσαι ακριβής σχετικά με ένα πρόβλημα κώδικα είναι να προμηθεύσεις μία ελάχιστη δοκιμαστική περίπτωση που να επιδεικνύει το πρόβλημα. Τι είναι μία ελάχιστη δοκιμαστική περίπτωση; Είναι μία επίδειξη του προβλήματος — ίσα ίσα αρκετός κώδικας για να εκθέσει την μη επιθυμητή συμπεριφορά και καθόλου περισσότερο. Πώς να φτιάξεις μία ελάχιστη δοκιμαστική περίπτωση; Αν ξέρεις ποια γραμμή ή ενότητα κώδικα παράγει την προβληματική συμπεριφορά, κάνε ένα αντίγραφό της και πρόσθεσε αρκετό κώδικα υποστήριξης για να παράγεις ένα ολοκληρωμένο παράδειγμα. (δηλαδή αρκετό για να γίνει ο πηγαίος κώδικας αποδεκτός στον μεταγλωτιστή/διερμηνέα/οποιαδήποτε εφαρμογή το επεξεργάζεται). Αν δεν μπορείς να το επικεντρώσεις σε μία συγκεκριμένη ενότητα, κάνε ένα αντίγραφο του πηγαίου κώδικα και άρχισε να αφαιρείς τμήματα που δεν έχουν να κάνουν με την προβληματική συμπεριφορά. Όσο πιο μικρή είναι η ελάχιστη δοκιμαστική σου περίπτωση, τόσο το καλύτερο.
Αν απλώς θέλεις κάποιον να αναθεωρήσει τον κώδικά σου, πες το απ' την αρχή, και σιγουρέψου ότι αναφέρεις τις περιοχές που νομίζεις ότι συγκεκριμένα χρειάζονται αναθεώρηση και γιατί.
Οι hackers είναι καλοί στο να εντοπίζουν ερωτήσεις που είναι εργασίες για το σπίτι — οι περισσότεροι από εμάς τις έχουμε κάνει οι ίδιοι. Αυτές οι ερωτήσεις είναι για να τις βρεις εσύ, έτσι ώστε να μάθεις από την εμπειρία. Είναι εντάξει να ζητάς βοήθεια, αλλά όχι τις ολοκληρωμένες λύσεις.
Αν υποψιάζεσαι ότι σου έδωσαν μία ερώτηση που είναι εργασία για το σπίτι, αλλά δεν μπορείς να την λύσεις ούτως ή άλλως, δοκίμασε να ρωτήσεις σε ένα forum ομάδας χρηστών ή (ως τελευταία λύση) σε μία λίστα/forum "χρήστη" ενός project. Αν και οι hackers πρόκειται να το καταλάβουν, κάποιοι από τους προχωρημένους χρήστες μπορεί τουλάχιστον να σου δώσουν κάποια συμβουλή.
Αντιστάσου στον πειρασμό να ολοκληρώσεις την επίκλησή σου για βοήθεια με ερωτήσεις κενές περιεχομένου όπως "Μπορεί κανείς να με βοηθήσει;" ή "Μήπως υπάρχει καμία απάντηση;" Πρώτον: αν έχεις γράψει την περιγραφή του προβλήματός σου ημιεπαρκώς, τέτοιες επιπρόσθετες ερωτήσεις είναι επιεικώς περιττές. Δεύτερον: επειδή είναι περιττές, οι hackers τις βρίσκουν ενοχλητικές — και υπάρχει πιθανότητα να επιστρέψουν λογικά αψεγάδιστες αλλά κατά τα άλλα περιφρονητικές απαντήσεις όπως "Ναι, μπορούμε να σε βοηθήσουμε" και "Όχι, για σένα δεν θα υπάρξει βοήθεια."
Γενικώς, το να κάνεις ερωτήσεις ναι-ή-όχι είναι ένα καλό πράγμα να αποφεύγεις, εκτός αν θέλεις μία απάντηση με ναι-ή-όχι.
Αυτό είναι δικό σου πρόβλημα όχι δικό μας. Το να υποστηρίξεις ότι κάτι είναι επείγον είναι πολύ πιθανό να είναι αντιπαραγωγικό: οι περισσότεροι hackers απλώς θα διαγράψουν ένα τέτοιο μήνυμα ως μία αγενή και εγωιστική προσπάθεια για προσέλκυση άμεσης και ειδικού είδους προσοχής.
Υπάρχει σχεδόν μία εξαίρεση. Μπορεί να αξίζει να αναφέρεις ότι χρησιμοποιείς το πρόγραμμα σε κάποιο μέρος με υψηλή κινητικότητα, για το οποίο οι hackers να ενθουσιαστούν — σε αυτή την περίπτωση, αν βρίσκεσαι κάτω από συνθήκες πίεσης χρόνου, και το πεις ευγενικά, μπορεί κάποιοι να ενδιαφερθούν αρκετά για να βοηθήσουν γρηγορότερα.
Αυτό, όμως, είναι ένα πολύ επικίνδυνο πράγμα που μπορείς να κάνεις, επειδή τα σταθμά των hackers σχετικά με το τι είναι διασκεδαστικό πιθανότητα διαφέρει πολύ από τα δικά σου. Το να στείλεις ένα μήνυμα από τον Διεθνή Διαστημικό Σταθμό θα έκανε τη δουλειά, για παράδειγμα, αλλά το να στείλεις κάτι αντιπροσωπεύοντας μία αγνή φιλανθρωπική ή πολιτική αξία μάλλον όχι. Στην πραγματικότητα, το να στείλεις "Επείγον: βοηθήστε με να σώσω τις χνουδωτές φώκιες!" εγγυημένα θα σε κάνει να αγνοηθείς ή να σου τα ψάλουν ακόμη και οι hackers που θεωρούν ότι οι χνουδωτές φώκιες είναι σημαντικές.
Αν το βρίσκεις μυστηριώδες, ξαναδιάβασε το υπόλοιπο αυτού του εγγράφου επανειλλημένα μέχρι να το καταλάβεις πριν να ξαναστείλεις το οτιδήποτε.
Να είσαι ευγενής. Χρησιμοποίησε "παρακαλώ" και "Ευχαριστώ για την προσοχή σου" ή "Ευχαριστώ για την παρατήρηση". Κάν' το ξεκάθαρο ότι εκτιμάς τον χρόνο που οι άλλοι άνθρωποι ξοδεύουν για να σε βοηθήσουν τζάμπα.
Για να είμαι ειλικρινής, αυτό δεν είναι όσο σημαντικό όσο είναι (και δεν μπορεί να αντικαταστήσει) το να είσαι γραμματικά σωστός, ξεκάθαρος, ακριβής και περιγραφικός, το να αποφεύγεις κλειστά πρότυπα κλπ. — οι hackers γενικά προτιμούν να τους φερθούν κάπως αγενώς αλλά κάνοντας τεχνικά σωστές αναφορές σφαλμάτων από το να λάβουν μία ευγενή ασάφεια. (Αν αυτό σε προβληματίζει, θυμήσου ότι εκτιμούμε μία ερώτηση από το τι μας διδάσκει.)
Εντούτοις, αν έχεις τα τεχνικά σου πράγματα σε μία σειρά, η ευγένεια αυξάνει τις πιθανότητές σου να λάβεις μία χρήσιμη απάντηση.
(Πρέπει να σημειώσουμε ότι η μόνη σοβαρή διαφωνία που έχουμε λάβει από φτασμένους hackers σχετικά με αυτό το έγγραφο είναι όσον αφορά την προηγούμενή μας προτροπή να γίνεται χρήση του "Ευχαριστώ προκαταβολικά". Μερικοί hackers θεωρούν ότι αυτό συνεπάγεται την πρόθεση να μην ευχαριστούμε κανέναν κατόπιν. Η προτροπή μας είναι είτε να λες "Ευχαριστώ εκ των προτέρων" πρώτα και να ευχαριστείς τους συνομιλητές που απάντησαν στη συνέχεια, ή να εκφράζεις την ευγνωμοσύνη σου με κάποιον διαφορετικό τρόπο, όπως λέγοντας "Ευχαριστώ για την προσοχή" ή "Ευχαριστώ για την παρατήρηση".)
Στείλε μία σημείωση αφού λυθεί το πρόβλημα σε όλους όσους σε βοήθησαν — πες τους ότι λύθηκε και ευχαρίστησέ τους ξανά για τη βοήθειά τους. Αν το πρόβλημα προσέλκυσε γενικότερο ενδιαφέρον σε μία mailing list ή ομάδα, είναι πρέπον να στείλεις την απάντηση αυτή εκεί.
Βέλτιστα, η απάντηση αυτή θα πρέπει να είναι στο αρχικό thread που ξεκίνησε με την αποστολή της αρχικής ερώτησης, και θα πρέπει να έχει κάτι όπως `ΔΙΟΡΘΩΘΗΚΕ', `ΛΥΘΗΚΕ' ή κάποια εξίσου προφανή ετικέτα στην γραμμή θέματος. Σε μία mailing lists με γρήγορες εξελίξεις, ένας πιθανός συνομιλητής που βλέπει ένα thread σχετικό με το "Πρόβλημα X" να λήγει με "Πρόβλημα X - ΔΙΟΡΘΩΘΗΚΕ" ξέρει να μην σπαταλήσει τον χρόνου του/της διαβάζοντας το thread (εκτός και αν ενδιαφέρεται ο ίδιος ή η ίδια για το Πρόβλημα Χ σε προσωπικό επίπεδο) και μπορεί με αυτόν τον τρόπο να χρησιμοποιήσει τον ίδιο χρόνο για να λύσει ένα διαφορετικό πρόβλημα.
Η απάντησή σου δεν χρειάζεται να είναι εκτενής και περιγραφική — ένα απλό "Τι λέει; — τελικά ήταν ένα χαλασμένο καλώδιο δικτύου! Σας ευχαριστώ όλους. - Βασίλης" είναι καλύτερο απ' το τίποτα. Στην πραγματικότητα, μία σύντομη και ευχάριστη περίληψη είναι καλύτερη από κάποια εκτενή διατριβή εκτός και αν η λύση έχει πραγματικό τεχνικό βάθος. Πες ποια πράξη οδήγησε στη λύση του προβλήματος, αλλά δεν χρειάζεται να κάνεις replay σε όλη την διαδικασία που ακολούθησες μέχρι να καταλήξεις στην λύση.
Για προβλήματα με κάποιο βάθος, είναι αποδεκτό να στείλεις μία περίληψη του ιστορικού της διαδικασίας που ακολούθησες για να φτάσεις στη λύση. Περίγραψε τον τελικό ορισμό του προβλήματος. Περίγραψε τι δούλεψε ως λύση, και σημείωσε αδιέξοδα που θα ήταν καλό να αποφευχθούν έπειτα. Τα αδιέξοδα θα πρέπει να έπονται της σωστής λύσης και του άλλου περιληπτικού υλικού, αντί να μετατρέψεις το μήνυμά σου σε αστυνομικό μυθιστόρημα. Ονομάτισε τους ανθρώπους που σε βοήθησαν — έτσι θα κάνεις φίλους.
Πέρα από το να είσαι ευγενής και περιγραφικός, αυτού του είδους η απάντηση θα βοηθήσει άλλους που ψάχνουν το αρχείο της mailing-list/ομάδας/forum να γνωρίζουν επακριβώς ποια λύση σε βοήθησε και συνεπώς μπορεί να βοηθήσει και εκείνους.
Τέλος, εξίσου σημαντικός λόγος για αυτού του είδους τις απαντήσεις είναι ότι βοηθάει όλους όσους συνεισέφεραν να νιώσουν την ικανοποιητική αίσθηση του κλείσιμου της εκκρεμότητας του προβλήματος. Αν δεν είσαι τεχνοφρικιό ή hacker εσύ ο ίδιος, εμπιστεύσου μας στο ότι αυτό το συναίσθημα είναι πολύ σημαντικό για τους διδάσκαλους και τους έμπειρους χρήστες στους οποίους απευθύνθηκες για βοήθεια. Οι αφηγήσεις προβλημάτων που καταλήγουν σε ένα άλυτο τίποτα είναι εξοργιστικά πράγματα — οι hackers έχουν μία ακατανίκητη φαγούρα να τις δουν να λύνονται. Η ικανοποίηση που προσφέρει το να ξύσεις αυτή τη φαγούρα θα σου είναι πάρα πολύ βοηθητική την επόμενη φορά που θα εισάγεις μία ερώτηση.
Εξέτασε το πώς μπορείς να εμποδίσεις τους άλλους από το να έχουν το ίδιο πρόβλημα στο μέλλον. Αναρωτήσου αν ένα patch στην τεκμηρίωση ή στο FAQ θα βοηθούσε, και αν η απάντηση είναι ναι, στείλε το patch στον διαχειριστή.
Ανάμεσα στους hackers, αυτού του είδους η σωστή συμπεριφορά όσον αφορά τον επίλογο είναι στ' αλήθεια πιο σημαντική από συνηθισμένη τυπική ευγένεια. Είναι ο τρόπος με τον οποίο λαμβάνεις σεβασμό για το ότι έπαιξες δίκαιο παιχνίδι με τους άλλους, το οποίο μπορεί να είναι ένα πολύ αξιόλογο προτέρημα.
Υπάρχει μία αρχαία ιερή παράδοση: αν πάρεις την απάντηση "RTFM", τότε το άτομο που στην έστειλε θεωρεί ότι θα έπρεπε να είχες διαβάσει την γαμημένη τεκμηρίωση (Read The Fucking Manual). Κατά πάσα πιθανότητα έχει δίκιο. Πήγαινε και διάβασέ την.
Το RTFM έχει ένα νεότερο συγγενή. Αν πάρεις την απάντηση "STFW", τότε το άτομο που στην έστειλε θεωρεί ότι θα έπρεπε να είχες ψάξει στο γαμημένο Διαδίκτυο (Searched The Fucking Web). Κατά πάσα πιθανότητα έχει δίκιο. Πήγαινε και ψάξε. (Η πιο ήπια έκδοσή του είναι όταν σου λένε πως "το Google είναι φίλος σου!")
Στα forums του Παγκόσμιου Ιστού, μπορεί να σου πουν να ψάξεις το αρχείο του forum. Στην πραγματικότητα, κάποιος μπορεί να είναι αρκετά ευγενικός για να δώσει έναν σύνδεσμο προς την προηγούμενη συζήτηση όπου αυτό το πρόβλημα λύθηκε. Αλλά μην επαναπαύεσαι σε αυτή την υπόθεση — αναζήτησε μόνος σου στο αρχείο πριν ρωτήσεις.
Συχνά, το άτομο που σου λέει να κάνεις μία αναζήτηση έχει ανοιχτή την τεκμηρίωση ή την ιστοσελίδα με τις πληροφορίες που χρειάζεσαι μπροστά του, και το κοιτάει ενόσω γράφει. Αυτές οι απαντήσεις σημαίνουν ότι πιστεύει πως (α) οι πληροφορίες που ψάχνεις είναι εύκολο να εντοπιστούν, και (β) θα μάθεις περισσότερα αν ψάξεις για τις πληροφορίες εσύ αντί να σου τις δώσουν με το κουταλάκι.
Δεν θα πρέπει να σε προσβάλλει αυτό — σύμφωνα με τις αξίες των hacker, ο συνομιλητής σου σου δείχνει ένα είδος ακατέργαστου σεβασμού απλώς και μόνο επειδή δεν σε αγνοεί. Θα έπρεπε αντίθετα να είσαι ευγνώμων για αυτήν την θεόσταλτη ευγένεια.
Αν δεν καταλαβαίνεις την απάντηση, μην ξανααπαντήσεις αμέσως απαιτώντας ξεκαθαρισμούς. Χρησιμοποίησε τα ίδια εργαλεία που χρησιμοποίησες για να προσπαθήσεις να απαντήσεις στην αρχική σου ερώτηση (τεκμηρίωση, FAQ, τον Παγκόσμιο Ιστό, ικανούς φίλους) για να κατανοήσεις την απάντηση. Στη συνέχεια, αν ακόμη έχεις την ανάγκη να σου ξεκαθαρίσουν τα πράγματα, εξέθεσε όσα έμαθες.
Για παράδειγμα, υπέθεσε πως σου λέω: "Μου φαίνεται σαν να έχει κολλήσει το zentry σου — θα πρέπει να το καθαρίσεις." Τότε: να μία κακή ερώτηση που θα μπορούσε να ακολουθήσει: "Τι είναι το zentry;" Εδώ είναι μία καλή ερώτηση που θα μπορούσε να ακολουθήσει: "Εντάξει, διάβασα την σελίδα man και το zentries αναφέρεται μόνο κάτω από τους διακόπτες -z και -p. Κανένας από τους δύο δεν λέει τίποτα σχετικά με τον καθαρισμό του zentries. Είναι ένα από αυτά ή έχασα κάποιο επεισόδιο;"
Πολλά απ' όσα φαίνονται αγενή δεν έχουν σκοπό να είναι προσβλητικά μέσα στους κύκλους των hacker. Αντίθετα, είναι το προϊόν του άμεσου, ντόμπρου επικοινωνιακού ύφους που είναι φυσικό για τους ανθρώπους που ενδιαφέρονται περισσότερο να λύνουν προβλήματα αντί να κάνουν τους άλλους να νιώθουν ζεστά και όμορφα.
Όταν αντιλαμβάνεσαι αγένεια, προσπάθησε να αντιδράς ήρεμα. Αν κάποιος πραγματικά συμπεριφέρεται με ακραίο τρόπο, είναι πολύ πιθανό ότι ένα πρεσβύτερο μέλος της λίστας ή της ομάδας ή του forum θα του ζητήσει να απολογηθεί γι' αυτό. Αν αυτό δεν συμβεί και χάσεις την υπομονή σου, είναι πιθανό ότι το πρόσωπο με το οποίο την έχασες συμπεριφέρεται σύμφωνα με τις αξίες της κοινότητας των hacker και εσύ θα θεωρηθείς πως φταις. Αυτό θα αποδυναμώσει τις πιθανότητές σου να λάβεις τις πληροφορίες ή την βοήθεια που θες.
Από την άλλη, σε ορισμένες περιπτώσεις μπορεί να βρεθείς αντιμέτωπος με αγένεια η οποία να είναι πασιφανής. Η άλλη όψη του παραπάνω είναι το ότι είναι αποδεκτό να χαστουκίζουμε τους παραβάτες σκληρά, τεμαχίζοντας την ακατάλληλη συμπεριφορά τους με αιχμηρό λόγο. Να είσαι πάρα πολύ σίγουρος του πού βαδίζεις πριν να το δοκιμάσεις αυτό, πάρα ταύτα. Η γραμμή μεταξύ της επέμβασης έναντι μίας απολίτιστης συμπεριφοράς και της αρχής ενός ανούσιου πολέμου είναι αρκετά λεπτή ώστε και οι ίδιοι οι hackers δεν την διασκελίζουν σπάνια — αν είσαι αρχάριος ή ξένος, οι πιθανότητες να αποφύγεις ένα τέτοιο διασκελισμό είναι χαμηλές. Αν ψάχνεις για πληροφορίες και όχι διασκέδαση, είναι καλύτερο να απομακρύνεις τα χέρια από το πληκτρολόγιο αντί να το ρισκάρεις.
(Πολλοί άνθρωποι μας βεβαιώνουν ότι πολλοί hackers έχουν μία ήπια μορφή αυτισμού ή συνδρόμου Asperger, και στην πραγματικότητα τους λείπουν κάποιες εγκεφαλικές συνάψεις που υποβοηθούν στην "κανονική" ανθρώπινη κοινωνική συμπεριφορά. Αυτό μπορεί να είναι αλήθεια ή και όχι. Αν δεν είσαι ο ίδιος hacker, μπορεί να βοηθήσει στο να συνεργαστείς με την εκκεντρικότητά μας αν πιστεύεις ότι είμαστε εγκεφαλικά άρρωστοι. Μη διστάζεις. Δε μας νοιάζει — μας αρέσει να είμαστε οτιδήποτε κι αν είμαστε, και γενικότερα διατηρούμε έναν υγιή σκεπτικισμό σχετικά με τις κλινικές ετικέτες.)
Στην ακόλουθη ενότητα, θα μιλήσουμε για ένα διαφορετικό ζήτημα — το είδος της "αγένειας" που πρόκειται να λάβεις όταν εσύ συμπεριφέρεσαι λάθος.
Οι πιθανότητες λένε πως θα τα κάνεις σαλάτα αρκετές φορές μέσα στα forums της κοινότητας των hacker — με τρόπους που λεπτομερώς παρουσιάζονται σε αυτό το άρθρο, ή με παρόμοιους. Και θα σου πουν ακριβώς πώς τα έκανες μαντάρα, πιθανώς με συνοδευόμενη ειρωνεία. Δημόσια.
Όταν αυτό συμβαίνει, το χειρότερο που μπορείς να κάνεις είναι να κλαίγεσαι για την εμπειρία, να υποστηρίζεις ότι παρενοχλήθηκες λεκτικά, να απαιτείς εξηγήσεις, να φωνάζεις, να κρατάς την αναπνοή σου, να απειλείς με μηνύσεις, να παραπονιέσαι στους εργοδότες των άλλων, να αφήνεις το καπάκι της λεκάνης ανοιχτό, κ.ό.κ. Αντ' αυτού, εδώ είναι αυτά που θα έπρεπε να κάνεις:
Ξεπέρασέ το. Είναι φυσιολογικό. Στην πραγματικότητα, είναι υγιές και αρμόζει.
Οι αξίες της κοινότητας δεν διατηρούνται από μόνες τους: Διατηρούνται από ανθρώπους που τις εφαρμόζουν ενεργά, φανερά, δημόσια. Μην κλαίγεσαι πώς όλη η κριτική θα έπρεπε να είχε μεταβιβαστεί μέσω ιδιωτικών e-mail: Δε δουλεύει έτσι. Ούτε είναι χρήσιμο να επιμένεις ότι σε προσέβαλλαν προσωπικά όταν κάποιος σχολιάζει πως κάποιο από τα αξιώματά σου είναι λάθος, ή ότι οι βλέψεις του διαφέρουν. Αυτή η συμπεριφορά είναι για χαμένους.
Υπήρξαν hacker forums όπου, ορισμένοι, οδηγούμενοι από κάποιου είδους υπερβολική ευγένεια, αίρουν την δυνατότητα συγγραφής στους συμμετέχοντες και δεν τους επιτρέπεται να εντοπίσουν οποιοδήποτε λάθος στα συγγράμματα κάποιου άλλου, καθώς τους λένε "Μην λες τίποτε αν δεν είσαι πρόθυμος να βοηθήσεις τον χρήστη." Η κατάληξη στην αποχώρηση των μελών με γνώσεις για άλλα μέρη προκαλεί την παρακμή του χώρου για να γίνει μία φλυαρία χωρίς νόημα και άχρηστο ως τεχνικό forum.
Υπερβολικά "φιλικό" (με αυτή τη έννοια) ή χρήσιμο: Διάλεξε ένα.
Να θυμάσαι: Όταν ένας hacker σου λέει ότι τα έκανες μπάχαλο, και (δεν έχει σημασία πόσο αναιδώς) σου λέει να μην το ξανακάνεις, δρα επειδή ανησυχεί για (1) εσένα και (2) την κοινότητά του. Θα ήταν πολύ πιο εύκολο για εκείνον να σε αγνοήσει και να σε βγάλει απ' τη ζωή του. Αν δεν μπορείς να τα καταφέρεις να είσαι ευγνώμων, τουλάχιστον να έχεις λίγο αξιοπρέπεια, μην κλαίγεσαι, και μην περιμένεις να σε αντιμετωπίσουν σαν ένα εύθραυστο κουκλάκι μόνο και μόνο επειδή είσαι καινούργιος με μία θεατρικά υπερβολικώς ευαίσθητη ψυχή και παραισθήσεις ιδιοκτησίας.
Κάποιες φορές οι άνθρωποι θα σου κατευθύνουν προσωπικές επιθέσεις, θα σε πολεμήσουν δίχως λόγο, κλπ., ακόμη και αν δεν τα κάνεις μαντάρα (ή αν τα έκανες μαντάρα μόνο στην φαντασία τους). Σε αυτή την περίπτωση, το να παραπονιέσαι είναι ο τρόπος για να κάνεις τα πράγματα στ'αλήθεια σαλάτα.
Αυτοί οι επιτιθέμενοι είναι είτε μπούφοι που δεν έχουν ιδέα αλλά πιστεύουν ότι είναι ειδικοί, ή θέλουν να γίνουν ψυχολόγοι και ελέγχουν αν θα τα κάνεις θάλασσα. Οι υπόλοιποι αναγνώστες είτε τους αγνοούν, είτε βρίσκουν τρόπους να τους χειριστούν οι ίδιοι. Η συμπεριφορά των επιτιθέμενων δημιουργεί προβλήματα για τους ίδιους, τα οποία δεν πρέπει να σε απασχολούν.
Και ούτε να αφήσεις τον εαυτό σου να μπει σε πόλεμο. Το καλύτερο που έχεις να κάνεις με τους πολέμους είναι να τους αγνοήσεις — αφού ελέγξεις ότι είναι στ' αλήθεια πόλεμοι, και όχι σύνδεσμοι προς τους τρόπους με τους οποίους τα θαλάσσωσες, και δεν αποκρυπτογράφησες έξυπνα τις απαντήσεις στην πραγματική σου ερώτηση (και αυτό συμβαίνει).
Εδώ είναι κάποιες παραδοσιακές ηλίθιες ερωτήσεις, και όσα οι hackers σκέφτονται όταν δεν τις απαντούν.
Τέλος, θα σας επιδείξω πώς να κάνετε ερωτήσεις με έξυπνο τρόπο μέσω παραδειγμάτων — ζευγάρια ερωτήσεων πάνω στο ίδιο πρόβλημα, μία ερώτηση που γίνεται με ηλίθιο τρόπο και μία που γίνεται με έξυπνο τρόπο.
Αυτή η ερώτηση ικετεύει για μία απάντηση τύπου "STFW".
Αυτή έχει ήδη STFWευτεί, και ακούγεται ότι ίσως έχει πραγματικό πρόβλημα.
Ο ερωτών υποθέτει ότι κάποιος άλλος τα έκανε θάλασσα. Αλαζονικέ εγωίσταρε...
Ο ερωτών έχει ορίσει το περιβάλλον, διάβασε το FAQ, δείχνει το σφάλμα, και δεν υποθέτει πως για τα προβλήματά του φταίει κάποιος άλλος. Αυτό ίσως αξίζει κάποια προσοχή.
Η απάντηση του Κ. Τυχαίου Hacker σε αυτό συχνά θα ήταν "Σίγουρα. Μήπως θα ήθελες να σε ταΐσουμε και να σου αλλάξουμε και τις πάνες;" ακολουθούμενο από μία γροθιά στο πλήκτρο delete.
Αυτό το άτομο, από την άλλη, φαίνεται να αξίζει μία απάντηση. Έχει επιδείξει εξυπνάδα επίλυσης προβλημάτων αντί να περιμένει παθητικά για κάποια λύση από τα ουράνια.
Στην τελευταία ερώτηση, παρατήρησε την υποβόσκουσα αλλά σημαντική διαφορά ανάμεσα στο "βοηθήστε με" και "Παρακαλώ βοηθήστε με να βρω επιπρόσθετα διαγνωστικά που μπορώ να τρέξω ώστε να καταφέρω να φτάσω στη λύτρωση."
Στην πραγματικότητα, η μορφή της τελευταίας ερώτησης είναι στενά βασισμένη σε ένα πραγματικό γεγονός που συνέβη τον Αύγουστο του 2001 στην mailing list του πυρήνα του linux (linux-kernel mailing list - lkml). Εγώ (ο Eric) ρωτούσα την ερώτηση τότε. Έβλεπα μυστήρια κρασαρίσματα σε μία μητρική κάρτα Tyan S2462. Τα μέλη της λίστας με εφοδίασαν με τις κρίσιμες πληροφορίες που χρειαζόμουν για να τα λύσω.
Κάνοντας την ερώτηση με τον τρόπο που την έκανα, έδωσα κάτι στους ανθρώπους για να απασχοληθούν — το έκανα εύκολο και προσελκυστικό για να ασχοληθούν. Επέδειξα σεβασμό ως προς την ικανότητα των συναδέλφων μου και τους προσκάλεσα να συνεδριάσουν μαζί μου ως ίσος προς ίσους. Επέδειξα επιπλέον σεβασμό για την αξία του χρόνου τους λέγοντάς τους για τα αδιέξοδα τα οποία ήδη δοκίμασα.
Στη συνέχεια, όταν τους ευχαρίστησα όλους και ανέφερα πόσο καλά δούλεψε η διαδικασία, ένα μέλος του lkml παρατήρησε ότι δούλεψε όχι επειδή είμαι ένα "όνομα" σε εκείνη τη λίστα, αλλά επειδή έκανα την ερώτηση με τη σωστή μορφή.
Οι hackers έχουν, όσον αφορά μερικούς από τους τρόπους τους, ένα πολύ άσπλαχνο αξιοκρατικό σύστημα — είμαι σίγουρος ότι είχε δίκιο, και αν είχα συμπεριφερθεί σαν σφουγγάρι, θα είχα πολεμηθεί ή αγνοηθεί χωρίς να παίζει ρόλο το ποιος είμαι. Η προτροπή του να συγγράψω περί ολόκληρου του γεγονότος ως μία εισαγωγή για τους άλλους οδήγησε άμεσα στην σύνθεση αυτού του οδηγού.
Αν δεν μπορείς να λάβεις απάντηση, μην το παίρνεις προσωπικά σαν να μην θέλουμε να σε βοηθήσουμε. Μερικές φορές τα μέλη της ομάδα που ρωτήθηκε μπορεί απλώς να μην γνωρίζουν την απάντηση. Το να μην υπάρχει απάντηση δεν είναι το ίδιο με το να σε αγνοούν, αν και παραδέχομαι πως είναι δύσκολο να δει κάποιος την διαφορά εκ των έξω.
Γενικά, απλώς το να ξαναστείλεις την ερώτησή σου είναι κακή ιδέα. Είναι ασκόπως ενοχλητικό. Να έχεις υπομονή: το άτομο με την απάντηση μπορεί να βρίσκεται σε κάποια διαφορετική ζώνη ώρας από την δική σου και να κοιμάται. Ή μπορεί να φταίει το ότι η ερώτησή σου δεν ήταν σωστά μορφοποιημένη από την αρχή.
Υπάρχουν άλλες πηγές στις οποίες μπορείς να καταφύγεις, συχνά πηγές που είναι προσαρμοσμένες για της ανάγκες ενός αρχάριου.
Υπάρχουν πολλές ομάδες χρηστών online και τοπικές που είναι οπαδοί λογισμικού, ακόμη και αν οι ίδιοι ποτέ δεν έχουν γράψει λογισμικό. Αυτές οι ομάδες συχνά δημιουργούνται έτσι ώστε οι άνθρωποι να μπορούν να βοηθούν ο ένας τον άλλον και να βοηθούν νέους χρήστες.
Υπάρχουν επίσης πολλαπλές εμπορικές εταιρίες με τις οποίες μπορείς να συνάψεις ένα συμβόλαιο για βοήθεια, μεγάλες και μικρές (η Red Hat και η SpikeSource είναι δύο από τις πιο γνωστές — υπάρχουν πολλές άλλες). Μην φοβάσαι στην ιδέα του να πρέπει να πληρώσεις για λίγη βοήθεια! Άλλωστε, αν η μηχανή του αυτοκινήτου σου ξεφυσήξει παξιμάδια και βίδες, οι πιθανότητες λένε ότι θα το πας σε ένα βουλκανιζατέρ για να σου το φτιάξουν. Επειδή το λογισμικό δεν σου κόστισε κάτι, δεν μπορείς πάντα να περιμένεις ότι η υποστήριξη θα είναι τζάμπα.
Για δημοφιλές λογισμικό όπως το Linux, υπάρχουν τουλάχιστον 10,000 χρήστες ανά προγραμματιστή. Είναι απλώς αδύνατο για ένα άτομο να χειριστεί τις κλήσεις τεχνικής υποστήριξης από 10,000 χρήστες. Να θυμάσαι ότι ακόμη και όταν πρέπει να πληρώσεις για βοήθεια, πληρώνεις πολύ λιγότερο απ' ότι αν έπρεπε να είχες επίσης αγοράσει το λογισμικό (και η υποστήριξη για λογισμικό κλειστού κώδικα είναι συνήθως πιο ακριβή και λιγότερο ικανή απ' ότι η υποστήριξη για λογισμικό ανοιχτού κώδικα).
Να είσαι ευγενής. Το άγχος από κάποιο πρόβλημα μπορεί να κάνει τους ανθρώπους να εμφανίζονται αγενείς ή χαζοί ενώ δεν είναι.
Απάντα στον πρωτίστως παραβάτη off-line. Δεν υπάρχει ανάγκη για δημόσια ταπείνωση για κάποιον που έκανε ένα ειλικρινές λάθος. Ένας πραγματικός αρχάριος μπορεί να μην γνωρίζει πώς να ψάξει μέσα σε αρχεία ή πού αποθηκεύεται και δημοσιεύεται το FAQ.
Αν δεν ξέρεις σίγουρα, πες το! Μία λάθος αλλά επιτακτική απάντηση είναι χειρότερο και απ' το τίποτα. Μην βάλεις κάποιον να κάνει λάθος πράγματα μόνο και μόνο επειδή είναι απλώς διασκεδαστικό να ακούγεσαι σαν ειδικός. Να είσαι μετριόφρον και ειλικρινής — να είσαι το καλό παράδειγμα τόσο για τον συνομιλητή σου όσο και για τους ομότιμούς σου.
Αν δεν μπορείς να βοηθήσεις, μη σε νοιάζει. Μην κάνεις αστεία σχετικά με διαδικασίες που μπορούν να καταστρέψουν την εγκατάσταση του χρήστη — κάποιος φτωχούλης ίσως τα ερμηνεύσει ως οδηγίες.
Υπέβαλλε αναλυτικές ερωτήσεις για να αποσπάσεις περισσότερες λεπτομέρειες. Αν είσαι καλός σε αυτό, ο συνομιλητής σου θα μάθει κάτι — και μπορεί κι εσύ. Προσπάθησε να μεταμορφώσεις μία κακή ερώτηση σε καλή — να θυμάσαι ότι όλοι ήμασταν αρχάριοι κάποτε.
Αν και το να μουρμουρίζεις RTFM είναι δικαιολογημένο όταν απαντάς σε κάποιον που είναι τεμπελόγατος, ένας σύνδεσμος προς την τεκμηρίωση (ακόμη και αν είναι απλώς μία πρόταση για αναζήτηση στο google για κάποια λέξη κλειδί) είναι καλύτερος.
Αν πρόκειται να απαντήσεις στην ερώτηση, δώσε βάση. Μην προτρέπεις την χρήση μπακάλικων τρόπων για να κόψει κανείς δρόμο όταν κάποιος χρησιμοποιεί το λάθος εργαλείο ή την λάθος μέθοδο. Πρότρεψε την χρήση καλών εργαλείων. Αναπλαισίωσε την ερώτηση.
Βοήθησε την κοινότητα να μάθει από την ερώτηση. Όταν βρίσκεσαι αντιμέτωπος με μία καλή ερώτηση, ρώτα τον εαυτό σου "Πώς θα έπρεπε να αλλάξει η αντίστοιχη τεκμηρίωση ή το FAQ ώστε να μην χρειαστεί ποτέ να το ξανααπαντήσει κάποιος αυτό;" Μετά στείλε ένα patch στον διαχειριστή του εγγράφου.
Αν έκανες έρευνα για να απαντήσεις στην ερώτηση, επίδειξε τις ικανότητές σου αντί να γράφεις σαν να είχες βρει την απάντηση μυρίζοντας τα νύχια σου. Το να απαντάς σε μία καλή ερώτηση είναι σαν να ταΐζεις έναν πεινασμένο ένα πιάτο φαΐ, αλλά αν του διδάξεις την ικανότητα να κάνει έρευνα μέσω παραδείγματος είναι σαν να τον διδάσκεις να καλλιεργεί τροφή εφ' όρου ζωής.
Αν χρειάζεσαι οδηγίες για τα βασικά του πώς δουλεύουν οι προσωπικοί υπολογιστές, το Unix, και το Internet, βλέπε το The Unix and Internet Fundamentals HOWTO.
Όταν εκδίδεις λογισμικό ή γράφεις patches για λογισμικό, προσπάθησε να ακολουθήσεις τις οδηγίες στο Software Release Practice HOWTO.