Η διαφορά μεταξύ «κλειστού» (ιδιόκτητου) λογισμικού και λογισμικού «ανοικτού κώδικα» είναι (μα καλά, πώς το μάντεψες;) ότι ο «πηγαίος κώδικάς» τους είναι ανοικτός. Εμ, εντάξει, και τι με νοιάζει εμένα; Λοιπόν, ο «πηγαίος κώδικας», ή απλά «κώδικας», είναι σαν να λέμε η μυστική συνταγή κάθε λογισμικού, όπως ακριβώς η συνταγή για ένα κέικ. Όταν αγοράζεις ένα κέικ, δεν υπάρχει κανένας τρόπος να βρεις την ακριβή συνταγή (παρόλο που μπορεί να μαντέψεις κάποια μέρη, «έχει καρύδα εδώ μέσα»). Αν ένα ζαχαροπλαστείο μοίραζε ελεύθερα την συνταγή του σούπερ επιτυχημένου του τσιζκέικ σύντομα θα έμενε χωρίς δουλειά γιατί οι άνθρωποι θα το έφτιαχναν μόνοι τους στο σπίτι τους και θα έπαυαν να το αγοράζουν. Παρομοίως, η Microsoft δεν δίνει τη συνταγή, ή τον «πηγαίο κώδικα», των προγραμμάτων της, όπως τα Windows, και με το δίκιο της γιατί από εκεί βγάζει τα λεφτά της.



Το πρόβλημα είναι ότι μπορούν να βάλουν ό,τι θέλουν μέσα στην συνταγή, χωρίς εμείς να το γνωρίζουμε. Αν θέλουν να βάλουν ένα κομμάτι κώδικα που να λέει «κάθε 12η του μήνα, αν ο υπολογιστής είναι ονλάιν, φτιάξε μια λίστα με όλα τα αρχεία που έχουν κατεβασθεί σε αυτόν τον υπολογιστή τον τελευταίο μήνα και στείλε την πίσω στη Microsoft μέσω του διαδικτύου». Η Microsoft κατά πάσα πιθανότητα δεν το κάνει αυτό, αλλά πώς μπορείς να ξέρεις, εφόσον όλα είναι κλειστά, αόρατα, μυστικά?



Πριν λίγο καιρό (Οκτώβριος 2008) πολλοί Κινέζοι χρήστες Windows (οι περισσότεροι από αυτούς με πειρατικές κόπιες Windows) είδαν κάτι περίεργο να συμβαίνει με τον υπολογιστή τους: κάθε μια ώρα, η οθόνη τους γινόταν μαύρη για μερικά δευτερόλεπτα. Όχι κάτι που μπορεί να σε εμποδίσει από το να κάνεις τη δουλειά σου, αλλά κάτι που μπορεί σίγουρα να σε κάνει να τρελαθείς. Η Microsoft είχε προσθέσει μερικές γραμμές κώδικα (ένα συστατικό στη συνταγή) που έλεγε «αν αυτή η κόπια Windows ανιχνευθεί ως πειρατική, κάνε την οθόνη μαύρη για μερικά δευτερόλεπτα κάθε ώρα». Το θέμα τώρα δεν είναι ότι το λογισμικό ήταν πειρατικό: το πειρατικό λογισμικό είναι κακό, τελεία και παύλα. Το θέμα είναι ότι αυτοί οι χρήστες έλαβαν μια αυτόματη ενημέρωση για τα Windows (οι ενημερώσεις συνήθως επιδιορθώνουν προβλήματα και προσθέτουν νέες λειτουργίες) χωρίς να γνωρίζουν πώς αυτή θα επηρέαζε το σύστημά τους. Κανείς δεν ήξερε.



Το να αλλάζεις τον πηγαίο κώδικα ενός λογισμικού ανοικτού κώδικα είναι μια πολύ πιο ανοικτή διαδικασία. Εξ ορισμού, όλες οι συνταγές είναι δημόσιες. Αυτό δεν έχει σημασία για εσένα, εφόσον δεν μπορείς να κατανοήσεις τον κώδικα έτσι κι αλλιώς, όμως οι άνθρωποι που τον καταλαβαίνουν μπορούν να τον διαβάσουν και να μιλήσουν. Και έτσι κάνουν. Κάθε φορά που κάποιος θέλει να αλλάξει τον πηγαίο κώδικα, όλοι οι άλλοι προγραμματιστές μπορούν να δουν την αλλαγή («ρε φίλε, γιατί πρόσθεσες αυτόν τον κώδικα εδώ που κατασκοπεύει το πληκτρολόγιο του χρήστη, τρελάθηκες τελείως;»). Και ακόμα και στην περίπτωση που τη βαρέσει σε ολόκληρη την ομάδα των προγραμματιστών ενός λογισμικού και αρχίσουν να προσθέτουν κακόβουλο κώδικα παντού, κάποιος έξω από την ομάδα μπορεί να πάρει τον κώδικα, να αφαιρέσει όλα τα κακά τμήματα, να δημιουργήσει μια ολοκαίνουργια έκδοση και να πει στον κόσμο ποια είναι η διαφορά. Είναι ανοικτό.



Αυτός είναι ο λόγος που μπορείς να νιώθεις σίγουρος ότι λογισμικό ανοικτού κώδικα δεν κάνει κακά πράγματα πίσω από την πλάτη σου: η κοινότητα παρακολουθεί από κοντά όλες τις συνταγές.