Πραγματιστικός ιδεαλισμός

Ένα ιδιαίτερα ενδιαφέρον κείμενο του Ρίτσαρντ Στάλμαν σχετικά με την ιδεαλιστική πλευρά του ελεύθερου λογισμικού. Ως βάση για τη μετάφραση πάρθηκε μια απόδοση του αρχικού κειμένου που δημοσιεύτηκε στο φόρουμ της Ένωσης Ελλήνων Χρηστών και Φίλων Ελεύθερου Λογισμικού και Λογισμικού Ανοιχτού Κώδικα.

—–

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

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

Αυτός είναι και ο βασικός λόγος για τον οποίο η Γενική Άδεια Δημόσιας Χρήσης (GPL) GNU γράφτηκε έτσι – ως copyleft. Όλος ο κώδικας που προστίθεται σε ένα πρόγραμμα το οποίο καλύπτεται από άδεια GPL πρέπει κι αυτός να είναι ελεύθερο λογισμικό, ακόμη και αν είναι τοποθετημένος σε ξεχωριστό αρχείο. Καθιστώ τον κώδικά μου διαθέσιμο προς χρήση ως ελεύθερο λογισμικό και όχι ως ιδιόκτητο λογισμικό, με σκοπό να ενθαρρύνω κι άλλους ανθρώπους που φτιάχνουν προγράμματα να κάνουν το ίδιο. Συμπεραίνω ότι αφού οι προγραμματιστές του ιδιόκτητου λογισμικού χρησιμοποιούν το copyright για να μας εμποδίσουν να μοιραζόμαστε, εμείς οι συνεργαζόμενοι μπορούμε να χρησιμοποιούμε το copyright για να δίνουμε ένα πλεονέκτημα σε άλλους συνεργαζόμενους: να μπορούν να χρησιμοποιήσουν τον δικό μας κώδικα.

Δεν έχουν βέβαια αυτόν το σκοπό όλοι όσοι χρησιμοποιούν την άδεια GNU GPL. Πριν από πολλά χρόνια, ζήτησαν από έναν φίλο μου να επανακυκλοφορήσει ένα πρόγραμμα που βρισκόταν υπό copyleft κάτω από μη copyleft όρους και εκείνος απάντησε λίγο πολύ ως εξής: «Κάποιες φορές εργάζομαι πάνω σε ελεύθερο λογισμικό, ενώ άλλες φορές σε ιδιόκτητο λογισμικό – όταν όμως δουλεύω πάνω σε ιδιόκτητο λογισμικό, αναμένω πως θα πληρωθώ».

Ήταν πρόθυμος να μοιραστεί τη δουλειά του με μια κοινότητα που μοιράζεται λογισμικό, δεν έβλεπε όμως κανέναν λόγο να βοηθήσει μια επιχείρηση να φτιάξει προϊόντα που θα ήταν μη προσβάσιμα από την κοινότητά μας. Ο σκοπός του ήταν διαφορετικός από τον δικό μου, αποφάσισε ωστόσο ότι η GNU GPL του ήταν χρήσιμη και για αυτό τον σκοπό.

Αν θέλετε να πετύχετε κάτι σ’ αυτό τον κόσμο, ο ιδεαλισμός δεν αρκεί – πρέπει να επιλέξετε μια μέθοδο που να μπορεί να πετύχει τον στόχο. Με άλλα λόγια, πρέπει να είστε «πραγματιστές». Είναι πραγματιστική η GPL; Ας εξετάσουμε τα αποτελέσματά της.

Ας δούμε το GNU C++. Γιατί έχουμε έναν ελεύθερο μεταγλωττιστή C++; Μόνο και μόνο γιατί η GNU GPL είπε πως έπρεπε να είναι ελεύθερος. Η GNU C++ δημιουργήθηκε από μια κοινοπραξία βιομηχανιών, την MCC, αρχίζοντας με τον μεταγλωττιστή GNU. Η εταιρεία MCC συνήθως κάνει τα έργα της όσο το δυνατόν πιο ιδιόκτητο. Ωστόσο, το C++ front end βγήκε ως ελεύθερο λογισμικό, γιατί η GNU GPL λέει πως αυτός ήταν ο μόνος τρόπος με τον οποίο θα μπορούσαν να το κυκλοφορήσουν. Το C++ front end περιελάμβανε πολλά νέα αρχεία αλλά επειδή προοριζόταν να συνδεθούν με τον GCC, η GPL εφαρμόσθηκε και σε αυτά. Το πλεονέκτημα για την κοινότητά μας είναι προφανές.

Ας δούμε τη GNU Objective C. Η NeXT αρχικά θέλησε να κάνει αυτό το front end ιδιόκτητο. Πρότειναν να την κυκλοφορήσουν σε μορφή αρχείων .o και στη συνέχεια οι χρήστες να τη συνδέσουν με τον υπόλοιπο GCC, νομίζοντας πως αυτό θα μπορούσε να είναι ένας τρόπος παράκαμψης των απαιτήσεων της GPL. Ο δικηγόρος μας, όμως, είπε πως αυτό δεν θα ξέφευγε από τις απαιτήσεις και πως δεν επιτρεπόταν. Έτσι λοιπόν έκαναν το front end της Objective C ελεύθερο λογισμικό.

Αυτά τα παραδείγματα συνέβησαν πριν από πολλά χρόνια, η GNU GPL όμως συνεχίζει να μας φέρνει όλο και περισσότερο ελεύθερο λογισμικό.

Πολλές βιβλιοθήκες GNU καλύπτονται υπό την άδεια GNU Lesser General Public License, αλλά όχι όλες. Μια βιβλιοθήκη GNU που καλύπτεται με τη συνηθισμένη GNU GPL είναι η Readline, η οποία εφαρμόζει επεξεργασία σε γραμμή εντολών. Κάποτε βρήκα ένα μη ελεύθερο πρόγραμμα σχεδιασμένο να χρησιμοποιεί την Readline και είπα στον προγραμματιστή πως αυτό δεν επιτρέπονταν. Θα μπορούσε να βγάλει την επεξεργασία γραμμής εντολών εκτός προγράμματος, αλλά εκείνο που έκανε, στην πραγματικότητα, ήταν να το εκδόσει υπό άδεια GPL. Τώρα, είναι και αυτό ελεύθερο λογισμικό.

Οι προγραμματιστές που έγραψαν βελτιώσεις για τον GCC (ή τον Emacs ή το Bash ή το Linux ή για οποιοδήποτε πρόγραμμα υπό άδεια GPL) χρησιμοποιούνται συχνά από εταιρείες ή από πανεπιστήμια. Όταν ο προγραμματιστής θέλει να επιστρέψει τις βελτιώσεις του στην κοινότητα και να δει τον κώδικά του στην επόμενη έκδοση, τότε το αφεντικό του μπορεί να πει: «Για στάσου λίγο – ο κώδικάς σου ανήκει σε εμάς! Δεν θέλουμε να τον μοιραστούμε. Αποφασίσαμε να μετατρέψουμε την βελτιωμένη σας έκδοση σε προϊόν ιδιόκτητου λογισμικού».

Εδώ έρχεται προς βοήθεια η GNU GPL. Ο προγραμματιστής δείχνει στο αφεντικό ότι αυτό το προϊόν ιδιόκτητου λογισμικού θα συνιστούσε παραβίαση του copyright και το αφεντικό του συνειδητοποιεί πως έχει μόνο δύο επιλογές: ή να εκδόσει τον νέο κώδικα ως ελεύθερο λογισμικό ή να μην τον κυκλοφορήσει καθόλου. Σχεδόν πάντοτε επιτρέπει στον προγραμματιστή να κάνει αυτό που σκόπευε από την αρχή και ο κώδικας ενσωματώνεται στην επόμενη έκδοση.

Η άδεια GNU GPL δεν είναι «το καλό παιδί». Λέει όχι σε κάποια πράγματα που ενίοτε θέλουν να κάνουν οι άνθρωποι. Υπάρχουν χρήστες που λένε ότι αυτό είναι κακό πράγμα – ότι η GPL «αποκλείει» κάποιους προγραμματιστές ιδιόκτητου λογισμικού που «πρέπει να έρθουν στην κοινότητα ελεύθερου λογισμικού». Ωστόσο, δεν τους αποκλείουμε από την κοινότητά μας. Εκείνοι επιλέγουν να μην εισέλθουν. Η απόφασή τους να κάνουν ιδιόκτητο λογισμικό είναι μια απόφαση που τους αφήνει έξω από την κοινότητά μας. Το να είναι κάποιος μέσα στην κοινότητά μας σημαίνει να ενώνεται συνεργατικά μαζί μας. Εμείς δεν μπορούμε να τους «φέρουμε στην κοινότητά μας» αν εκείνοι δεν θέλουν να έρθουν.

Εκείνο που μπορούμε να κάνουμε είναι να τους προσφέρουμε ένα κίνητρο για να έρθουν. Η GNU GPL σχεδιάσθηκε για να να παρέχει ένα τέτοιο κίνητρο από το υπάρχον λογισμικό μας: «Αν κάνετε το λογισμικό σας ελεύθερο, τότε μπορείτε να χρησιμοποιήσετε αυτό τον κώδικα». Φυσικά, αυτό δεν θα τους πάρει όλους με το μέρος μας, αλλά, μερικές φορές κερδίζει κάποιους.

Η ανάπτυξη ιδιόκτητου λογισμικού δεν συνεισφέρει τίποτε στην κοινότητά μας, αν και οι προγραμματιστές του συχνά θέλουν παροχές από εμάς. Οι χρήστες ελεύθερου λογισμικού προσφέρουν στους προγραμματιστές ελεύθερου λογισμικού ισχυρά κίνητρα για το εγώ τους –αναγνώριση και ευγνωμοσύνη– ωστόσο είναι μεγάλος πειρασμός όταν μια επιχείρηση σου λέει: «Άσε μας απλά να βάλουμε το πακέτο σου στο δικό μας ιδιόκτητο πρόγραμμα και το λογισμικό σου θα χρησιμοποιηθεί από πολλές χιλιάδες ανθρώπους!». Ο πειρασμός μπορεί να είναι μεγάλος, αλλά αν του αντισταθούμε μακροπρόθεσμα θα είμαστε σε καλύτερη θέση.

Ο πειρασμός και η πίεση αναγνωρίζονται πιο δύσκολα όταν έρχονται έμμεσα, μέσα από οργανώσεις ελεύθερου λογισμικού που υιοθέτησαν την τακτική να φροντίζουν και το ιδιόκτητο λογισμικό. Το X Consortium (και ο διάδοχός του, το Open Group) προσφέρει ένα παράδειγμα: με χρηματοδότηση από εταιρείες που φτιάχνουν ιδιόκτητο λογισμικό, αγωνίστηκαν επί χρόνια να πείσουν τους προγραμματιστές να μη χρησιμοποιούν copyleft. Όταν το Open Group προσπάθησε να κάνει το X11R6.4 μη ελεύθερο λογισμικό, όσοι από εμάς αντισταθήκαμε στην πίεση το κάναμε με χαρά.

Τον Σεπτέμβρη του 1998, πολλούς μήνες μετά την κυκλοφορία του X11R6.4 με μη ελεύθερους όρους διανομής, το Open Group αντέστρεψε την απόφασή του και το επανακυκλοφόρησε υπό την ίδια noncopyleft άδεια ελεύθερου λογισμικού που είχε χρησιμοποιηθεί για το X11R6.3. Σε ευχαριστούμε, Open Group, αλλά αυτή η όψιμη μεταστροφή δεν ακυρώνει τα συμπεράσματα που βγάλαμε από το γεγονός ότι η προσθήκη περιορισμών ήταν εφικτή.

Μιλώντας πραγματιστικά, η σκέψη μακροπρόθεσμων στόχων θα ισχυροποιήσει τη θέλησή σας να αντισταθείτε σε αυτή την πίεση. Αν εστιάζετε το μυαλό σας στην ελευθερία και στην κοινότητα που μπορείτε να χτίσετε παραμένοντας σταθεροί, τότε θα βρείτε τη δύναμη για να το κάνετε. «Πάρτε θέση υπέρ κάποιου πράγματος, ειδάλλως θα πέσετε άσκοπα».

Και αν οι κυνικοί γελοιοποιούν την ελευθερία και την κοινότητα… αν οι «σκληροπυρηνικοί ρεαλιστές» λένε ότι το μόνο ιδεώδες είναι το κέρδος… απλά αγνοήστε τους και χρησιμοποιήστε το copyleft παντού.