Αυτή είναι μία μετάφραση μιας αυθεντικής σελίδας στα Αγγλικά.
Γιατί ο ανοιχτός κώδικας χάνει το νόημα του ελεύθερου λογισμικού
από τον Richard StallmanΟι όροι “ελεύθερο λογισμικό” και “ανοιχτός κώδικας” αντιπροσωπεύουν σχεδόν το ίδιο εύρος προγραμμάτων. Ωστόσο, λένε βαθιά διαφορετικά πράγματα σχετικά με εκείνα τα προγράμματα, βασιζόμενοι σε διαφορετικές αξίες. Το κίνημα ελεύθερου λογισμικού κάνει καμπάνια για ελευθερία για τους χρήστες υπολογιστικών διαδικασιών· είναι ένα κίνημα για ελευθερία και δικαιοσύνη. Σε αντίθεση, η ιδέα του ανοιχτού κώδικα δίνει αξία σε πρακτικά κυρίως πλεονεκτήματα και δεν κάνει καμπάνια για αρχές. Για αυτό δεν συμφωνούμε με τον ανοιχτό κώδικα, και δεν χρησιμοποιούμε εκείνο τον όρο.
Όταν αποκαλούμε το λογισμικό “ελεύθερο,” εννοούμε ότι σέβεται τις ουσιώδεις ελευθερίες των χρηστών: την ελευθερία να το εκτελέσουν, να το μελετήσουν και να το αλλάξουν, και να αναδιανέμουν αντίγραφά του με ή χωρίς αλλαγές. Αυτό είναι ένα ζήτημα ελευθερίας, όχι τιμής, οπότε σκεφτείτε τον “ελεύθερο λόγο,”, όχι την “δωρεάν μπύρα.”
Αυτές οι ελευθερίες είναι ζωτικής σημασίας. Είναι ουσιώδεις, όχι μόνο για το καλό των χρηστών ατομικά, αλλά για την κοινωνία ως σύνολο, επειδή προωθούν την κοινωνική αλληλεγγύη—δηλαδή, το διαμοιρασμό και τη συνεργασία. Γίνονται ακόμα πιο σημαντικές όσο η κουλτούρα μας και οι δραστηριότητες της ζωής μας ψηφιοποιούνται όλο και περισσότερο. Σε έναν κόσμο ψηφιακών ήχων, εικόνων και λέξεων, το ελεύθερο λογισμικό καθίσταται όλο και περισσότερο ουσιώδες για την ελευθερία γενικότερα.
Δεκάδες εκατομμυρίων ανθρώπων σε όλο τον κόσμο πλέον χρησιμοποιούν ελεύθερο λογισμικό. Τα σχολεία σε κάποιες περιοχές στην Ινδία και την Ισπανία πλέον διδάσκουν όλους τους μαθητές να χρησιμοποιούν το ελεύθερο λειτουργικό σύστημα GNU/Linux. Οι περισσότεροι από αυτούς τους χρήστες, ωστόσο, δεν έχουν ακούσει ποτέ για τους ηθικούς λόγους για τους οποίους αναπτύξαμε αυτό το σύστημα και χτίσαμε την κοινότητα του ελεύθερου λογισμικού, επειδή σήμερα αυτό το σύστημα και αυτή η κοινότητα περιγράφονται πιο συχνά ως “ανοιχτός κώδικας,” αποδίδοντάς τους σε μία διαφορετική φιλοσοφία στην οποία αυτές οι ελευθερίες σπάνια αναφέρονται.
Το κίνημα του ελεύθερου λογισμικού κάνει καμπάνια για την ελευθερία των χρηστών υπολογιστών από το 1983. Το 1984 ξεκινήσαμε την ανάπτυξη του ελεύθερου λειτουργικού συστήματος GNU, ώστε να αποφύγουμε τα μη-ελεύθερα λειτουργικά συστήματα τα οποία αρνούνται την ελευθερία στους χρήστες τους. Κατά την διάρκεια της δεκαετίας του 80, αναπτύξαμε τα περισσότερα από τα απαραίτητα συστατικά του συστήματος και σχεδιάσαμε την Γενική Άδεια Δημόσιας Χρήσης GNU (GNU GPL) για να τα δημοσιεύσουμε υπό αυτήν—μια άδεια σχεδιασμένη ειδικά για να προστατεύει την ελευθερία για όλους τους χρήστες ενός προγράμματος.
Δεν συμφώνησαν όλοι οι χρήστες και οι προγραμματιστές του ελεύθερου λογισμικού με τους στόχους του κινήματος ελεύθερου λογισμικού. Το 1998, ένα μέρος της κοινότητας του ελεύθερου λογισμικού αποσπάστηκε και ξεκίνησε να κάνει καμπάνια στο όνομα του “ανοιχτού κώδικα.” Ο όρος προτάθηκε αρχικά για να αποφευχθεί μια πιθανή παρεξήγηση του όρου “ελεύθερο λογισμικό,” αλλά σύντομα συσχετίστηκε με φιλοσοφικές απόψεις αρκετά διαφορετικές από εκείνες του κινήματος ελεύθερου λογισμικού.
Κάποιοι από τους υποστηρικτές του ανοιχτού κώδικα θεώρησαν τον όρο ως μια “καμπάνια μάρκετινγκ για το ελεύθερο λογισμικό” το οποίο θα απευθύνονταν σε επιχειρηματικά στελέχη αναφέροντας τα πρακτικά οφέλη του λογισμικού, χωρίς να θίγονται ζητήματα σωστού και λάθους τα οποία μπορεί να μην ήθελαν να ακούσουν. Άλλοι υποστηρικτές απέρριψαν κατηγορηματικά τις ηθικές και κοινωνικές αξίες του κινήματος ελεύθερου λογισμικού. Όποιες κι αν είναι οι απόψεις τους, όταν έκαναν καμπάνια για τον “ανοιχτό κώδικα” ούτε ανέφεραν ούτε υποστήριξαν εκείνες τις αξίες. Ο όρος “ανοιχτός κώδικας” γρήγορα συσχετίστηκε με ιδέες και επιχειρήματα βασισμένες μόνο στις πρακτικές αξίες, όπως το να κάνουν ή να έχουν ισχυρό, αξιόπιστο λογισμικό. Οι περισσότεροι υποστηρικτές του ανοιχτού κώδικα έχουν εισαχθεί σε αυτό μετά από τότε, και κάνουν τον ίδιο συσχετισμό. Το μεγαλύτερο μέρος της συζήτησης για τον “ανοιχτό κώδικα” δεν δίνει σημασία στο σωστό και στο λάθος, μόνο στην δημοτικότητα και την επιτυχία· εδώ είναι ένα τυπικό παράδειγμα. Μια μειοψηφία υποστηρικτών του ανοιχτού κώδικα πράγματι λέει στις μέρες μας ότι η ελευθερία είναι μέρος του ζητήματος, αλλά δεν είναι ιδιαίτερα ορατοί ανάμεσα στους πολλούς που δεν το λένε.
Οι δύο (Σ.τ.μ.: όροι) σήμερα περιγράφουν σχεδόν την ίδια κατηγορία λογισμικού, αλλά αντιπροσωπεύουν απόψεις βασισμένες σε θεμελιωδώς διαφορετικές αξίες. Για το κίνημα ελεύθερου λογισμικού, το ελεύθερο λογισμικό είναι μία ηθική προσταγή, ουσιαστικός σεβασμός στην ελευθερία των χρηστών. Σε αντίθεση, η φιλοσοφία του ανοιχτού κώδικα εξετάζει τα ζητήματα με όρους του πως να κάνει το λογισμικό “καλύτερο”—μόνο με την πρακτική έννοια. Λέει πως το μη-ελεύθερο λογισμικό είναι μία κατώτερη λύση στο πρακτικό πρόβλημα που αντιμετωπίζεται.
Για το κίνημα ελεύθερου λογισμικού, ωστόσο, το μη-ελεύθερο λογισμικό είναι ένα κοινωνικό πρόβλημα, και η λύση είναι να σταματήσουμε να το χρησιμοποιούμε και να μετακινηθούμε στο ελεύθερο λογισμικό.
“Ελεύθερο λογισμικό.” “Ανοιχτός κώδικας.” Αν είναι το ίδιο λογισμικό (ή σχεδόν έτσι), έχει σημασία ποιο όνομα χρησιμοποιείτε; Ναι, επειδή διαφορετικές λέξεις εκφράζουν διαφορετικές ιδέες. Ενώ ένα ελεύθερο πρόγραμμα με οποιοδήποτε άλλο όνομα θα σας έδινε την ίδια ελευθερία σήμερα, η εδραίωση της ελευθερίας με έναν διαρκή τρόπο εξαρτάται πάνω από όλα στο να διδαχθούν οι άνθρωποι να δίνουν αξία στην ελευθερία. Εάν θέλετε να βοηθήσετε σε αυτό, είναι ουσιώδες να μιλάτε για “ελεύθερο λογισμικό.”
Εμείς στο κίνημα ελεύθερου λογισμικού δεν θεωρούμε την παράταξη του ανοιχτού κώδικα ως εχθρό· ο εχθρός είναι το ιδιόκτητο (μη-ελεύθερο) λογισμικό. Αλλά θέλουμε ο κόσμος να ξέρει πως αντιπροσωπεύουμε την ελευθερία, οπότε δεν δεχόμαστε να χαρακτηριζόμαστε λανθασμένα ως υποστηρικτές του ανοιχτού κώδικα. Αυτό που υποστηρίζουμε δεν είναι ο “ανοιχτός κώδικας,” και αυτό στο οποίο αντιτασσόμαστε δεν είναι ο “κλειστός κώδικας.” Για να το κάνουμε ξεκάθαρο, αποφεύγουμε να χρησιμοποιούμε εκείνους τους όρους.
Πρακτικές διαφορές μεταξύ ελεύθερου λογισμικού και ανοιχτού κώδικα
Στην πράξη, ο ανοιχτός κώδικας αντιπροσωπεύει λίγο πιο χαλαρά κριτήρια από εκείνα για το ελεύθερο λογισμικό. Από όσο γνωρίζουμε, όλος ο υπάρχων δημοσιευμένος κώδικας ελεύθερου λογισμικού θα πιστοποιούνταν ως ανοιχτός κώδικας. Σχεδόν όλο το λογισμικό ανοιχτού κώδικα είναι ελεύθερο λογισμικό, αλλά υπάρχουν και εξαιρέσεις.
Κατά πρώτο, ορισμένες άδειες ανοιχτού κώδικα είναι πολύ περιοριστικές, οπότε δεν πληρούν τις προϋποθέσεις για να είναι ελεύθερες άδειες. Για παράδειγμα, το Open Watcom είναι μη-ελεύθερο επειδή η άδειά του δεν επιτρέπει να κάνετε μια τροποποιημένη έκδοση και να τη χρησιμοποιήσετε ιδιωτικά. Ευτυχώς, είναι λιγοστά τα προγράμματα που χρησιμοποιούν τέτοιες άδειες.
Κατά δεύτερο, απαιτήσεις εμπορικών σημάτων που προστίθενται επάνω στην άδεια πνευματικών δικαιωμάτων του κώδικα μπορεί να κάνουν ένα πρόγραμμα μη-ελεύθερο. Για παράδειγμα, ο μεταγλωττιστής Rust μπορεί να είναι μη-ελεύθερος, επειδή οι συνθήκες των εμπορικών σημάτων απαγορεύουν να πουλάτε αντίγραφα ή να διανέμετε τροποποιημένες εκδόσεις, εκτός κι αν απομακρύνετε πλήρως όλες τις χρήσεις του εμπορικού σήματος. Το τι ακριβώς απαιτεί αυτό στην πράξη δεν είναι σαφές.
Κατά τρίτο, τα κριτήρια για τον ανοιχτό κώδικα ασχολούνται μόνο με τη χρήση του πηγαίου κώδικα. Πράγματι, σχεδόν όλα τα σημεία στον ορισμό του ανοιχτού κώδικα είναι διατυπωμένα σαν συνθήκες στην άδεια πηγής του λογισμικού παρά στο τι είναι ελεύθεροι να κάνουν οι χρήστες. Ωστόσο, οι άνθρωποι συχνά περιγράφουν ένα εκτελέσιμο ως “ανοιχτό κώδικα,” επειδή ο πηγαίος κώδικάς του είναι διαθέσιμος με αυτόν τον τρόπο. Αυτό προκαλεί σύγχυση σε παράδοξες καταστάσεις όπου ο πηγαίος κώδικας είναι ανοιχτός κώδικας (και ελεύθερος) αλλά το ίδιο το εκτελέσιμο είναι μη-ελεύθερο.
Η τετριμμένη περίπτωση αυτού του παράδοξου είναι όταν ο πηγαίος κώδικας ενός προγράμματος έχει μια επιτρεπτική ελεύθερη άδεια, μία χωρίς copyleft, αλλά τα εκτελέσιμα αρχεία αυτού έχουν επιπλέον μη-ελεύθερες συνθήκες. Υποθέτοντας ότι τα εκτελέσιμα αντιστοιχούν ακριβώς στις δημοσιευμένες πηγές—το οποίο μπορεί να είναι έτσι ή μπορεί και όχι—οι χρήστες μπορούν να μεταγλωττίσουν τον πηγαίο κώδικα για να κάνουν και να διανέμουν ελεύθερα εκτελέσιμα. Γι' αυτό είναι αυτή η περίπτωση τετριμμένη· δεν είναι σοβαρό πρόβλημα.
Η μη τετριμμένη περίπτωση είναι επιζήμια και σημαντική. Πολλά προϊόντα που περιέχουν υπολογιστές ελέγχουν τις υπογραφές στα εκτελέσιμα προγράμματά τους ώστε να εμποδίζουν τους χρήστες από το να χρησιμοποιούν αποτελεσματικά διαφορετικά εκτελέσιμα· μόνο μια προνομιούχα εταιρεία μπορεί να κάνει εκτελέσιμα που μπορούν να εκτελεστούν στη συσκευή και να χρησιμοποιήσουν πλήρως τις δυνατότητές της. Αποκαλούμε τέτοιες συσκευές “τύραννους,” και η πρακτική αποκαλείται “τιβοποίηση” από το προϊόν (Tivo) όπου την είδαμε για πρώτη φορά. Ακόμη και αν το εκτελέσιμο είναι φτιαγμένο από ελεύθερο πηγαίο κώδικα, και ονομαστικά έχει μια ελεύθερη άδεια, οι χρήστες δεν μπορούν με χρησιμότητα να εκτελέσουν τροποποιημένες εκδόσεις του, οπότε το εκτελέσιμο είναι ντε φάκτο μη-ελεύθερο.
Πολλά προϊόντα Android περιέχουν μη-ελεύθερα τιβοποιημένα εκτελέσιμα του Linux, παρόλο που ο πηγαίος κώδικάς του είναι υπό την GNU GPL έκδοση 2. (Σχεδιάσαμε την GNU GPL έκδοση 3 για να απαγορέψουμε αυτή την πρακτική· κρίμα που το Linux δεν το υιοθέτησε.) Αυτά τα εκτελέσιμα, φτιαγμένα από πηγαίο κώδικα που είναι ανοιχτός κώδικας και ελεύθερος, αποκαλούνται γενικά ως “ανοιχτός κώδικας,” αλλά δεν είναι ελεύθερο λογισμικό.
Κοινές παρεξηγήσεις του “ελεύθερου λογισμικού” και του “ανοιχτού κώδικα”
Ο όρος “ελεύθερο λογισμικό” είναι επιρρεπής σε παρερμηνεία: ένα ακούσιο νόημα, “λογισμικό το οποίο μπορείτε να πάρετε σε μηδενική τιμή,” ταιριάζει στον όρο εξίσου καλά με το επιδιωκόμενο νόημα, “λογισμικό που δίνει στο χρήστη συγκεκριμένες ελευθερίες.” Αντιμετωπίζουμε αυτό το πρόβλημα δημοσιεύοντας τον ορισμό του ελεύθερου λογισμικού, και λέγοντας πως “Σκεφτείτε τον ‘ελεύθερο λόγο,’ όχι την ‘δωρεάν μπύρα.’” Αυτή δεν είναι μια τέλεια λύση· δεν μπορεί να εξαλείψει εντελώς το πρόβλημα. Ένας ξεκάθαρος και σωστός όρος, θα ήταν καλύτερος, αν δεν παρουσίαζε άλλα προβλήματα.
Δυστυχώς, όλες οι εναλλακτικές λύσεις στα αγγλικά έχουν τα δικά τους προβλήματα. Έχουμε εξετάσει πολλά που έχει προτείνει ο κόσμος, αλλά κανένα δεν είναι τόσο ξεκάθαρα “σωστό” ώστε η μετάβαση σε αυτό να είναι μια καλή ιδέα. (Για παράδειγμα, σε μερικά συμφραζόμενα η γαλλική και ισπανική λέξη “libre” δουλεύει καλά, αλλά οι άνθρωποι στην Ινδία δεν την αναγνωρίζουν καθόλου.) Κάθε προτεινόμενη αντικατάσταση για το “ελεύθερο λογισμικό” έχει κάποιο είδος σημασιολογικού προβλήματος—και αυτό συμπεριλαμβάνει το “λογισμικό ανοιχτού κώδικα.”
Ο επίσημος ορισμός του λογισμικού ανοιχτού κώδικα (ο οποίος είναι δημοσιευμένος από την Πρωτοβουλία Ανοιχτού Κώδικα και είναι πολύ μεγάλος για να τον συμπεριλάβουμε εδώ) προέκυψε έμμεσα από τα δικά μας κριτήρια για το ελεύθερο λογισμικό. Δεν είναι το ίδιο· είναι λίγο πιο χαλαρός από ορισμένες απόψεις. Παρόλα αυτά, ο ορισμός τους συμφωνεί με τον δικό μας ορισμό στις περισσότερες περιπτώσεις.
Παρόλα αυτά, η προφανής έννοια για την έκφραση “λογισμικό ανοιχτού κώδικα” είναι “Μπορείτε να δείτε τον πηγαίο κώδικα.” Πράγματι, ο περισσότερος κόσμος φαίνεται να παρανοεί το “λογισμικό ανοιχτού κώδικα” με αυτό τον τρόπο. (Ο καθαρός όρος για αυτό το νόημα είναι “πηγαίος κώδικας διαθέσιμος.”) Αυτό το κριτήριο είναι πολύ πιο αδύναμο από τον ορισμό του ελεύθερου λογισμικού, πολύ πιο αδύναμο επίσης από τον επίσημο ορισμό του ανοιχτού κώδικα. Περιλαμβάνει πολλά προγράμματα τα οποία δεν είναι ούτε ελεύθερα, ούτε ανοιχτού κώδικα.
Γιατί οι άνθρωποι το παρανοούν με αυτό τον τρόπο; Επειδή αυτό είναι το φυσικό νόημα των λέξεων “ανοιχτός κώδικας.” Αλλά η έννοια για την οποία οι υποστηρικτές του ανοιχτού κώδικα έψαξαν ένα άλλο όνομα ήταν μια παραλλαγή εκείνης του ελεύθερου λογισμικού.
Από τη στιγμή που το εμφανές νόημα για τον “ανοιχτό κώδικα”δεν είναι το νόημα το οποίο οι υποστηρικτές του αποσκοπούν, το αποτέλεσμα είναι πως ο περισσότερος κόσμος δεν κατανοεί σωστά τον όρο. Σύμφωνα με το συγγραφέα Neal Stephenson, “το Linux είναι λογισμικό “ανοιχτού κώδικα” εννοώντας, απλά ότι ο καθένας μπορεί να πάρει αντίγραφα των αρχείων πηγαίου κώδικά του.” Δε νομίζω ότι σκοπίμως έψαξε για να απορρίψει ή να αμφισβητήσει τον επίσημο ορισμό. Νομίζω πως απλά εφάρμοσε τις συμβάσεις της αγγλικής γλώσσας, ώστε να καταλήξει σε ένα νόημα για τον όρο. Η πολιτεία του Κάνσας δημοσίευσε έναν παρόμοιο ορισμό: “Κάντε χρήση του λογισμικού ανοιχτού κώδικα (ΛΑΚ). Το ΛΑΚ είναι λογισμικό για το οποίο ο πηγαίος κώδικας είναι ελεύθερα και δημόσια διαθέσιμος, παρόλο που οι συγκεκριμένες συμφωνίες αδειοδότησης ποικίλουν ως προς το τι επιτρέπεται να κάνει κανείς με εκείνον τον κώδικα.”
Οι New York Times δημοσίευσαν ένα άρθρο που τάνυσε το νόημα του όρου ώστε να αναφέρεται στις βήτα δοκιμές χρηστών—επιτρέποντας σε μερικούς χρήστες να δοκιμάσουν μια πρώιμη έκδοση και να δώσουν εμπιστευτικά σχόλια—τις οποίες οι προγραμματιστές ιδιόκτητου λογισμικού ασκούν εδώ και δεκαετίες.
Ο όρος έχει μάλιστα τανυστεί ώστε να συμπεριλάβει σχέδια για εξοπλισμό που δημοσιεύτηκαν χωρίς μια πατέντα. Τα ελεύθερα από πατέντες σχέδια εξοπλισμού μπορεί να είναι αξιέπαινες συνεισφορές στην κοινωνία, αλλά ο όρος “πηγαίος κώδικας” δεν τα αφορά.
Οι υποστηρικτές του ανοιχτού κώδικα προσπαθούν να το αντιμετωπίσουν αυτό δείχνοντας στον επίσημό τους ορισμό, αλλά αυτή η διορθωτική προσέγγιση είναι λιγότερο αποτελεσματική για αυτούς απ' ότι είναι για μας. Ο όρος “ελεύθερο λογισμικό” έχει δύο φυσικές σημασίες, η μία εκ των οποίων είναι η επιδιωκόμενη σημασία, οπότε ένα άτομο το οποίο έχει κατανοήσει καλά την ιδέα του “ελεύθερου λόγου, όχι δωρεάν μπύρα” δεν θα τον παρερμηνεύσει ξανά. Αλλά ο όρος “ανοιχτός κώδικας” έχει μόνο μία φυσική σημασία, η οποία είναι διαφορετική από τη σημασία την οποία επιδιώκουν οι υποστηρικτές του. Οπότε δεν υπάρχει κανένας περιληπτικός τρόπος να εξηγήσουν και να δικαιολογήσουν τον επίσημο ορισμό του. Αυτό δημιουργεί μεγαλύτερη σύγχυση.
Άλλη μια παρανόηση του “ανοιχτού κώδικα” είναι η ιδέα ότι σημαίνει “μη χρησιμοποιώντας την GNU GPL.” Αυτό τείνει να συνοδεύει μια άλλη παρανόηση ότι “ελεύθερο λογισμικό” σημαίνει “καλυπτόμενο από την GPL λογισμικό.” Είναι και οι δύο λαθεμένες, καθώς η GNU GPL πληρεί τις προϋποθέσεις μιας άδειας ανοιχτού κώδικα και οι περισσότερες από τις άδειας ανοιχτού κώδικα πληρούν τις προϋποθέσεις μιας ελεύθερης άδειας λογισμικού. Υπάρχουν πολλές άδειες ελεύθερου λογισμιού εκτός από την GNU GPL.
Ο όρος “ανοιχτός κώδικας” έχει περαιτέρω τανυστεί από την εφαρμογή του σε άλλες δραστηριότητες, όπως η κυβέρνηση, η εκπαίδευση και η επιστήμη, όπου δεν υπάρχει κάτι τέτοιο όπως ο πηγαίος κώδικας, και όπου τα κριτήρια για αδειοδότηση λογισμικού απλώς δεν είναι σχετικά. Το μόνο πράγμα που έχουν κοινό αυτές οι δραστηριότητες είναι ότι με κάποιο τρόπο προσκαλούν τους ανθρώπους να συμμετάσχουν. Έχουν τανύσει τον όρο τόσο μακριά ώστε σημαίνει μόνο “συμμετοχικός” ή “διαφανής,” ή ακόμη λιγότερο από αυτό. Στη χειρότερη περίπτωση, έχει μετατραπεί σε μια κενή λέξη του συρμού.
Διαφορετικές αξίες μπορούν να οδηγήσουν σε παρόμοια συμπεράσματα—αλλά όχι πάντα
Οι ριζοσπαστικές ομάδες στη δεκαετία του 60 είχαν μία φήμη για φατριασμό[1] : κάποιοι οργανισμοί χωρίστηκαν επειδή υπήρχαν διαφωνίες πάνω σε λεπτομέρειες για τη στρατηγική, και οι δύο θυγατρικές ομάδες αντιμετώπισαν η μία την άλλη σαν εχθρούς, παρόλο που είχαν παρόμοιους βασικούς στόχους και αξίες. Η δεξιά το εκμεταλλεύτηκε αυτό σε μεγάλο βαθμό, και το χρησιμοποίησε για να κριτικάρει ολόκληρη την αριστερά.
Ορισμένοι προσπαθούν να δυσφημίσουν το κίνημα του ελεύθερου λογισμικού συγκρίνοντας τη διαφωνία μας με τον ανοιχτό κώδικα με τις διαφωνίες εκείνων των ριζοσπαστικών ομάδων. Το κατάλαβαν λάθος. Διαφωνούμε με την ομάδα του ανοιχτού κώδικα στους βασικούς σκοπούς και αξίες, αλλά οι απόψεις τους και οι δικές μας οδηγούν σε πολλές περιπτώσεις στην ίδια πρακτική συμπεριφορά—όπως στο να αναπτύσσουμε ελεύθερο λογισμικό.
Ως αποτέλεσμα, ο κόσμος από το κίνημα του ελεύθερου λογισμικού και της ομάδας του ανοιχτού κώδικα δουλεύουν μαζί συχνά σε πρακτικά έργα όπως η ανάπτυξη λογισμικού. Είναι αξιοσημείωτο ότι τόσο διαφορετικές φιλοσοφικές απόψεις μπορούν τόσο συχνά να δίνουν κίνητρο σε διαφορετικούς ανθρώπους να συμμετέχουν στα ίδια έργα. Παρόλα αυτά, υπάρχουν καταστάσεις όπου αυτές οι θεμελιωδώς διαφορετικές απόψεις οδηγούν σε πολύ διαφορετικές ενέργειες.
Η ιδέα του ανοιχτού κώδικα είναι ότι επιτρέποντας στους χρήστες να αλλάζουν και να αναδιανέμουν το λογισμικό θα το κάνει πιο ισχυρό και αξιόπιστο. Αλλά αυτό δεν είναι εγγυημένο. Αυτοί που αναπτύσσουν ιδιόκτητο λογισμικό δεν είναι απαραίτητα ανίκανοι. Μερικές φορές παράγουν ένα πρόγραμμα το οποίο είναι ισχυρό και αξιόπιστο, παρόλο που δεν σέβεται την ελευθερία των χρηστών. Οι ακτιβιστές του ελεύθερου λογισμικού και οι θιασώτες του ανοιχτού κώδικα θα αντιδράσουν πολύ διαφορετικά σε αυτό.
Ένας αγνός οπαδός του ανοιχτού κώδικα, κάποιος που δεν είναι διόλου επηρεασμένος από τα ιδανικά του ελεύθερου λογισμικού, θα πει, “εκπλήσσομαι που μπορέσατε να κάνετε το πρόγραμμα να δουλέψει τόσο καλά χωρίς να χρησιμοποιήσετε το δικό μας αναπτυξιακό μοντέλο, αλλά τα καταφέρατε. Πώς μπορώ να έχω ένα αντίγραφο;” Αυτή η συμπεριφορά θα ανταμείψει σχέδια τα οποία αφαιρούν την ελευθερία μας, οδηγώντας στον χαμό της.
Ο ακτιβιστής του ελεύθερου λογισμικού θα πει, “Το πρόγραμμα σας είναι πολύ ελκυστικό, αλλά εκτιμώ την ελευθερία μου περισσότερο. Οπότε απορρίπτω το πρόγραμμά σας. Θα κάνω τη δουλειά μου με άλλο τρόπο, και θα υποστηρίξω ένα έργο για να αναπτύξει μια ελεύθερη αντικατάσταση.” Αν εκτιμούμε την ελευθερία μας, μπορούμε να δράσουμε για να την διατηρήσουμε και να την υπερασπιστούμε.
Το ισχυρό, αξιόπιστο λογισμικό μπορεί να είναι κακό
Η ιδέα ότι θέλουμε το λογισμικό να είναι ισχυρό και αξιόπιστο προέρχεται από την υπόθεση ότι το λογισμικό είναι σχεδιασμένο για να υπηρετεί τους χρήστες του. Αν είναι ισχυρό και αξιόπιστο, αυτό σημαίνει ότι τους υπηρετεί καλύτερα.
Αλλά το λογισμικό μπορεί να λεχθεί ότι υπηρετεί τους χρήστες του μόνο αν σέβεται την ελευθερία τους. Τι γίνεται αν το λογισμικό έχει σχεδιαστεί για να βάζει αλυσίδες στους χρήστες του; Τότε η ισχύς σημαίνει ότι οι αλυσίδες είναι πιο συσταλτικές, και η αξιοπιστία ότι είναι πιο δύσκολο να αφαιρεθούν. Κακόβουλα χαρακτηριστικά, όπως η κατασκόπευση των χρηστών, ο περιορισμός των χρηστών, οι κερκόπορτες, και οι επιβαλλόμενες αναβαθμίσεις είναι συνήθη στο ιδιόκτητο λογισμικό, και κάποιοι υποστηρικτές του ανοιχτού κώδικα θέλουν να τα υλοποιήσουν σε προγράμματα ανοιχτού κώδικα.
Κάτω από την πίεση των εταιριών ταινιών και ηχογραφήσεων, το λογισμικό για χρήση από άτομα σχεδιάζεται ολοένα και περισσότερο για να τα περιορίζει. Αυτή το κακόβουλο χαρακτηριστικό είναι γνωστό σαν DRM , ή Διαχείριση Ψηφιακών Περιορισμών (δείτε DefectiveByDesign.org), και είναι η αντίθεση στο πνεύμα της ελευθερίας που το ελεύθερο λογισμικό στοχεύει να παρέχει. Και όχι μόνο στο πνεύμα: από τη στιγμή που ο σκοπός του DRM είναι να ποδοπατήσει την ελευθερία σας, οι προγραμματιστές DRM προσπαθούν να το κάνουν δύσκολο, αδύνατο ή ακόμα και παράνομο το να αλλάξετε το λογισμικό που υλοποιεί το DRM.
Όμως κάποιοι υποστηρικτές του ανοιχτού κώδικα έχουν προτείνει “ανοιχτού κώδικα DRM” λογισμικό. Η ιδέα τους είναι πως, δημοσιοποιώντας τον πηγαίο κώδικα των προγραμμάτων που έχουν σχεδιαστεί να περιορίζουν την πρόσβασή σας σε κρυπτογραφημένα μέσα και επιτρέποντας σε άλλους να το αλλάξουν, θα παράγουν πιο ισχυρό και αξιόπιστο λογισμικό για να περιορίζουν χρήστες σαν κι εσάς. Το λογισμικό στη συνέχεια θα παραδίδονταν σε εσάς σε συσκευές που δεν σας επιτρέπουν να το αλλάξετε.
Αυτό το λογισμικό μπορεί να είναι ανοιχτού κώδικα και να χρησιμοποιεί το μοντέλο ανάπτυξης του ανοιχτού κώδικα, αλλά δεν θα είναι ελεύθερο λογισμικό αφού δεν θα σέβεται την ελευθερία των χρηστών που πράγματι το εκτελούν. Αν το μοντέλο ανάπτυξης ανοιχτού κώδικα πετυχαίνει στο να κάνει αυτό το λογισμικό πιο ισχυρό και αξιόπιστο για να σας περιορίζει, τότε θα το κάνει ακόμη χειρότερο.
Ο φόβος της ελευθερίας
Το κύριο αρχικό κίνητρο εκείνων που διαχώρισαν το στρατόπεδο του ανοιχτού κώδικα από το κίνημα του ελεύθερου λογισμικού ήταν ότι οι ηθικές ιδέες του ελεύθερου λογισμικού έκαναν κάποιους ανθρώπους ανήσυχους. Αυτό είναι αλήθεια: εγείροντας ηθικά ζητήματα όπως η ελευθερία, μιλώντας για ευθύνες καθώς επίσης και για ευκολία, είναι να ζητάς από τους ανθρώπους να σκεφτούν για πράγματα τα οποία ίσως να προτιμούσαν να αγνοήσουν, όπως το αν η συμπεριφορά τους είναι ηθική. Αυτό μπορεί να προκαλέσει δυσφορία, και ορισμένοι άνθρωποι μπορεί απλά να κλείσουν το μυαλό τους απέναντι σε αυτό. Αυτό δεν σημαίνει ότι πρέπει να σταματήσουμε να μιλάμε για αυτά τα ζητήματα.
Αυτό είναι, ωστόσο, που οι ηγέτες τους ανοιχτού κώδικα αποφάσισαν να κάνουν. Υπολόγισαν ότι μη μιλώντας για την ηθική και την ελευθερία, και μιλώντας μόνο για τα άμεσα πρακτικά πλεονεκτήματα ορισμένου ελεύθερου λογισμικού, ίσως μπορέσουν να “πουλήσουν” το λογισμικό πιο αποτελεσματικά σε ορισμένους χρήστες, ειδικά επιχειρήσεις.
Όταν οι υποστηρικτές του ανοιχτού κώδικα μιλούν για οτιδήποτε βαθύτερο από αυτό, είναι συνήθως η ιδέα της κατασκευής ενός “δώρου” πηγαίου κώδικα στην ανθρωπότητα. Παρουσιάζοντάς το αυτό ως μια ιδιαίτερη καλή πράξη, πέρα από αυτό που είναι ηθικά απαιτούμενο, προϋποθέτει ότι η διανομή ιδιόκτητου λογισμικού χωρίς πηγαίο κώδικα είναι ηθικά νόμιμη.
Αυτή η προσέγγιση έχει αποδειχτεί αποτελεσματική, με τους δικούς της όρους. Η ρητορική του ανοιχτού κώδικα έχει πείσει αρκετές επιχειρήσεις και άτομα να χρησιμοποιούν, και ακόμα και να αναπτύσσουν, ελεύθερο λογισμικό, το οποίο έχει επεκτείνει την κοινότητά μας—αλλά μόνο σε επιφανειακό, πρακτικό επίπεδο. Η φιλοσοφία του ανοιχτού κώδικα, με τις καθαρά πρακτικές τις αξίες, παρεμποδίζει την κατανόηση των βαθύτερων ιδεών του ελεύθερου λογισμικού· φέρνει πολλούς ανθρώπους στην κοινότητά μας, αλλά δεν τους μαθαίνει να την υπερασπίζονται. Αυτό είναι καλό, όσο πάει, αλλά δεν είναι αρκετό για να κάνει την ελευθερία ασφαλή. Το να προσελκύεις χρήστες στο ελεύθερο λογισμικό τους φέρνει μόνο εν μέρει στην πορεία να γίνουν υπερασπιστές της δικής τους ελευθερίας.
Αργά ή γρήγορα αυτοί οι χρήστες θα προσκληθούν να επιστρέψουν στο ιδιόκτητο λογισμικό για μερικά πρακτικά πλεονεκτήματα. Αμέτρητες εταιρίες ψάχνουν να προσφέρουν τέτοιο πειρασμό, κάποιες προσφέρουν ακόμη και δωρεάν αντίγραφα. Γιατί να το απορρίψουν οι χρήστες; Μόνο αν έχουν μάθει να εκτιμούν την ελευθερία που το ελεύθερο λογισμικό τους δίνει, να εκτιμούν την ελευθερία από μόνη της παρά την τεχνική και πρακτική ευκολία ενός συγκεκριμένου ελεύθερου λογισμικού. Για να εξαπλώσουμε αυτή την ιδέα, πρέπει να μιλήσουμε σχετικά με την ελευθερία. Ένα συγκεκριμένο ποσό της “κράτα σιωπή” προσέγγισης στις επιχειρήσεις μπορεί να φανεί χρήσιμο για την κοινότητα, αλλά είναι επικίνδυνο αν γίνει τόσο κοινό ώστε η αγάπη της ελευθερίας να μοιάζει σαν μια εκκεντρικότητα.
Αυτή η επικίνδυνη κατάσταση είναι ακριβώς αυτό που έχουμε. Οι περισσότεροι άνθρωποι που εμπλέκονται με το ελεύθερο λογισμικό, ειδικά οι διανομείς του, λένε λίγα σχετικά με την ελευθερία—συνήθως επειδή επιδιώκουν να είναι “πιο αποδεκτοί από τις επιχειρήσεις.” Σχεδόν όλες οι διανομές λειτουργικών συστημάτων GNU/Linux προσθέτουν ιδιόκτητα πακέτα στο βασικό ελεύθερο σύστημα, και προσκαλούν τους χρήστες να το θεωρήσουν αυτό σαν ένα πλεονέκτημα παρά σαν ένα ελάττωμα.
Το ιδιόκτητο επιπρόσθετο λογισμικό και οι μερικά μη-ελεύθερες διανομές GNU/Linux βρίσκουν γόνιμο έδαφος επειδή το περισσότερο μέρος από την κοινότητά μας δεν επιμένει στην ελευθερία με το λογισμικό της. Αυτό δεν είναι σύμπτωση. Οι περισσότεροι χρήστες GNU/Linux εισήχθησαν στο σύστημα με την συζήτηση περί “ανοιχτού κώδικα”, η οποία δεν λέει ότι η ελευθερία είναι ένας στόχος. Οι πρακτικές που δεν υποστηρίζουν την ελευθερία και οι λέξεις που δεν μιλάνε για ελευθερία πάνε χέρι χέρι, κάθε μία προωθώντας την άλλη. Για να ξεπεράσουμε αυτή την τάση, χρειαζόμαστε περισσότερο, όχι λιγότερο, να μιλήσουμε για την ελευθερία.
“FLOSS[2] ” και “FOSS[3] ”
Οι όροι “FLOSS” και “FOSS” χρησιμοποιούνται για να είστε ουδέτεροι ανάμεσα στο ελεύθερο λογισμικό και τον ανοιχτό κώδικα. Αν η ουδετερότητα είναι ο στόχος σας, το “FLOSS” είναι το καλύτερο από τα δύο, μιας και είναι πραγματικά ουδέτερο. Αλλά αν θέλετε να υπερασπιστείτε την ελευθερία, η χρήση ενός ουδέτερου όρου δεν είναι ο τρόπος. Η υπεράσπιση της ελευθερίας συνεπάγεται να δείχνετε στον κόσμο την υποστήριξή σας για την ελευθερία.
Αντίπαλοι για μερίδιο επίγνωσης[4]
“Ελεύθερος” και “ανοιχτός” είναι αντίπαλοι για μερίδιο επίγνωσης. Το ελεύθερο λογισμικό και ο ανοιχτός κώδικας είναι διαφορετικές ιδέες αλλά, στον τρόπο με τον οποίο ο περισσότερος κόσμος κοιτάζει το λογισμικό, ανταγωνίζονται για την ίδια εννοιολογική υποδοχή. Όταν οι άνθρωποι συνηθίζουν να λένε και να σκέφτονται “ανοιχτός κώδικας,” αυτό είναι ένα εμπόδιο στο να αδράξουν τη φιλοσοφία του κινήματος ελεύθερου λογισμικού και να σκεφτούν σχετικά με αυτήν. Αν έχουν ήδη καταλήξει να συσχετίζουν εμάς και το λογισμικό μας με τη λέξη “ανοιχτός,” μπορεί να χρειαστεί να τους ταρακουνήσουμε διανοητικά πριν να αναγνωρίσουν ότι αντιπροσωπεύουμε κάτι άλλο. Οποιαδήποτε δραστηριότητα που προωθεί τη λέξη “ανοιχτός” τείνει να επεκτείνει την κουρτίνα που κρύβει τις ιδέες του κινήματος ελεύθερου λογισμικού.
Επομένως, μια καλή συμβουλή για τους ακτιβιστές του ελεύθερου λογισμικού είναι να αρνούνται να εργαστούν σε μια δραστηριότητα που αυτοαποκαλείται “ανοιχτή.” Ακόμη και αν η δραστηριότητα είναι καλή από μόνη της, κάθε συνεισφορά που κάνετε κάνει λίγο κακό στο πλάι προωθώντας την ιδέα του ανοιχτού κώδικα. Υπάρχει αφθονία άλλων καλών δραστηριοτήτων που αυτοαποκαλούνται “ελεύθερες” ή “libre.” Κάθε συνεισφορά σε εκείνα τα έργα κάνει λίγο επιπλέον καλό στο πλάι. Με τόσα πολλά χρήσιμα έργα για να διαλέξετε, γιατί να μην διαλέξετε ένα που κάνει επιπλέον καλό;
Συμπέρασμα
Όπως οι υπερασπιστές του ανοιχτού κώδικα έφεραν νέους χρήστες στην κοινότητά μας, εμείς οι ακτιβιστές του ελεύθερου λογισμικού πρέπει να επωμιστούμε το καθήκον να φέρουμε το ζήτημα της ελευθερίας στην προσοχή τους. Πρέπει να πούμε, “Είναι ελεύθερο λογισμικό και σας δίνει ελευθερία!”—περισσότερο και πιο δυνατά από ποτέ. Κάθε φορά που λέτε “ελεύθερο λογισμικό” παρά “ανοιχτός κώδικας” βοηθάτε το σκοπό μας.
Σημειώσεις
- Ο Joe Barr έγραψε ένα άρθρο με τίτλο Ζήστε και αφήστε να αδειοδοτήσουν που δίνει την οπτική του πάνω σε αυτό το ζήτημα.
- Η εργασία των Lakhani και Wolf σχετικά με τα κίνητρα των προγραμματιστών ελεύθερου λογισμικού λέει πως ένα σημαντικό ποσοστό τους έχουν ως κίνητρο την άποψη πως το λογισμικό θα έπρεπε να είναι ελεύθερο. Αυτό ισχύει παρά το γεγονός ότι ερεύνησαν τους προγραμματιστές στο SourceForge, έναν ιστοχώρο που δεν υποστηρίζει την άποψη ότι αυτό είναι ένα ηθικό ζήτημα.
- Μετάφραση του πηγαίου όρου “factionalism”. Προτιμήθηκε από τον συνώνυμο στα ελληνικά όρο “φραξιονισμός”, γιατί ο αντίστοιχος πηγαίος όρος στην αγγλική γλώσσα είναι ο “fractionalism”, που δεν χρησιμοποιείται στο πρωτότυπο.
- Ακρώνυμο του όρου “Free Libre Open Source Software” (Ελεύθερο Libre Ανοιχτού Κώδικα Λογισμικό). Επειδή (βλ. και επόμενη σημείωση) η τρέχουσα τάση μετάφρασης των δύο αυτών ακρωνύμων στα ελληνικά είναι να συγχωνεύονται μαζί στον όρο “ΕΛ/ΛΑΚ” (Ελεύθερο Λογισμικό/Λογισμικό Ανοιχτού Κώδικα), προτιμήθηκε να παραμείνουν αμετάφραστα τα ακρώνυμα για την καλύτερη απόδοση του νοήματος του πηγαίου κειμένου.
- Aκρώνυμο του όρου “Free Open Source Software” (Ελεύθερο Ανοιχτού Κώδικα Λογισμικό).
- Μετάφραση του πηγαίου όρου “mindshare” ως “μερίδιο επίγνωσης”.