Το ελεύθερο λογισμικό είναι σήμερα ακόμη πιο σημαντικό

από τον Richard Stallman

Μία σημαντικά επεξεργασμένη έκδοση αυτού του άρθρου δημοσιεύτηκε στο Wired.

Προτεινόμενοι τρόποι για να βοηθήσετε το κίνημα ελεύθερου λογισμικού.

Από το 1983, το Κίνημα Ελεύθερου Λογισμικού έχει στρατευτεί υπέρ της ελευθερίας των χρηστών υπολογιστών—υπέρ του ελέγχου των χρηστών στο λογισμικό που χρησιμοποιούν, αντί για το αντίθετο. Όταν ένα πρόγραμμα σέβεται την ελευθερία και την κοινότητα των χρηστών, το αποκαλούμε “ελεύθερο λογισμικό.”

Το αποκαλούμε επίσης μερικές φορές “λογισμικό libre” για να δώσουμε έμφαση στο ότι μιλάμε σχετικά με την ελευθερία και όχι την τιμή. Μερικά ιδιόκτητα (μη-ελεύθερα) προγράμματα, όπως το Photoshop, είναι πολύ ακριβά· άλλα, όπως το Flash Player, είναι διαθέσιμα δωρεάν—αλλά αυτό είναι μια ελάσσων λεπτομέρεια. Ούτως ή άλλως, δίνουν στο δημιουργό του λογισμικού ισχύ απέναντι στους χρήστες, ισχύ που κανείς δεν θα έπρεπε να έχει.

Αυτά τα δύο μη-ελεύθερα προγράμματα έχουν επίσης κάτι άλλο κοινό: είναι και τα δύο κακόβουλο λογισμικό (malware). Δηλαδή, και τα δύο περιέχουν λειτουργικότητα σχεδιασμένη να κακομεταχειρίζεται το χρήστη. Το ιδιόκτητο λογισμικό σήμερα είναι συχνά κακόβουλο, επειδή η ισχύς των δημιουργών λογισμικού τους διαφθείρει.

Με το ελεύθερο λογισμικό, οι χρήστες έχουν τον έλεγχο του προγράμματος, τόσο ατομικά όσο και συλλογικά. Έτσι, έχουν τον έλεγχο στο τι κάνουν οι υπολογιστές τους (υποθέτοντας ότι εκείνοι οι υπολογιστές είναι πιστοί και κάνουν ό,τι τους λένε να κάνουν τα προγράμματα των χρηστών).

Με το ιδιόκτητο λογισμικό, το πρόγραμμα ελέγχει τους χρήστες και κάποια άλλη οντότητα (ο δημιουργός ή “ιδιοκτήτης”) ελέγχει το πρόγραμμα. Έτσι, το ιδιόκτητο πρόγραμμα δίνει στο δημιουργό του ισχύ έναντι των χρηστών. Αυτό είναι άδικο από μόνο του και προτρέπει το δημιουργό να κακομεταχειριστεί τους χρήστες και με άλλους τρόπους.

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

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

(0) Την ελευθερία να εκτελείτε το πρόγραμμα όπως επιθυμείτε, για οποιονδήποτε σκοπό.

(1) Την ελευθερία να μελετάτε “τον πηγαίο κώδικα” του προγράμματος και να τον αλλάζετε, ώστε το πρόγραμμα να εκτελεί τους υπολογισμούς σας όπως εσείς επιθυμείτε. Τα προγράμματα γράφονται από τους προγραμματιστές σε μία γλώσσα προγραμματισμού —όπως τα αγγλικά συνδυασμένα με άλγεβρα—κι αυτή η μορφή του προγράμματος είναι ο “πηγαίος κώδικας”. Οποιοσδήποτε γνωρίζει προγραμματισμό κι έχει το πρόγραμμα σε μορφή πηγαίου κώδικα μπορεί να διαβάσει τον πηγαίο κώδικα, να καταλάβει τη λειτουργία του και να τον αλλάξει επίσης. Όταν το μόνο που παίρνετε είναι η εκτελέσιμη μορφή, μια σειρά αριθμών που είναι αποδοτικοί για να τους εκτελεί ο υπολογιστής, αλλά εξαιρετικά δύσκολο για έναν άνθρωπο να τους κατανοήσει, η κατανόηση και η αλλαγή του προγράμματος σε εκείνη τη μορφή είναι απαγορευτικά δύσκολη.

(2) Την ελευθερία να δημιουργείτε και να διανέμετε ακριβή αντίγραφα όποτε το επιθυμείτε. (Αυτό δεν είναι υποχρέωση· το να το κάνετε είναι δική σας επιλογή. Αν το πρόγραμμα είναι ελεύθερο, αυτό δε σημαίνει ότι κάποιος έχει την υποχρέωση να σας προσφέρει ένα αντίγραφο, ή ότι εσείς έχετε την υποχρέωση να του προσφέρετε ένα αντίγραφο. Η διανομή ενός προγράμματος στους χρήστες χωρίς ελευθερία τους κακομεταχειρίζεται· ωστόσο η επιλογή να μην διανείμετε το πρόγραμμα—να το χρησιμοποιήσετε ιδιωτικά—δεν κακομεταχειρίζεται κανέναν.)

(3) Την ελευθερία να δημιουργείτε και να διανέμετε αντίγραφα των τροποποιημένων από εσάς εκδόσεων, όταν το επιθυμείτε.

Οι πρώτες δύο ελευθερίες σημαίνουν ότι κάθε χρήστης μπορεί να εξασκήσει ατομικά έλεγχο επάνω στο πρόγραμμα. Με τις άλλες δύο ελευθερίες, οποιαδήποτε ομάδα χρηστών μπορεί μαζί να εξασκήσει συλλογικό έλεγχο επάνω στο πρόγραμμα. Με τις τέσσερις ελευθερίες μαζί, οι χρήστες ελέγχουν πλήρως το πρόγραμμα. Αν οποιαδήποτε από αυτές λείπει ή είναι ελλιπής, το πρόγραμμα είναι ιδιόκτητο (μη-ελεύθερο) και άδικο.

Άλλα είδη έργων χρησιμοποιούνται επίσης για πρακτικές δραστηριότητες, συμπεριλαμβάνοντας συνταγές για μαγειρική, εκπαιδευτικά έργα όπως διδακτικά βιβλία, έργα αναφοράς όπως λεξικά και εγκυκλοπαίδειες, γραμματοσειρές για την προβολή παραγράφων κειμένου, διαγράμματα κυκλωμάτων για υλισμικό προς κατασκευή και μοτίβα για την κατασκευή χρήσιμων (και όχι απλά διακοσμητικών) αντικειμένων μ' έναν 3D εκτυπωτή. Μια και αυτά δεν είναι λογισμικό, το κίνημα ελεύθερου λογισμικού δεν τα καλύπτει μιλώντας με την αυστηρή έννοια· αλλά ο ίδιος τρόπος συλλογισμού ισχύει και οδηγεί στο ίδιο συμπέρασμα: αυτά τα έργα πρέπει να διαθέτουν τις τέσσερις ελευθερίες.

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

Η αδικία της ιδιοκτησίας

Αν οι χρήστες δεν ελέγχουν το πρόγραμμα, το πρόγραμμα ελέγχει τους χρήστες. Με το ιδιόκτητο λογισμικό, υπάρχει πάντα κάποια οντότητα, ο δημιουργός ή “ιδιοκτήτης” του προγράμματος, που ελέγχει το πρόγραμμα—και μέσω αυτού αποκτά ισχύ επάνω στους χρήστες. Ένα μη-ελεύθερο πρόγραμμα είναι ένας ζυγός, ένα εργαλείο άδικης ισχύος.

Σε αισχρές περιπτώσεις (αν και αυτή η αισχρότητα έχει πλέον γίνει αρκετά συνηθισμένη) τα ιδιόκτητα προγράμματα είναι σχεδιασμένα να κατασκοπεύουν τους χρήστες, να τους περιορίζουν, να τους λογοκρίνουν και να τους κατομεταχειρίζονται. Για παράδειγμα, το λειτουργικό σύστημα της Apple iThings κάνει όλα τα παραπάνω, και το ίδιο κάνει και το Windows σε κινητές συσκευές με επεξεργαστές ARM. Το Windows, το firmware των κινητών τηλεφώνων και το Google Chrome για Windows περιλαμβάνουν μια καθολική πίσω πόρτα (backdoor) η οποία επιτρέπει σε κάποια εταιρεία να αλλάξει το πρόγραμμα από απόσταση χωρίς να ζητήσει άδεια από το χρήστη. Το Amazon Kindle έχει μια πίσω πόρτα που μπορεί να σβήσει βιβλία.

Η χρήση μη-ελεύθερου λογισμικού στο “διαδίκτυο των πραγμάτων” θα το μετέτρεπε στο “διαδίκτυο των τηλεπωλητών” καθώς επίσης στο “διαδίκτυο των αδιάκριτων”.

Με στόχο τον τερματισμό της αδικίας του μη-ελεύθερου λογισμικού, το κίνημα ελεύθερου λογισμικού αναπτύσσει ελεύθερα προγράμματα ώστε οι χρήστες να ελευθερωθούν μόνοι τους. Αρχίσαμε το 1984 με την ανάπτυξη του ελεύθερου λειτουργικού συστήματος GNU. Σήμερα, εκατομμύρια υπολογιστών τρέχουν το GNU, κυρίως με το συνδυασμό GNU/Linux.

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

Μη ελεύθερο λογισμικό και υπηρεσία ως υποκατάστατο λογισμικού (SaaSS)

Το μη-ελεύθερο λογισμικό ήταν ο πρώτος τρόπος ώστε οι εταιρείες να πάρουν τον έλεγχο της πληροφορικής του λαού. Σήμερα, υπάρχει ένας ακόμη τρόπος, καλούμενος Υπηρεσία ως Υποκατάστατο Λογισμικού (SaaSS). Αυτό σημαίνει να αφήνετε το διακομιστή ενός άλλου να κάνει τις δικές σας υπολογιστικές εργασίες.

Το SaaSS δε σημαίνει ότι τα προγράμματα στο διακομιστή είναι μη-ελεύθερα (παρόλο που συχνά είναι). Αντίθετα, η χρήση του SaaSS προκαλεί τις ίδιες αδικίες με τη χρήση ενός μη-ελεύθερου προγράμματος· είναι δύο μονοπάτια προς το ίδιο κακό μέρος. Πάρτε το παράδειγμα μιας SaaSS υπηρεσίας μετάφρασης: Ο χρήστης στέλνει το κείμενο στο διακομιστή, και ο διακομιστής το μεταφράζει (για παράδειγμα από Αγγλικά σε Ισπανικά) και στέλνει τη μετάφραση πίσω στο χρήστη. Τώρα η δουλειά της μετάφρασης είναι υπό τον έλεγχο του χειριστή του διακομιστή αντί του χρήστη.

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

Πρωτεύουσες και δευτερεύουσες αδικίες

Όταν χρησιμοποιείτε ιδιόκτητα προγράμματα ή SaaSS, πρώτα απ' όλα προξενείτε κακό στους εαυτούς σας, επειδή αυτό δίνει σε κάποια τρίτη οντότητα άδικη ισχύ επάνω σας. Για το δικό σας καλό, θα πρέπει να αποδράσετε. Επίσης προξενεί κακό σε άλλους, αν δώσετε μια υπόσχεση να μην μοιραστείτε. Είναι κακό να κρατάτε μια τέτοια υπόσχεση, και μικρότερο κακό να την αθετήσετε· για να είστε πλήρως σωστοί, δεν πρέπει να κάνετε αυτή την υπόσχεση καθόλου.

Υπάρχουν περιπτώσεις όπου η χρήση μη-ελεύθερου λογισμικού δημιουργεί απευθείας πίεση σε άλλους να κάνουν το ίδιο. Το Skype είναι ένα ξεκάθαρο παράδειγμα: όταν ένα πρόσωπο χρησιμοποιεί το μη-ελεύθερο λογισμικό πελάτη Skype, απαιτεί από ένα άλλο πρόσωπο να χρησιμοποιήσει το λογισμικό αυτό επίσης—έτσι και οι δύο παραδίδουν την ελευθερία τους. (Το Google Hangouts έχει το ίδιο πρόβλημα.) Είναι λάθος ακόμη και να προτείνεται η χρήση τέτοιων προγραμμάτων. Θα πρέπει να αρνούμαστε να τα χρησιμοποιούμε ακόμη και για σύντομα χρονικά διαστήματα, ακόμη και στον υπολογιστή κάποιου άλλου.

Ένα άλλο κακό της χρήσης μη-ελεύθερων προγραμμάτων και του SaaSS είναι ότι ανταμείβει τον αυτουργό, ενθαρρύνοντας την περαιτέρω ανάπτυξη εκείνου του προγράμματος ή “υπηρεσίας”, γεγονός που οδηγεί ακόμη περισσότερους ανθρώπους να πέσουν στα χέρια της εταιρείας.

Όλες οι μορφές έμμεσου κακού μεγεθύνονται όταν ο χρήστης είναι μια δημόσια υπηρεσία ή ένα σχολείο.

Ελεύθερο λογισμικό και κυβέρνηση

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

Για να διατηρούν τον έλεγχο της πληροφορικής του λαού, οι δημόσιες υπηρεσίες δεν πρέπει να την πραγματοποιούν με ιδιόκτητο λογισμικό (λογισμικό κάτω από τον έλεγχο μιας οντότητας διαφορετικής από την πολιτεία). Και δεν πρέπει να την εμπιστεύονται σε μια υπηρεσία προγραμματισμένη και εκτελούμενη από μια οντότητα διαφορετική από την πολιτεία, καθώς αυτό θα αποτελούσε SaaSS.

Το ιδιόκτητο λογισμικό δε διαθέτει καμία απολύτως ασφάλεια σε μία καίρια περίπτωση — απέναντι στο δημιουργό του. Και ο δημιουργός μπορεί να βοηθήσει άλλους να επιτεθούν. Η Microsoft δείχνει σφάλματα του Windows στην NSA (την υπηρεσία ψηφιακής κατασκοπείας της κυβέρνησης των ΗΠΑ) πριν από τη διόρθωσή τους. Δεν γνωρίζουμε εάν η Apple κάνει το ίδιο, αλλά βρίσκεται κάτω από την ίδια κυβερνητική πίεση όπως η Microsoft. Εάν η κυβέρνηση οποιασδήποτε άλλης χώρας χρησιμοποιεί τέτοιο λογισμικό, αυτό θέτει σε κίνδυνο την εθνική ασφάλεια. Θέλετε η NSA να μπαίνει μέσα στους υπολογιστές της κυβέρνησής σας; Δείτε τις από εμάς συνιστώμενες πολιτικές προς κυβερνήσεις για την προώθηση του ελεύθερου λογισμικού.

Ελεύθερο λογισμικό και εκπαίδευση

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

Θα διδάξουν επίσης στους μαθητές τη συνήθεια της συνεργασίας, της βοήθειας προς άλλους ανθρώπους. Κάθε τάξη θα έπρεπε να έχει αυτό τον κανόνα: “Μαθητές, αυτή η τάξη είναι ένα μέρος όπου μοιραζόμαστε τη γνώση μας. Αν φέρετε λογισμικό στην τάξη, δεν μπορείτε να το κρατήσετε μόνο για τον εαυτό σας. Αντιθέτως, πρέπει να μοιραστείτε αντίγραφα με την υπόλοιπη τάξη—συμπεριλαμβανομένου του πηγαίου κώδικα του προγράμματος, στην περίπτωση που κάποιος άλλος θέλει να μάθει. Επομένως, δεν επιτρέπεται να φέρνετε ιδιόκτητο λογισμικό στην τάξη παρά μόνο για να το αποσυμπιλήσετε.”

Οι δημιουργοί ιδιόκτητου λογισμικού θα μας έβαζαν να τιμωρήσουμε τους μαθητές που είναι αρκετά καλοί στην καρδιά ώστε να μοιράζονται λογισμικό και να παρεμποδίσουμε εκείνους που είναι αρκετά περίεργοι ώστε να θέλουν να το αλλάξουν. Αυτό σημαίνει μια κακή εκπαίδευση. Δείτε το http://www.gnu.org/education/ για περισσότερη συζήτηση σχετικά με τη χρήση ελεύθερου λογισμικού στα σχολεία.

Ελεύθερο λογισμικό: περισσότερο από “πλεονεκτήματα”

Μου ζητείται συχνά να περιγράψω τα “πλεονεκτήματα” του ελεύθερου λογισμικού. Αλλά η λέξη “πλεονεκτήματα” είναι πολύ αδύναμη όταν αφορά την ελευθερία. Η ζωή χωρίς ελευθερία είναι καταπίεση, κι αυτό έχει εφαρμογή και στην πληροφορική, όπως και σε κάθε άλλη δραστηριότητα στις ζωές μας. Πρέπει να αρνηθούμε να δώσουμε στους δημιουργούς των προγραμμάτων ή των υπηρεσιών πληροφορικής τον έλεγχο επάνω στην πληροφορική μας. Αυτό είναι το σωστό πράγμα να κάνουμε, για ιδιοτελείς λόγους· αλλά όχι μόνο για ιδιοτελείς λόγους.

Η ελευθερία περιλαμβάνει την ελευθερία του συνεργάζεσθαι με άλλους. Η άρνηση στους ανθρώπους αυτής της ελευθερίας σημαίνει να τους κρατάς διαιρεμένους, το οποίο είναι η αρχή ενός σχήματος για την καταπίεσή τους. Στην κοινότητα ελεύθερου λογισμικού είμαστε ιδιαίτερα ενήμεροι για τη σημασία της ελευθερίας του συνεργάζεσθαι, επειδή η δουλειά μας αποτελείται από οργανωμένη συνεργασία. Αν ένας φίλος/η έρθει να σας επισκεφτεί και σας δει να χρησιμοποιείτε ένα πρόγραμμα, μπορεί να ζητήσει ένα αντίγραφο. Ένα πρόγραμμα που σας σταματά από το να το αναδιανέμετε, ή λέει ότι “δεν πρέπει να το κάνετε”, είναι αντικοινωνικό.

Η συνεργασία στην πληροφορική περιλαμβάνει την αναδιανομή ακριβών αντιγράφων ενός προγράμματος σε άλλους χρήστες. Περιλαμβάνει επίσης τη διανομή των τροποποιημένων από εσάς εκδόσεων σε εκείνους. Το ελεύθερο λογισμικό ενθαρρύνει αυτές της μορφές συνεργασίας, ενώ το ιδιόκτητο λογισμικό τις απαγορεύει. Απαγορεύει την αναδιανομή αντιγράφων και με το να αρνείται στους χρήστες τον πηγαίο κώδικα, τους αποκλείει από το να κάνουν αλλαγές. Το SaaSS έχει τα ίδια αποτελέσματα: αν η πληροφορική σας γίνεται μέσω του ιστού στο διακομιστή κάποιο άλλου, από το αντίγραφο ενός άλλου του προγράμματος, δεν μπορείτε να αγγίξετε το λογισμικό που πραγματοποιεί την πληροφορική σας, οπότε δεν μπορείτε να το αναδιανείμετε ή να το αλλάξετε.

Επίλογος

Αξίζουμε να έχουμε τον έλεγχο της δικής μας πληροφορικής· πώς μπορούμε να κερδίσουμε αυτό τον έλεγχο; Με το να απορρίπτουμε το μη-ελεύθερο λογισμικό στους υπολογιστές που κατέχουμε ή χρησιμοποιούμε τακτικά και με το να απορρίπτουμε το SaaSS. Με το να αναπτύσσουμε ελεύθερο λογισμικό (για εκείνους από εμάς που είμαστε προγραμματιστές.) Με το να αρνούμαστε να αναπτύξουμε ή να προωθήσουμε μη-ελεύθερο λογισμικό ή SaaSS. Με το να διαδίδουμε αυτές τις ιδέες σε άλλους.

Εμείς και χιλιάδες χρηστών το έχουμε κάνει αυτό από το 1984, και με αυτό τον τρόπο έχουμε σήμερα το ελεύθερο GNU/Linux λειτουργικό σύστημα που οποιοσδήποτε—προγραμματιστής ή όχι— μπορεί να χρησιμοποιήσει. Συμμετάσχετε στο σκοπό μας, ως προγραμματιστής/ρια ή ως ακτιβιστής/ρια. Ας κάνουμε όλους τους χρήστες υπολογιστών ελεύθερους.