From 1ae0306a3cf2ea27f60b2d205789994d260c2cce Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 11 Oct 2020 13:29:45 +0200 Subject: add i18n FSFS --- .../blog/articles/el/thegnuproject.html | 1209 ++++++++++++++++++++ 1 file changed, 1209 insertions(+) create mode 100644 talermerchantdemos/blog/articles/el/thegnuproject.html (limited to 'talermerchantdemos/blog/articles/el/thegnuproject.html') diff --git a/talermerchantdemos/blog/articles/el/thegnuproject.html b/talermerchantdemos/blog/articles/el/thegnuproject.html new file mode 100644 index 0000000..8171d8a --- /dev/null +++ b/talermerchantdemos/blog/articles/el/thegnuproject.html @@ -0,0 +1,1209 @@ + + + + + + +Σχετικά με το Έργο GNU - Έργο GNU - Ίδρυμα Ελεύθερου Λογισμικού + + + + + +

Το έργο GNU

+ +

+από τον Richard +Stallman

+ +
+

+Αρχικά δημοσιευμένο στο βιβλίο Ανοιχτές Πηγές. Ο Richard Stallman +δεν ήταν ποτέ +υποστηρικτής του “λογισμικού ανοιχτού κώδικα”, αλλά +συνεισέφερε αυτό το άρθρο ώστε οι ιδέες του κινήματος ελεύθερου λογισμικού +να μην απουσίαζαν εντελώς από εκείνο το βιβλίο. +

+

+Γιατί είναι ακόμη πιο σημαντικό από ποτέ να επιμένουμε ώστε το +λογισμικό που χρησιμοποιούμε να είναι ελεύθερο. +

+
+ +

Η πρώτη κοινότητα διαμοιρασμού λογισμικού

+

+Όταν ξεκίνησα να εργάζομαι στο Εργαστήριο Τεχνητής Νοημοσύνης (TN) του MIT το 1971, έγινα +μέλος μιας κοινότητας διαμοιρασμού λογισμικού η οποία προϋπήρχε για πολλά +χρόνια. Ο διαμοιρασμός λογισμικού δεν ήταν περιορισμένος στη δική μας +κοινότητα· είναι τόσο παλιός όσο και οι υπολογιστές, ακριβώς όπως ο +διαμοιρασμός συνταγών είναι τόσο παλιός όσο και το μαγείρεμα. Όμως εμείς +τον εφαρμόζαμε περισσότερο απ' όλους.

+

+Το εργαστήριο TN χρησιμοποιούσε ένα λειτουργικό σύστημα καταμερισμού χρόνου +με το όνομα ITS (το +Μη-συμβατό Σύστημα Καταμερισμού Χρόνου), το οποίο είχαν σχεδιάσει και γράψει +σε συμβολική γλώσσα μηχανής για τον PDP-10 της Digital, έναν από τους μεγάλους ηλεκτρονικούς +υπολογιστές εκείνης της εποχής, οι χάκερ (hackers) (1) του εργαστηρίου. Ως +μέλος αυτής της κοινότητας, ένας χάκερ συστημάτων του εργαστηρίου ΤΝ, η +δουλειά μου ήταν να βελτιώσω αυτό το σύστημα.

+

+Δεν ονομάζαμε το λογισμικό μας “ελεύθερο λογισμικό”, επειδή +αυτός ο όρος δεν υπήρχε τότε· ουσιαστικά όμως αυτό ήταν. Οποτεδήποτε +άνθρωποι από ένα άλλο πανεπιστήμιο ή εταιρία ήθελαν να μεταφέρουν και να +χρησιμοποιήσουν ένα πρόγραμμα, τους το επιτρέπαμε με ευχαρίστηση. Εάν +έβλεπες κάποιον να χρησιμοποιεί ένα ασυνήθες και ενδιαφέρον πρόγραμμα, +μπορούσες πάντα να του ζητήσεις να δεις τον πηγαίο κώδικα, οπότε μπορούσες +να τον διαβάσεις, να τον αλλάξεις ή να κανιβαλίσεις μέρη απ' αυτόν για να +δημιουργήσεις ένα νέο πρόγραμμα.

+

+(1) Η χρήση της λέξης “χάκερ” με την έννοια “εισβολέας +συστημάτων” είναι μία σύγχυση που οφείλεται στα μέσα μαζικής +ενημέρωσης. Εμείς οι χάκερ αρνούμαστε να αναγνωρίσουμε αυτή τη σημασία και +συνεχίζουμε να χρησιμοποιούμε τη λέξη ώστε να σημαίνει κάποιος/α που αγαπάει +τον προγραμματισμό, κάποιος/α που χαίρεται την παιχνιδιάρικη εξυπνάδα ή το +συνδυασμό των δύο παραπάνω. Δείτε το άρθρο μου, Για το χάκινγκ.

+ +

Η κατάρρευση της κοινότητας

+

+Η κατάσταση άλλαξε δραστικά στις αρχές της δεκαετίας του 1980, όταν η +Digital σταμάτησε τη σειρά του PDP-10. Η αρχιτεκτονική του, αν και κομψή +και ισχυρή στη δεκαετία του 60, δεν μπορούσε να επεκταθεί φυσικά στους +μεγαλύτερους χώρους διευθυνσιοδότησης οι οποίοι γινόταν εφικτοί κατά τη +δεκαετία του 80. Αυτό σήμαινε πως σχεδόν όλα τα προγράμματα που συνέθεταν +το ITS ήταν πλέον απαρχαιωμένα.

+

+Η κοινότητα των χάκερ του εργαστηρίου ΤΝ είχε ήδη καταρρεύσει, όχι πολύ +καιρό πριν. Το 1981, η εταιρεία τεχνοβλαστός (spin-off) Symbolics προσέλαβε +σχεδόν όλους τους χάκερ του εργαστηρίου ΤΝ και η αποδεκατισμένη κοινότητα +ήταν ανήμπορη να διατηρηθεί. (Το βιβλίο Hackers του Steve Levy περιγράφει +αυτά τα γεγονότα, δίνοντας επίσης μια ξεκάθαρη εικόνα της κοινότητας στην +ακμή της.) Όταν το εργαστήριο ΤΝ αγόρασε έναν καινούριο PDP-10 το 1982, οι +διαχειριστές του αποφάσισαν να χρησιμοποιήσουν το μη-ελεύθερο σύστημα +καταμερισμού χρόνου της Digital αντί για το ITS.

+

+Οι σύγχρονοι υπολογιστές της εποχής, όπως ο VAX ή ο 68020, είχαν τα δικά +τους λειτουργικά συστήματα, αλλά κανένα από αυτά δεν ήταν ελεύθερο +λογισμικό. Έπρεπε να υπογράψεις μια συμφωνία εμπιστευτικότητας ακόμη και για +να πάρεις ένα εκτελέσιμο αντίγραφο.

+

+Αυτό σήμαινε ότι το πρώτο βήμα για να χρησιμοποιήσεις έναν υπολογιστή ήταν +να υποσχεθείς ότι δε θα βοηθήσεις το γείτονά σου. Η δημιουργία κοινότητας +συνεργασίας απαγορεύτηκε. Ο κανόνας που δημιουργήθηκε από τους κατασκευαστές +του ιδιοκτησιακού λογισμικού ήταν: “Εάν μοιράζεσαι με το γείτονά σου, +είσαι ένας πειρατής. Εάν θέλεις να κανείς οποιεσδήποτε αλλαγές, ικέτεψέ μας +να τις κάνουμε.”

+

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

+

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

+

+Μια υπόθεση είναι ότι οι εταιρείες λογισμικού έχουν το αδιαμφισβήτητο φυσικό +δικαίωμα να κατέχουν το λογισμικό και έτσι να έχουν ισχύ πάνω σε όλους τους +χρήστες του. (Εάν αυτό ήταν φυσικό δικαίωμα, τότε όσο πληγή κι αν ήταν για +την κοινωνία, δεν θα μπορούσαμε να φέρουμε αντίρρηση.) Κατά ενδιαφέροντα +τρόπο, το Σύνταγμα των ΗΠΑ και η νομική παράδοση απορρίπτουν αυτή την +άποψη. Το πνευματικό δικαίωμα (copyright) δεν είναι ένα φυσικό δικαίωμα, +αλλά ένα τεχνητό, κυβερνητικά επιβαλλόμενο μονοπώλιο το οποίο περιορίζει το +φυσικό δικαίωμα των χρηστών να αντιγράφουν.

+

+Μια άλλη αδήλωτη υπόθεση είναι ότι το μόνο σημαντικό ζήτημα σχετικά με το +λογισμικό είναι ποια δουλειά σου επιτρέπει να κάνεις—ότι δηλαδή εμείς +οι χρήστες ηλεκτρονικών υπολογιστών δεν πρέπει να ενδιαφερόμαστε για το +είδος της κοινωνίας που μας επιτρέπεται να έχουμε.

+

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

+

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

+

+Δεν υπάρχει εδώ αρκετός χώρος για μια εκτενή αναφορά της συλλογιστικής που +οδηγεί σ' αυτό το συμπέρασμα, γι' αυτό παραπέμπω τον αναγνώστη στις +ιστοσελίδες +http://www.gnu.org/philosophy/why-free.html και +http://www.gnu.org/philosophy/free-software-even-more-important.html. +

+ +

Μια άκαμπτη ηθική επιλογή.

+

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

+

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

+

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

+

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

+

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

+

+Γι' αυτό έψαξα να βρω ένα τρόπο με τον οποίο μπορεί ένας προγραμματιστής να +κάνει κάτι προς όφελος του καλού. Αναρωτήθηκα, υπήρχε ένα πρόγραμμα ή +προγράμματα που θα μπορούσα να γράψω, ώστε να κάνω δυνατή για άλλη μια φορά +τη δημιουργία μίας κοινότητας;

+

+Η απάντηση ήταν ξεκάθαρη: αυτό που αρχικά χρειαζόταν ήταν ένα λειτουργικό +σύστημα. Αυτό είναι το κρίσιμο λογισμικό για ν' αρχίσεις να χρησιμοποιείς +έναν υπολογιστή. Μ' ένα λειτουργικό σύστημα μπορείς να κάνεις πολλά· δίχως +ένα δεν μπορείς ούτε καν να λειτουργήσεις τον υπολογιστή. Μ' ένα ελεύθερο +λειτουργικό σύστημα, θα μπορούσαμε να έχουμε ξανά μια κοινότητα +συνεργαζόμενων χάκερ—και να προσκαλέσουμε τον καθένα να έρθει μαζί +μας. Και οποιοσδήποτε θα μπορούσε να χρησιμοποιήσει έναν υπολογιστή δίχως +ν' αρχίσει με το να συνομωτεί ν' αποστερήσει τους φίλους του/της1.

+

+Ως προγραμματιστής λειτουργικών συστημάτων, είχα τις κατάλληλες ικανότητες +γι' αυτή τη δουλειά. Έτσι παρόλο που δεν είχα την επιτυχία ως δεδομένη, +συνειδητοποίησα ότι εκλέχτηκα ώστε να κάνω αυτή τη δουλειά. Αποφάσισα να +κατασκευάσω το σύστημα συμβατό με το Unix, ώστε να είναι μεταφέρσιμο και +ώστε να μπορούν οι χρήστες του Unix να μεταπηδήσουν σε αυτό εύκολα. Το +όνομα GNU επιλέχτηκε ακολουθώντας μία παράδοση των χάκερ, ως αναδρομικό +ακρωνύμιο του“GNU’s Not Unix.”

+

+Ένα λειτουργικό σύστημα δεν είναι απλά ένας πυρήνας, ικανός μονάχα να +εκτελεί άλλα προγράμματα. Τη δεκαετία του 1970, κάθε λειτουργικό σύστημα +άξιο αυτού του ονόματος περιλάμβανε επεξεργαστές γραμμής εντολών, +συμβολομεταφραστές, μεταγλωττιστές, διερμηνευτές, αποσφαλματωτές, συντάκτες +κειμένου, προγράμματα ηλεκτρονικού ταχυδρομείου και πολλά άλλα. Το ITS τα +είχε, το Multics τα είχε, το VMS τα είχε και το Unix τα είχε. Το +λειτουργικό σύστημα GNU θα τα περιελάμβανε επίσης.

+

+Αργότερα άκουσα αυτά τα λόγια, που αποδίδονται στον Hillel (1):

+ +

+ Εάν δεν είμαι για τον εαυτό μου, ποιος θα είναι για μένα;
+ Εάν είμαι μόνο για τον εαυτό μου, τι είμαι;
+ Εάν όχι τώρα, πότε; +

+

+Η απόφαση να ξεκινήσω το Έργο GNU βασίστηκε σ' ένα παρόμοιο πνεύμα.

+

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

+ +

Ελεύθερο όπως στην ελευθερία

+

+Ο όρος “ελεύθερο λογισμικό” είναι μερικές φορές +παρεξηγημένος2—δεν αφορά την +τιμή. Αφορά την ελευθερία. Εδώ, λοιπόν, παρατίθεται ο ορισμός του ελεύθερου +λογισμικού.

+ +

Ένα πρόγραμμα είναι ελεύθερο λογισμικό, για σας, ένα συγκεκριμένο χρήστη, +εάν:

+ + +

+Εφόσον η λέξη “ελεύθερο” αναφέρεται στην ελευθερία και όχι στην +τιμή, δεν υπάρχει αντίθεση μεταξύ της πώλησης αντιγράφων και του ελεύθερου +λογισμικού. Στην πραγματικότητα, η ελευθερία της πώλησης αντιγράφων είναι +κρίσιμη: οι συλλογές ελεύθερου λογισμικού που πωλούνται σε οπτικούς δίσκους +(CD-ROM) είναι σημαντικές για την κοινότητα, και η πώλησή τους είναι ένας +σημαντικός τρόπος χρηματοδότησης της ανάπτυξης ελεύθερου λογισμικού. +Επομένως, ένα πρόγραμμα το οποίο οι άνθρωποι δεν είναι ελεύθεροι να το +συμπεριλάβουν σε αυτές τις συλλογές, δεν είναι ελεύθερο λογισμικό.

+

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

+ +

Λογισμικό GNU και το σύστημα GNU

+

+Η κατασκευή ενός ολόκληρου συστήματος είναι ένα πολύ μεγάλο έργο. Για να το +φέρω εις πέρας, αποφάσισα να προσαρμόσω και να χρησιμοποιήσω υπάρχοντα +κομμάτια ελεύθερου λογισμικού oπουδήποτε ήταν αυτό δυνατό. Για παράδειγμα, +αποφάσισα εξ’ αρχής να χρησιμοποιήσω το Tex ως το βασικό διαμορφωτή +κειμένου. Λίγα χρόνια μετά, αποφάσισα να χρησιμοποιήσω το παραθυρικό +σύστημα X (X Window System) αντί να γράψω κάποιο άλλο παραθυρικό σύστημα για +το GNU.

+

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

+ +

Ξεκινώντας το έργο

+

+Τον Ιανουάριο του 1984 παράτησα τη δουλειά μου στο MIT και ξεκίνησα να γράφω +λογισμικό GNU. Η φυγή μου από το MIT ήταν απαραίτητη, έτσι ώστε να μην +μπορούσε το MIT ν' αναμιχθεί με τη διανομή του GNU ως ελεύθερο λογισμικό. +Εάν παρέμενα στο προσωπικό, το MIT θα μπορούσε να ισχυριστεί ότι έχει την +ιδιοκτησία της εργασίας, και να επιβάλλει τους δικούς του όρους διανομής, ή +ακόμη και να μετατρέψει τη δουλειά σ' ένα πακέτο ιδιοκτησιακού λογισμικού. +Δεν σκόπευα να κάνω μια μεγάλη ποσότητα εργασίας μόνο και μόνο για να τη δω +να γίνεται άχρηστη για τον επιθυμητό της σκοπό: τη δημιουργία μιας νέας +κοινότητας διαμοιρασμού λογισμικού.

+

+Παρόλα αυτά, ο καθηγητής Winston, τότε επικεφαλής του εργαστηρίου ΤΝ του +MIT, ευγενώς με προσκάλεσε να συνεχίσω να χρησιμοποιώ τις εγκαταστάσεις του +εργαστηρίου.

+ +

Τα πρώτα βήματα

+

+Λίγο καιρό πριν ξεκινήσω το έργο GNU, είχα ακούσει για τη Συλλογή +Μεταγλωττιστών του ολλανδικού Ελεύθερου Πανεπιστήμιου, γνωστή επίσης ως VUCK +(Η λέξη “ελεύθερο” στα ολλανδικά αρχίζει με v.) Αυτή +(η συλλογή) ήταν ένας μεταγλωττιστής σχεδιασμένος ώστε να χειρίζεται +πολλαπλές γλώσσες, συμπεριλαμβανομένων των C και Pascal, και να υποστηρίζει +πολλαπλές μηχανές στόχους. Έγραψα στο συγγραφέα του, ρωτώντας εάν το GNU θα +μπορούσε να τον χρησιμοποιήσει.

+

+Εκείνος απάντησε ειρωνικά, λέγοντας ότι το πανεπιστήμιο ήταν ελεύθερο, αλλά +ο μεταγλωττιστής όχι. Ως εκ τούτου αποφάσισα ότι το πρώτο πρόγραμμα για το +έργο GNU θα ήταν ένας πολυγλωσσικός, πολλών πλατφορμών μεταγλωττιστής.

+

+Ελπίζοντας ν' αποφύγω την ανάγκη να γράψω όλο το μεταγλωττιστή μόνος μου, +χρησιμοποίησα τον πηγαίο κώδικα του μεταγλωττιστή Pastel, ο οποίος ήταν ένας +μεταγλωττιστής πολλαπλών πλατφορμών ανεπτυγμένος στο Εργαστήριο Lawrence +Livermore. Υποστήριζε, και ήταν γραμμένος σε, μια επεκτεταμένη έκδοση της +Pascal, σχεδιασμένη ώστε να είναι μία γλώσσα προγραμματισμού συστημάτων. +Πρόσθεσα μία διεπαφή για τη C και ξεκίνησα να τον μεταφέρω στον υπολογιστή +Motorola 68000. Αναγκάστηκα όμως να τα παρατήσω όταν ανακάλυψα ότι ο +μεταγλωττιστής χρειαζόταν πολλά εκατομμύρια ψηφιολέξεων (megabytes) χώρο +στοίβας, ενώ το διαθέσιμο Unix σύστημα του 68000 επέτρεπε μόνο 64 χιλιάδες +(64 kilobytes).

+

+Συνειδητοποίησα τότε ότι ο μεταγλωττιστής Pastel λειτουργούσε αναλύοντας +ολόκληρο το αρχείο εισόδου σ' ένα συντακτικό δέντρο, μετατρέποντας ολόκληρο +το συντακτικό δέντρο σε μια αλυσίδα από “οδηγίες” και παράγοντας +στη συνέχεια ολόκληρο το αρχείο εξόδου, χωρίς ποτέ ν' αποδεσμεύει χώρο +αποθήκευσης. Στο σημείο αυτό κατέληξα στο συμπέρασμα ότι έπρεπε να γράψω +ένα νέο μεταγλωττιστή εξ’ αρχής. Ο νέος αυτός μεταγλωττιστής είναι τώρα +γνωστός ως GCC· σ' αυτόν δεν +χρησιμοποιείται καθόλου κώδικας από το μεταγλωττιστή Pastel, αλλά κατάφερα +να προσαρμόσω και να χρησιμοποιήσω τη διεπαφή της C που είχα συγγράψει. +Αυτό όμως συνέβη μερικά χρόνια αργότερα· αρχικά δούλεψα στον GNU Emacs.

+ +

Ο GNU Emacs

+

+Ξεκίνησα να εργάζομαι για τον GNU Emacs το Σεπτέμβριο του 1984 και στις +αρχές του 1985 είχε αρχίσει να γίνεται χρησιμοποιήσιμος. Αυτό μου έδωσε τη +δυνατότητα να χρησιμοποιώ τα Unix συστήματα για να κάνω σύνταξη κειμένου· +όντας αδιάφορος στο να μάθω να χρησιμοποιώ τον vi ή τον ed, έκανα τη δική +μου σύνταξη κειμένου σε άλλου είδους μηχανές έως τότε.

+

+Στο σημείο αυτό, οι άνθρωποι ξεκίνησαν να χρησιμοποιούν τον GNU Emacs, +δημιουργώντας μου το ερώτημα του πως θα τον διανείμω. Τον τοποθέτησα φυσικά +στον ανώνυμο διακομιστή πρωτοκόλλου μεταφοράς αρχείων (ΠΜΑ - ftp) στον +υπολογιστή του ΜΙΤ που χρησιμοποιούσα. (Τούτος ο υπολογιστής, με όνομα +prep.ai.mit.edu, έγινε κατ' αυτό τον τρόπο η πρωταρχική θέση διανομών +λογισμικού GNU μέσω ΠΜΑ· όταν αποσύρθηκε λίγα χρόνια αργότερα, μεταφέραμε το +όνομα στο νέο μας εξυπηρετητή ΠΜΑ.) Αλλά εκείνο τον καιρό, πολλοί από τους +ενδιαφερόμενους ανθρώπους δεν ήταν στο Διαδίκτυο και δεν μπορούσαν να κάβουν +ένα αντίγραφο μέσω ΠΜΑ. Άρα το ερώτημα ήταν, τι θα έλεγα σ' αυτούς;

+

+Θα μπορούσα να τους πω, “Βρείτε ένα φίλο που είναι στο δίκτυο κι αυτός +θα κάνει ένα αντίγραφο για εσάς.” Επίσης, θα μπορούσα να κάνω ότι +έκανα με τον αυθεντικό PDP-10 Emacs: να τους πω, “Ταχυδρομήστε μου μια +μαγνητική ταινία και έναν SASE, και θα σας την ταχυδρομήσω πίσω με τον Emacs γραμμένο +μέσα της.” Αλλά δεν είχα δουλειά κι έψαχνα να βρω τρόπο ώστε να +κερδίσω χρήματα από το ελεύθερο λογισμικό. Έτσι ανακοίνωσα ότι θα +ταχυδρομούσα μια μαγνητική ταινία σε όποιον ήθελε μία, με αμοιβή 150 +δολλάρια ΗΠΑ. Μ' αυτό τον τρόπο, ξεκίνησα μια επιχείρηση διανομής ελεύθερου +λογισμικού, τον πρόγονο των εταιρειών που διανέμουν σήμερα ολόκληρες +διανομές GNU/Linux.

+ +

Είναι ένα πρόγραμμα ελεύθερο για κάθε χρήστη;

+

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

+

+Το πιο παραστατικό παράδειγμα αυτού του προβλήματος είναι το παραθυρικό +σύστημα Χ. Ανεπτυγμένο στο MIT και διανεμόμενο ως ελεύθερο λογισμικό με μια +επιτρεπτική άδεια, υιοθετήθηκε σύντομα από πολλές εταιρείες υπολογιστών. +Αυτές προσέθεσαν το Χ στα ιδιοκτησιακά Unix συστήματά τους, σε εκτελέσιμη +μόνο μορφή, καλυπτόμενο από την ίδια συμφωνία εμπιστευτικότητας3. Αυτά τα αντίγραφα του Χ δεν ήταν πλέον +περισσότερο ελεύθερο λογισμικό απ' ό,τι ήταν το Unix.

+

+Οι προγραμματιστές του X δε το θεώρησαν αυτό ως πρόβλημα—το ανέμεναν +και σκόπευαν να συμβεί. Ο στόχος τους δεν ήταν η ελευθερία, αλλά απλά η +“επιτυχία”, καθορισμένη ως “να έχουμε πολλούς +χρήστες.” Δε τους ενδιέφερε αν αυτοί οι χρήστες θα είχαν ελευθερία, +αλλά μόνο να είναι αριθμητικά πολλοί.

+

+Αυτό οδήγησε σε μια παράδοξη κατάσταση όπου δυο διαφορετικοί τρόποι +εκτίμησης της ελευθερίας έδωσαν διαφορετικές απαντήσεις στο ερώτημα, +“Είναι αυτό το πρόγραμμα ελεύθερο;” Εάν έκρινες βασισμένος στην +ελευθερία που παρεχόταν από τους όρους διανομής του MIT, θα έλεγες ότι το Χ +ήταν ελεύθερο λογισμικό. Εάν όμως εκτιμούσες την ελευθερία του μέσου χρήστη +του Χ, θα έπρεπε να πεις ότι ήταν ιδιοκτησιακό λογισμικό. Οι περισσότεροι +χρήστες του Χ εκτελούσαν τις ιδιοκτησιακές εκδόσεις που συνόδευαν τα Unix +συστήματα, όχι την ελεύθερη έκδοση.

+ +

Το copyleft και η GNU GPL

+

+Ο στόχος του GNU ήταν να δώσει στους χρήστες ελευθερία, όχι να είναι απλά +δημοφιλές. Έτσι είχαμε την ανάγκη να χρησιμοποιήσουμε όρους διανομής που θα +εμπόδιζαν τη μετατροπή ενός GNU λογισμικού σε ιδιόκτησιακό λογισμικό. Η +μέθοδος που χρησιμοποιούμε αποκαλείται “copyleft”.(1)

+

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

+

+Η κεντρική ιδέα του copyleft είναι ότι επιτρέπουμε σε όλους να εκτελούν το +πρόγραμμα, να αντιγράφουν το πρόγραμμα και να διανέμουν τροποποιημένες +εκδόσεις του—αλλά δεν επιτρέπουμε να προσθέτουν δικούς τους +περιορισμούς. Έτσι, οι κρίσιμες ελευθερίες που ορίζουν το “ελεύθερο +λογισμικό” είναι εγγυημένες στον καθένα που έχει ένα αντίγραφο· +γίνονται αναπόσπαστα δικαιώματα.

+

+Για ένα αποτελεσματικό copyleft, οι τροποποιημένες εκδόσεις πρέπει να είναι +επίσης ελεύθερες. Αυτό εξασφαλίζει ότι η δουλειά μας γίνεται διαθέσιμη σε +όλη την κοινότητα όταν δημοσιοποιείται. Όταν οι επαγγελματίες +προγραμματιστές γίνονται εθελοντές στη βελτίωση λογισμικού GNU, είναι το +copyleft που εμποδίζει τους εργοδότες τους να πουν, “Δεν μπορείτε να +μοιραστείτε αυτές τις αλλαγές, επειδή θα τις χρησιμοποιήσουμε για να +κατασκευάσουμε τη δική μας ιδιοκτησιακή έκδοση του προγράμματος.”

+

+Η απαίτηση οι αλλαγές να είναι ελεύθερες είναι απαραίτητη εάν θέλουμε να +εξασφαλίσουμε την ελευθερία κάθε χρήστη του προγράμματος. Οι εταιρείες που +ιδιωτικοποίησαν το παραθυρικό σύστημα Χ, συνήθως έκαναν κάποιες αλλαγές για +να το μεταφέρουν στα συστήματα και το υλικό τους. Αυτές οι αλλαγές μπορεί +να ήταν μικρές σε σύγκριση με το μεγάλο μέγεθος του Χ, αλλά δεν ήταν +τετριμμένες. Εάν η πραγματοποίηση αλλαγών ήταν μια δικαιολογία για ν' +αρνηθεί κανείς στους χρήστες την ελευθερία, θα ήταν εύκολο για τον καθένα να +εκμεταλλευτεί αυτή τη δικαιολογία.

+

+Ένα σχετικό ζήτημα αφορά το συνδυασμό ενός ελεύθερου προγράμματος με μη +ελεύθερο κώδικα. Ένας τέτοιος συνδυασμός θα ήταν αναπόφευκτα μη ελεύθερος· +οποιεσδήποτε ελευθερίες που θα έλειπαν από το μη ελεύθερο μέρος, θα έλειπαν +και από το σύνολο επίσης. Το να επιτρέψουμε τέτοιους συνδυασμούς θα άνοιγε +μια τρύπα αρκετά μεγάλη ώστε να βουλιάξει ένα πλοίο. Γι' αυτό, μια κρίσιμη +απαίτηση για το copyleft είναι να βουλώσει αυτή την τρύπα: ο,τιδήποτε +προστίθεται ή συνδυάζεται μ' ένα copylefted πρόγραμμα, πρέπει να είναι +τέτοιο ώστε η μεγαλύτερη, συνδυασμένη έκδοσή του να είναι επίσης ελεύθερη +και copylefted.

+

+Η συγκεκριμένη υλοποίηση του copyleft που χρησιμοποιούμε για την πλειοψηφία +του GNU λογισμικού είναι η Γενική Άδεια Δημόσιας Χρήσης GNU, ή ΓΑΔΧ GNU (GNU +GPL) εν συντομία. Έχουμε και άλλα είδη αδειών copyleft που χρησιμοποιούνται +σε συγκεκριμένες περιστάσεις. Τα εγχειρίδια GNU είναι επίσης copylefted, +αλλά χρησιμοποιούν ένα κατά πολύ απλούστερο είδος copyleft, επειδή η +πολυπλοκότητα της ΓΑΔΧ GNU δεν είναι αναγκαία για τα εγχειρίδια.(2)

+

+(1) Το 1984 ή 1985, ο Don Hopkins (ένας πολύ εφευρετικός συνεργάτης) μου +ταχυδρόμησε ένα γράμμα. Στον φάκελο έγραφε πολλές ψυχαγωγικές κουβέντες, +συμπεριλαμβανομένης της παρακάτω: “Copyleft—all rights +reserved.” Χρησιμοποίησα τη λέξη“copyleft” για να ονομάσω +το σχέδιο διανομής λογισμικού που δημιουργούσα εκείνο τον καιρό.

+ +

+(2) Πλέον χρησιμοποιούμε την Άδεια Ελεύθερης +Τεκμηρίωσης GNU για έργα τεκμηρίωσης.

+ +

Το Ίδρυμα Ελεύθερου Λογισμικού

+ +

Καθώς το ενδιαφέρον χρήσης του Emacs μεγάλωνε, αναμίχθηκαν και άλλοι +άνθρωποι στο έργο GNU και αποφασίσαμε ότι ήταν καιρός ν' αναζητήσουμε +χρηματοδότηση για μια ακόμη φορά. Έτσι το 1985 δημιουργήσαμε το Ίδρυμα Ελεύθερου Λογισμικού (ΙΕΛ), ένα +εξαιρούμενο από το φόρο φιλανθρωπικό ίδρυμα για την ανάπτυξη του ελεύθερου +λογισμικού. Το ΙΕΛ ανέλαβε +επίσης την επιχείρηση της διανομής του Emacs μέσω ταινίας· αργότερα την +επέκτεινε προσθέτοντας κι άλλο ελεύθερο λογισμικό (GNU και μη-GNU επίσης) +στη ταινία, αλλά και πουλώντας ελεύθερα εγχειρίδια επίσης.

+ +

Παλαιότερα, τα περισσότερα έσοδα του ΙΕΛ προέρχονταν από πωλήσεις αντιγράφων +ελεύθερου λογισμικού και άλλες σχετικές υπηρεσίες. (CD-ROM πηγαίου κώδικα, +CD-ROM με εκτελέσιμα, όμορφα εκτυπωμένα εγχειρίδια, όλα με ελευθερία να +αναδιανεμηθούν και τροποποιηθούν) και Πολυτελείς Διανομές (όπου χτίζουμε +ολοκλήρη τη συλλογή λογισμικού για την πλατφόρμα επιλογής του πελάτη). +Σήμερα το ΙΕΛ εξακολουθεί να πουλά εγχειρίδια +και άλλο εξοπλισμό, αλλά λαμβάνει το κύριο μέρος της χρημαοδότησής του +από τις συνδρομές των μελών του. Μπορείτε να προσχωρήσετε στο ΙΕΛ στο fsf.org.

+ +

Οι υπάλληλοι του ΙΕΛ συνέγραψαν και διατήρησαν έναν αριθμό πακέτων +λογισμικού GNU. Δύο αξιοσημείωτα πακέτα είναι η βιβλιοθήκη της γλώσσας C +και το κέλυφος. Η βιβλιοθήκη C του GNU χρησιμοποιείται από κάθε πρόγραμμα +που εκτελείται σ' ένα GNU/Linux σύστημα για να επικοινωνήσει με τον πυρήνα +Linux. Αναπτύχθηκε από ένα μέλος του προσωπικού του ΙΕΛ, τον Roland +McGrath. Το κέλυφος που χρησιμοποιείται στα περισσότερα GNU/Linux συστήματα +είναι το BASH, το Bourne Again +Shell(1), το οποίο αναπτύχθηκε από τον υπάλληλο του ΙΕΛ Brian Fox.

+ +

Χρηματοδοτήσαμε την ανάπτυξη αυτών των προγραμμάτων επειδή το έργο GNU δεν +είχε να κάνει μόνο με εργαλεία ή με ένα περιβάλλον ανάπτυξης εφαρμογών. Ο +στόχος μας ήταν ένα πλήρες λειτουργικό σύστημα και αυτά τα προγράμματα ήταν +απαραίτητα γι' αυτό το σκοπό.

+ +

(1) Το “Bourne Again Shell” είναι ένα λογοπαίγνιο επάνω στο +“Bourne Shell”, που ήταν τότε το συνηθέστερο κέλυφος στο Unix.

+ +

Υποστήριξη ελεύθερου λογισμικού

+ +

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

+ +

Η πώληση αντιγράφων του Emacs επιδεικνύει ένα είδος επιχείρησης ελεύθερου +λογισμικού. Όταν το ΙΕΛ ανέλαβε αυτή την επιχείρηση, χρειάστηκε να βρω έναν +άλλο τρόπο για να ζήσω. Τον βρήκα πουλώντας υπηρεσίες σχετιζόμενες με το +ελεύθερο λογισμικό που είχα αναπτύξει. Αυτό συμπεριελάμβανε διδασκαλία για +θέματα όπως το πώς να προγραμματίζει κανείς το GNU Emacs και πώς να +προσαρμόζει το GCC, καθώς και ανάπτυξη λογισμικού, συνήθως μεταφορά του GCC +σε νέες πλατφόρμες.

+ +

Σήμερα καθένα από αυτά τα είδη επιχειρήσεων ελεύθερου λογισμικού εφαρμόζεται +από έναν αριθμό εταιρειών. Μερικές διανέμουν συλλογές ελεύθερου λογισμικού +σε CD-ROM· άλλες πωλούν υποστήριξη σε επίπεδα που κυμαίνονται από παροχή +απαντήσεων σε ερωτήσεις χρηστών, επιδιορθώσεις σφαλμάτων, έως την προσθήκη +μείζονων νέων χαρακτηριστικών. Αρχίσαμε ήδη να βλέπουμε εταιρείες +ελεύθερου λογισμικού βασιζόμενες στη δημιουργία νέων προϊόντων ελεύθερου +λογισμικού.

+ +

Παρόλα αυτά, προσέξτε—ένας αριθμός εταιρειών που σχετίζουν τον εαυτό +τους με τον όρο “ανοιχτός κώδικας (open source)” βασίζουν την +επιχείρησή τους σε μη ελεύθερο λογισμικό που λειτουργεί σε συνδυασμό με το +ελεύθερο. Αυτές δεν είναι εταιρείες ελεύθερου λογισμικού, είναι εταιρείες +ιδιοκτησιακού λογισμικού που τα προϊόντα τους οδηγούν τους χρήστες μακριά +από την ελευθερία. Αποκαλούν τα προϊόντα αυτά “πακέτα προστιθέμενης +αξίας”, κάτι που αντανακλά τις άξιες που θα ήθελαν να υιοθετήσουμε: +άνεση υπεράνω της ελευθερίας. Εάν αξιολογούμε την ελευθερία περισσότερο, θα +πρέπει να τ' αποκαλούμε πακέτα “αφαιρούμενης ελευθερίας”.

+ +

Τεχνικοί στόχοι

+ +

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

+ +

Όμως ήταν φυσικό να εφαρμόσουμε τα γνωστά πρότυπα καλής πρακτικής στην +εργασία μας—για παράδειγμα, τη δυναμική δέσμευση των δομών δεδομένων +για την αποφυγή αυθαίρετων ορίων σταθερού μεγέθους, καθώς και τη διαχείριση +όλων των πιθανών κωδικών 8 δυαδικών ψηφίων όποτε αυτό είχε νόημα.

+ +

Επιπρόσθετα, απορρίψαμε την εστίαση του Unix στο μικρό μέγεθος μνήμης, +αποφασίζοντας να μην υποστηρίξουμε τις μηχανές 16 δυαδικών ψηφίων (ήταν +ξεκάθαρο ότι οι μηχανές 32 δυαδικών ψηφίων θα ήταν ο κανόνας την περίοδο που +θα τελείωνε το σύστημα GNU) και να μην προσπαθήσουμε να μειώσουμε τη χρήση +μνήμης εκτός και αν ξεπερνούσε το 1 εκατομμύριο χαρακτήρες. Σε προγράμματα +που η διαχείριση πολύ μεγάλων αρχείων δεν ήταν κρίσιμη, ενθαρρύναμε τους +προγραμματιστές να διαβάζουν ένα ολόκληρο αρχείο εισόδου στη μνήμη κι έπειτα +να σαρώνουν τα περιεχόμενά του, δίχως ν' ανησυχούν για την είσοδο/έξοδο +(I/O).

+ +

Αυτές οι αποφάσεις έκαναν ικανά πολλά GNU προγράμματα να ξεπεράσουν τα +αντίστοιχα του Unix σε αξιοπιστία και ταχύτητα.

+ +

Δωρεές υπολογιστών

+ +

Καθώς η φήμη του έργου GNU μεγάλωνε, οι άνθρωποι άρχισαν να προσφέρουν +μηχανές που έτρεχαν Unix στο έργο. Αυτές ήταν πολύ χρήσιμες, επειδή ο +ευκολότερος τρόπος ανάπτυξης συστατικών του συστήματος GNU ήταν να τα +δημιουργήσεις σε ένα Unix σύστημα και ν' αντικαταστήσεις τα συστατικά μέρη +αυτού του συστήματος ένα προς ένα. Έθεσαν όμως ένα ηθικό ζήτημα: αν ήταν +σωστό για εμάς να έχουμε αντίγραφα του Unix.

+ +

Το Unix ήταν (και παραμένει) ιδιοκτησιακό λογισμικό, και η φιλοσοφία του +έργου GNU έλεγε ότι δεν πρέπει να χρησιμοποιούμε ιδιοκτησιακό λογισμικό. +Αλλά εφαρμόζοντας τον ίδιο συλλογισμό που οδηγεί στο συμπέρασμα ότι η βία +είναι δικαιολογημένη στην αυτοπροστασία, κατέληξα ότι ήταν θεμιτό να +χρησιμοποιούμε ένα ιδιοκτησιακό πακέτο εφόσον αυτό θα ήταν κρίσιμο για ν' +αναπτύξουμε μια ελεύθερη αντικατάσταση που θα βοηθούσε τους άλλους να +σταματήσουν να χρησιμοποιούν το ιδιοκτησιακό πακέτο.

+ +

Όμως αν κι αυτό ήταν ένα δικαιολογημένο κακό, παρέμενε κακό. Σήμερα δεν +έχουμε πλέον αντίγραφα του Unix, επειδή τα αντικαταστήσαμε με ελεύθερα +λειτουργικά συστήματα. Εάν δεν μπορούσαμε να αντικαταστήσουμε το +λειτουργικό σύστημα μιας μηχανής με ένα ελεύθερο, αλλάζαμε την ίδια τη +μηχανή.

+ +

Η λίστα εργασιών του GNU

+ +

Καθώς το έργο GNU συνεχιζόταν κι ένας αυξανόμενος αριθμός συστατικών +συστήματος δημιουργήθηκαν ή αναπτύχθηκαν, έγινε τελικά χρήσιμο να +κατασκευάσουμε μια λίστα από τα εναπομείναντα κενά. Τη χρησιμοποιήσαμε ώστε +να στρατολογήσουμε προγραμματιστές να γράψουν τα κομμάτια που έλειπαν. Αυτή +η λίστα έγινε γνωστή ως η Λίστα Εργασιών του GNU. Εκτός από τα συστατικά +Unix που έλειπαν, παραθέσαμε στη λίστα επιπρόσθετο χρήσιμο λογισμικό και +έργα τεκμηρίωσης, που πιστεύαμε ότι έπρεπε να έχει ένα πραγματικά πλήρες +σύστημα.

+ +

Σήμερα, σχεδόν κανένα συστατικό του Unix δεν έχει απομείνει στη λίστα +εργασιών του GNU—αυτές οι δουλειές έχουν ολοκληρωθεί, εκτός από +μερικές μη αναγκαίες. Ωστόσο η λίστα είναι γεμάτη από έργα που μερικοί θ' +αποκαλούσαν “εφαρμογές”. Οποιοδήποτε πρόγραμμα απευθύνεται σε +περισσότερο από μια στενή τάξη χρηστών θα ήταν ένα χρήσιμο πράγμα για να +προστεθεί σ' ένα λειτουργικό σύστημα.

+ +

Μέχρι και παιχνίδια συμπεριλαμβάνονται στη λίστα εργασίας—και υπήρχαν +εκεί από την αρχή. Το Unix περιείχε παιχνίδια, έτσι λογικά θα έπρεπε να +έχει και το GNU επίσης. Αλλά η συμβατότητα δεν ήταν πρόβλημα για τα +παιχνίδια κι έτσι δεν ακολουθήσαμε τη λίστα παιχνιδιών που είχε το Unix. +Αντίθετα, δημιουργήσαμε μια λίστα με ποικιλία διαφορετικών ειδών παιχνιδιών +που ίσως αρέσουν στους χρήστες.

+ +

(1) Αυτό γράφτηκε το 1998. Το 2009 δεν διατηρούμε πια μια μακριά λίστα +ενεργειών. Η κοινότητα αναπτύσσει ελεύθερο λογισμικό τόσο γρήγορα που δεν +μπορούμε ούτε καν να το καταγράψουμε στην ολότητά του. Αντιθέτως, έχουμε +μια λίστα Έργων Υψηλής Προτεραιότητας, μια πολύ μικρότερη λίστα έργων που +πραγματικά θέλουμε να ενθαρρύνουμε τους ανθρώπους να γράψουν.

+ +

Η ΓΑΔΧ Βιβλιοθήκης GNU (GNU LGPL)

+ +

Η GNU βιβλιοθήκη της C χρησιμοποιεί ένα ειδικό είδος copyleft που ονομάζεται +Γενική Άδεια Δημόσιας Χρήσης Βιβλιοθήκης(1), το οποίο επιτρέπει τη σύνδεση +ιδιοκτησιακού λογισμικού με τη βιβλιοθήκη. Γιατί κάνουμε αυτή την εξαίρεση;

+ +

Δεν είναι ζήτημα αρχής· δεν υπάρχει καμία αρχή που να λέει πως τα προϊόντα +ιδιοκτησιακού λογισμικού δικαιούνται να συμπεριλαμβάνουν τον κώδικα μας. +(Γιατί όμως συνεισφέρουμε σ' ένα έργο προσανατολισμένο στην άρνηση +διαμοιρασμού μαζί μας;) Η χρήση της ΓΑΔΧΒ GNU για τη βιβλιοθήκη της C, ή +για οποιαδήποτε άλλη βιβλιοθήκη, είναι ζήτημα στρατηγικής.

+ +

Η βιβλιοθήκη της C παρέχει γενικές λειτουργίες· κάθε ιδιοκτησιακό σύστημα ή +μεταγλωττιστής συνοδεύεται από μια βιβλιοθήκη C. Επομένως, εάν κάναμε τη C +βιβλιοθήκη μας διαθέσιμη μόνο για το ελεύθερο λογισμικό αυτό δεν θα έδινε +κάποιο πλεονέκτημα στο ελεύθερο λογισμικό—αλλά μόνο θα αποθάρρυνε της +χρήση της βιβλιοθήκης μας.

+ +

Ένα σύστημα αποτελεί εξαίρεση στο παραπάνω: στο σύστημα GNU (κι αυτό +συμπεριλαμβάνει και το GNU/Linux), η GNU βιβλιοθήκη της C είναι η μοναδική C +βιβλιοθήκη που υπάρχει. Έτσι, οι όροι διανομής της GNU C βιβλιοθήκης +αποφασίζουν εάν είναι εφικτό να μεταγλωττιστεί ένα ιδιοκτησιακό πρόγραμμα +για το σύστημα GNU. Δεν υπάρχει κανένας ηθικός λόγος για τον οποίο θα +έπρεπε να επιτραπούν οι ιδιοκτησιακές εφαρμογές στο σύστημα GNU, αλλά +στρατηγικά φαίνεται πως απαγορεύοντάς τες θα οδηγούσε περισσότερο στο ν' +αποθαρρύνει τη χρήση του συστήματος GNU από το να ενθαρρύνει την ανάπτυξη +ελεύθερων εφαρμογών. Για τους παραπάνω λόγους, η χρήση της ΓΑΔΧ Βιβλιοθήκης +GNU είναι μια καλή στρατηγική για τη βιβλιοθήκη της C.

+ +

Για άλλες βιβλιοθήκες, η απόφαση στρατηγικής πρέπει να εξετάζεται κατά +περίπτωση. Όταν μια βιβλιοθήκη επιτελεί εξειδικευμένες λειτουργίες οι +οποίες βοηθούν στη σύνταξη συγκεκριμένων προγραμμάτων, τότε η διανομή της +υπό την ΓΑΔΧ GNU κι ο περιορισμός της χρήσης της μόνο από προγράμματα +ελεύθερου λογισμικού, είναι ένας τρόπος βοήθειας των άλλων κατασκευαστών +ελεύθερου λογισμικού, δίνοντας τους ένα πλεονέκτημα απέναντι στο +ιδιοκτησιακό λογισμικό.

+ +

Δείτε π.χ. τη GNU Readline, μια βιβλιοθήκη η οποία αναπτύχθηκε για να +παρέχει τη δυνατότητα επεξεργασίας της γραμμής εντολών του BASH. Η Readline +διατίθεται υπό την κανονική ΓΑΔΧ GNU κι όχι υπό την ΓΑΔΧ Βιβλιοθήκης GNU. +Αυτό πιθανότατα μειώνει το εύρος της χρήσης της· αλλά δεν αποτελεί απώλεια +για εμάς. Στο μεταξύ, τουλάχιστον μία χρήσιμη εφαρμογή έχει γίνει ελεύθερο +λογισμικό προκειμένου να μπορέσει να χρησιμοποιήσει τη Readline, κι αυτό +είναι αληθινό όφελος για την κοινότητα.

+ +

Οι κατασκευαστές ιδιοκτησιακού λογισμικού έχουν τα πλεονεκτήματα που παρέχει +το χρήμα. Οι κατασκευαστές ελεύθερου λογισμικού πρέπει να δημιουργούν +πλεονεκτήματα ο ένας για τον άλλο. Ελπίζω πως κάποια μέρα θα έχουμε μια +μεγάλη συλλογή από βιβλιοθήκες που διατίθενται υπό τη ΓΑΔΧ GNU, για τις +οποίες δεν θα υπάρχει αντίστοιχη λειτουργικότητα διαθέσιμη στο ιδιοκτησιακό +λογισμικό. Αυτές θα παρέχουν χρήσιμες μονάδες για να λειτουργήσουν ως +θεμέλιοι λίθοι σε νέο ελεύθερο λογισμικό και θα συνεισφέρουν στη δημιουργία +ενός σημαντικού πλεονεκτήματος για περαιτέρω ανάπτυξη ελεύθερου λογισμικού.

+ +

(1) Αυτή η άδεια πλέον ονομάζεται Ελάσσων Γενική Άδεια Δημόσιας Χρήσης GNU +(GNU Lesser General Public License), ώστε να μη δημιουργεί την εντύπωση ότι +όλες οι ελεύθερες βιβλιοθήκες οφείλουν να τη χρησιμοποιούν. Δείτε το Γιατί δεν πρέπει να χρησιμοποιήσετε την +Ελάσσων GPL για την επόμενή σας βιβλιοθήκη για περισσότερες πληροφορίες.

+ +

Ψαχουλεύοντας μια φαγούρα;

+

+Ο Eric Raymond λέει ότι “Κάθε καλή δουλειά λογισμικού ξεκινά +ψαχουλεύοντας την προσωπική φαγούρα του δημιουργού του.” Αυτό μερικές +φορές μπορεί να συμβαίνει πραγματικά, αλλά πολλά απαραίτητα κομμάτια του +λογισμικού GNU αναπτύχθηκαν για να έχουμε ένα ολοκληρωμένο ελεύθερο +λειτουργικό σύστημα. Προέρχονται από ένα όραμα κι ένα σχεδιασμό, όχι από +αυθόρμητη διάθεση.

+

+Για παράδειγμα, αναπτύξαμε την GNU βιβλιοθήκη της C επειδή ένα σύστημα τύπου +Unix χρειάζεται μία C βιβλιοθήκη, το BASH επειδή ένα σύστημα τύπου Unix +χρειάζεται ένα κέλυφος, και το GNU tar επειδή ένα σύστημα τύπου Unix +χρειάζεται ένα πρόγραμμα tar. Το ίδιο ισχύει και για τα δικά μου +προγράμματα—το GNU μεταγλωττιστή της C, το GNU Emacs, το GDB και το +GNU Make.

+

+Μερικά προγράμματα GNU αναπτύχθηκαν για ν' αντιμετωπίσουν συγκεκριμένες +απειλές της ελευθερίας μας. Έτσι, αναπτύξαμε το gzip για ν' +αντικαταστήσουμε το πρόγραμμα συμπίεσης Compress, το οποίο είχε χαθεί για +την κοινότητα λόγω των πατεντών LZW. +Βρήκαμε ανθρώπους για ν' αναπτύξουν το LessTif, και πιο πρόσφατα ξεκινήσαμε +το GNOME και το +Harmony για ν' αντιμετωπίσουμε τα προβλήματα που προκαλούνται από +συγκεκριμένες ιδιοκτησιακές βιβλιοθήκες (δείτε παρακάτω). Αναπτύσσουμε το +Φρουρό Ιδιωτικότητας GNU (GPG) για ν' αντικαταστήσουμε δημοφιλές μη-ελεύθερο +λογισμικό κρυπτογράφησης, επειδή οι χρήστες δεν πρέπει να έχουν να διαλέξουν +μεταξύ ιδιωτικότητας και ελευθερίας.

+

+Φυσικά, οι άνθρωποι που ανέπτυσσαν τα παραπάνω προγράμματα ενδιαφέρθηκαν για +τη δουλειά αυτή και προστέθηκαν σ' αυτά πολλά χαρακτηριστικά από διάφορο +κόσμο για την εξυπηρέτηση των αναγκών και των ενδιαφερόντων τους. Ωστόσο +δεν είναι γι' αυτό το λόγο που υπάρχουν τα προγράμματα.

+ +

Απροσδόκητες εξελίξεις

+

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

+

+Καθώς κάθε συστατικό του συστήματος GNU υλοποιήθηκε επάνω σε ένα σύστημα +Unix, κάθε συστατικό μπορούσε να εκτελεστεί σε συστήματα Unix πολύ πριν +εμφανιστεί ένα ολοκληρωμένο σύστημα GNU. Μερικά από αυτά τα προγράμματα +έγιναν δημοφιλή, κι οι χρήστες ξεκίνησαν να τα επεκτείνουν και να τα +μεταφέρουν σε άλλες πλατφόρμες—στις ποικίλες ασύμβατες εκδόσεις του +Unix, και μερικές φορές σε άλλα συστήματα επίσης.

+

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

+ +

Το GNU Hurd

+

+Το 1990, το σύστημα GNU ήταν σχεδόν έτοιμο. Το μόνο βασικό συστατικό που +έλειπε ήταν ο πυρήνας. Είχαμε αποφασίσει να υλοποιήσουμε τον πυρήνα μας σαν +μια συλλογή από διεργασίες διακομιστών που θα έτρεχαν πάνω στο Mach. Ο Mach +είναι ένας μικροπυρήνας ανεπτυγμένος στο Πανεπιστήμιο Carnegie Mellon και +στην συνέχεια στο Πανεπιστήμιο της Utah. Ο πυρήνας GNU Hurd είναι μια +συλλογή από διακομιστές (δηλαδή ένα κοπάδι από GNUs) οι οποίοι εκτελούνται +επάνω στο Mach, και υλοποιούν τις ποικίλες λειτουργίες ενός πυρήνα Unix. Το +ξεκίνημα της ανάπτυξης καθυστέρησε, καθώς περιμέναμε τον Mach να διανεμηθεί +ως ελεύθερο λογισμικό, όπως είχε υποσχεθεί.

+

+Ένας λόγος για τον οποίο διαλέξαμε αυτή τη σχεδίαση ήταν για ν' αποφύγουμε +ότι φαινόταν πως θα είναι το δυσκολότερο κομμάτι της δουλειάς: η +αποσφαλμάτωση ενός προγράμματος πυρήνα χωρίς ένα πρόγραμμα αποσφαλμάτωσης +(debugger) σε επίπεδο πηγαίου κώδικα για να το κάνει. Αυτό το κομμάτι του +έργου είχε ήδη γίνει στον Mach και περιμέναμε ότι θ' αποσφαλματώσουμε τους +διακομιστές του Hurd ως προγράμματα χρηστών, με το GDB. Τελικά όμως μας +πήρε πολύ καιρό για να το κάνουμε αυτό δυνατό, και οι πολύνηματικοί +διακομιστές που στέλνουν μεταξύ τους μηνύματα αποδείχτηκαν τελικά ότι είναι +πολύ δύσκολο ν' αποσφαλματωθούν. Χρειάστηκε προσπάθεια πολλών χρόνων για να +κάνουμε το Hurd να λειτουργεί σταθερά.

+ +

Alix

+

+Ο πυρήνας του GNU δεν είχε προ-σχεδιαστεί να ονομάζεται Hurd. Το αρχικό του +όνομα ήταν Alix—του είχε δοθεί το όνομα της γυναίκας που ήταν η +αγαπημένη μου εκείνο τον καιρό. Αυτή, μια διαχειρίστρια συστημάτων Unix, +μου είχε επισημάνει πώς το όνομα της θα ταίριαζε σαν ένα κοινό ονοματολογικό +πρότυπο για τις εκδόσεις των συστημάτων τύπου Unix. Χαριτολογώντας, είχε +πει στους φίλους της, “Κάποιος θα έπρεπε να βαφτίσει ένα πυρήνα με το +όνομα μου.” Δεν είπα τίποτα, αλλά είχα αποφασίσει να της κάνω έκπληξη +με έναν πυρήνα που θα λέγεται Alix.

+

+Τελικά δε παρέμεινε έτσι. Ο Michael (τώρα Thomas) Bushnell, βασικός +κατασκευαστής του πυρήνα, προτιμούσε το όνομα Hurd, και επανακαθόρισε το +Alix ώστε να αναφέρεται σε ένα συγκεκριμένο τμήμα του πυρήνα—το τμήμα +του οποίου σκοπός του ήταν να παγιδεύει και να διαχειρίζεται όλες τις +κλήσεις του συστήματος, στέλνοντας μηνύματα στους διακομιστές του Hurd.

+

+Αργότερα, η Alix και εγώ χωρίσαμε, και άλλαξε το όνομά της. Ανεξάρτητα από +αυτό, η σχεδίαση του Hurd είχε αλλάξει έτσι ώστε η βιβλιοθήκη της C να +μπορεί να στέλνει μηνύματα απευθείας στους διακομιστές, κι αυτό έκανε το +συστατικό Alix να εξαφανιστεί από την όλη σχεδίαση.

+

+Προτού όμως συμβούν όλα αυτά, ένας φίλος της είχε δει το όνομα Alix στο +πηγαίο κώδικα του Hurd, και της το ανέφερε. Έτσι είχε την ευκαιρία να βρει +έναν πυρήνα με το όνομά της.

+ +

Linux και GNU/Linux

+

+Το GNU Hurd δεν είναι έτοιμο για παραγωγική χρήση, και δεν γνωρίζουμε αν +ποτέ θα είναι. Η σχεδίαση με βάση τις δυνατότητες έχει προβλήματα που +δημιουργούνται απευθείας από την ευελιξία της σχεδίασης, και δεν είναι +ξεκάθαρο αν υπάρχουν λύσεις σ' αυτά.

+ +

+Ευτυχώς, ένας άλλος πυρήνας είναι άμεσα διαθέσιμος. Το 1991, Ο Linus +Torvalds κατασκεύασε ένα συμβατό πυρήνα τύπου Unix και το ονόμασε Linux. +Ήταν ιδιόκτητο αρχικά, αλλά το 1992 το έκανε ελεύθερο λογισμικό. Ο +συνδυασμός του Linux με το μη-εντελώς-ολοκληρωμένο σύστημα GNU αποτέλεσε ένα +πλήρες ελεύθερο λειτουργικό σύστημα. (Φυσικά, αυτός ο συνδυασμός ήταν μια +σημαντική δουλειά από μόνος του). Στο Linux οφείλεται το ότι μπορούμε και +πραγματικά τρέχουμε μια έκδοση του συστήματος GNU σήμερα.

+

+Αποκαλούμε αυτή την έκδοση του συστήματος +GNU/Linux, προκειμένου να εκφράσουμε τη σύνθεσή της ως ενός συνδυασμού +του συστήματος GNU με το Linux ως τον πυρήνα. Παρακαλούμε μην υποπέφτετε +στην πρακτική να καλείτε όλο το σύστημα “Linux”, καθώς αυτό +σημαίνει την απόδοση της δουλειάς μας σε κάποιον άλλο. Παρακαλούμε δώστε μας ισότιμη αναφορά.

+ +

Προκλήσεις στο μέλλον μας

+

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

+

+Οι ακόλουθοι τέσσερις τομείς αναφέρουν αυτές τις προκλήσεις.

+ +

Η μυστικότητα του υλικού

+

+Οι κατασκευαστές υλικού με τον καιρό τείνουν όλο και περισσότερο στην +διατήρηση και απόκρυψη των προδιαγραφών. Αυτό δυσκολεύει την συγγραφή +ελεύθερων οδηγών για το νέο υλικό όπου το Linux και το XFree86 θα πρέπει να +υποστηρίξουν. Σήμερα, έχουμε ολοκληρωμένα ελεύθερα συστήματα, δεν είναι +όμως βέβαιο πως θα συνεχίζουμε να τα έχουμε εάν δεν είμαστε σε θέση να +υποστηρίξουμε τους μελλοντικούς υπολογιστές.

+

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

+

+Η αντίστροφη μηχανική είναι μια δύσκολη δουλειά. Θα έχουμε τους κατάλληλους +προγραμματιστές με αρκετή αποφασιστικότητα για να την αναλάβουν; +Ναι—εάν έχουμε δημιουργήσει ένα δυνατό συναίσθημα ότι το ελεύθερο +λογισμικό είναι ζήτημα αρχών και οι μη ελεύθεροι οδηγοί συσκευών είναι +ανυπόφοροι. Και θα ξοδέψει ένας μεγάλος αριθμός από εμάς επιπλέον χρήματα ή +ακόμη λίγο επιπλέον χρόνο, έτσι ώστε να μπορέσουμε να χρησιμοποιήσουμε +ελεύθερους οδηγούς; Ναι—εάν η αποφασιστικότητα να έχουμε ελευθερία +γίνει ευρέως διαδεδομένη.

+

+(Σημείωση 2008: το ζήτημα αυτό επεκτείνεται και στο BIOS επίσης. Υπάρχει +ένα ελεύθερο BIOS, το LibreBoot (μια +διανομή του coreboot)· το πρόβλημα είναι η εύρεση προδιαγραφών για τις +μηχανές ώστε το LibreBoot να μπορεί να τις υποστηρίξει χωρίς μη-ελεύθερα +“blobs”.)

+ +

Μη ελεύθερες βιβλιοθήκες

+

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

+

+Το πρώτο περιστατικό αυτού του προβλήματος ήταν με την εργαλειοθήκη Motif, +πίσω στη δεκαετία του 80. Αν και τότε δεν υπήρχαν ελεύθερα λειτουργικά +συστήματα, ήταν προφανές το τι πρόβλημα θα τους προκαλούσε το Motif στην +συνέχεια. Το έργο GNU αντέδρασε με δύο τρόπους: ζητώντας από τα μεμονωμένα +έργα ελεύθερου λογισμικού να υποστηρίξουν την ελεύθερη εργαλειοθήκη του X +τόσο καλά όσο το Motif, και ζητώντας κάποιον να συγγράψει μία ελεύθερη +αντικατάσταση του Motif. Η δουλειά αυτή διήρκεσε αρκετά χρόνια. Το LessTif +κατασκευασμένο από τους Πεινασμένους Προγραμματιστές έγινε αρκετά δυνατό +έτσι ώστε να υποστηρίζει τις περισσότερες από τις εφαρμογές του Motif μόλις +το 1997.

+

+Μεταξύ του 1996 και του 1998, μία άλλη μη ελεύθερη GUI βιβλιοθήκη που ονομάζεται Qt χρησιμοποιήθηκε σε +μια ουσιώδη συλλογή ελεύθερου λογισμικού, το γραφικό περιβάλλον KDE.

+

+Τα ελεύθερα συστήματα GNU/Linux αδυνατούσαν να χρησιμοποιήσουν το KDE, +επειδή δεν μπορούσαμε να χρησιμοποιήσουμε την ιδιοκτησιακή βιβλιοθήκη. +Ωστόσο, μερικοί εμπορικοί διανομείς των GNU/Linux συστημάτων οι οποίοι δεν +ήταν αρκετά αυστηροί στο να διανέμουν μόνο ελεύθερο λογισμικό, πρόσθεσαν το +KDE στα συστήματα τους—παράγοντας ένα σύστημα με περισσότερες +δυνατότητες, αλλά με λιγότερη ελευθερία. Η ομάδα του KDE εμψύχωνε ενεργά +περισσότερους προγραμματιστές ώστε να χρησιμοποιούν το Qt, και εκατομμύρια +νέοι χρήστες του “Linux” δεν είχαν ποτέ εκτεθεί στην ιδέα ότι +υπήρχε κάποιο πρόβλημα σε αυτό. Η κατάσταση φάνηκε δύσκολη.

+

+Η κοινότητα ελεύθερου λογισμικού απάντησε με δύο τρόπους: με το GNOME και το +Harmony.

+

+Το GNOME, το GNU περιβάλλον μοντελοποίησης δικτυακών αντικειμένων, είναι το +έργο επιφάνειας εργασίας του GNU. Ξεκινώντας το 1997 από τον Miguel de +Icaza, και κατασκευαζόμενο με την υποστήριξη της Red Hat Software, το GNOME +άρχισε να παρέχει παρόμοιες λειτουργίες επιφάνειας εργασίας, αλλά +χρησιμοποιώντας αποκλειστικά ελεύθερο λογισμικό. Διαθέτει τεχνικά +πλεονεκτήματα επίσης, όπως η υποστήριξη μιας πληθώρας γλωσσών +προγραμματισμού και όχι μόνο της C++. Αλλά ο βασικός σκοπός του ήταν η +ελευθερία: η άρνηση να απαιτείται η χρήση οποιουδήποτε μη ελεύθερου +λογισμικού.

+

+Το Harmony είναι μια συμβατή βιβλιοθήκη αντικατάστασης, που σχεδιάστηκε για +να κάνει δυνατή την εκτέλεση του λογισμικού KDE χωρίς τη χρήση του Qt.

+

+Το Νοέμβριο του 1998, οι κατασκευαστές του Qt ανήγγειλαν μια αλλαγή στην +άδεια, η οποία όταν θα πραγματοποιούνταν, θα έκανε το Qt ελεύθερο +λογισμικό. Δεν υπάρχει τρόπος με τον οποίο μπορούμε να είμαστε σίγουροι, +αλλά νομίζω πως αυτό οφειλόταν στη σταθερή απάντηση της κοινότητας στο +πρόβλημα που το Qt έθετε όταν ήταν μη ελεύθερο. (Η νέα άδεια είναι +ακατάλληλη και άδικη, γ’ αυτό λοιπόν παραμένει επιθυμητή η αποφυγή χρήσης +του Qt).

+

+[Υποσημείωση: τον Σεπτέμβριο του 2000, το Qt εκδόθηκε υπό την GNU ΓΑΔΧ, +κίνηση που ουσιαστικά έλυσε αυτό το πρόβλημα.]

+

+Πως λοιπόν θα αντιδράσουμε στην επόμενη ελκυστική μη ελεύθερη βιβλιοθήκη; Θα +καταλάβει όλη η κοινότητα την ανάγκη να αποφύγουμε την παγίδα; Ή θα +παρατήσουμε πολλοί από εμάς την ελευθερία για την άνεση και θα προκαλέσουμε +ένα μείζον πρόβλημα; Το μέλλον μας εξαρτάται από την φιλοσοφία μας.

+ +

Πατέντες λογισμικού

+

+Η χειρότερη απειλή που αντιμετωπίζουμε προέρχεται από τις πατέντες +λογισμικού, οι οποίες μπορούν να θέσουν αλγόριθμους και χαρακτηριστικά εκτός +των ορίων του ελεύθερου λογισμικού για έως και 20 χρόνια. Οι πατέντες για +τον αλγόριθμο συμπίεσης LZW εφαρμόσθηκαν το 1983 κι ακόμη δεν μπορούμε να +διανείμουμε ελεύθερο λογισμικό που να μπορεί να παράγει κατάλληλα +συμπιεσμένα αρχεία GIF. [Από +το 2009 έχουν λήξει.] Το 1998, ένα ελεύθερο πρόγραμμα που παράγει +συμπιεσμένο ήχο MP3σταμάτησε την +διανομή του υπό την απειλή μιας αγωγής για παραβίαση πατέντας. +

+

+Υπάρχουν τρόποι ώστε να αντιμετωπίσουμε τις πατέντες. Μπορούμε ν' +αναζητήσουμε στοιχεία τα οποία αποδεικνύουν πως μια πατέντα είναι άκυρη, +όπως επίσης μπορούμε ν' αναζητήσουμε διάφορους εναλλακτικούς τρόπους για να +πραγματοποιήσουμε μια συγκεκριμένη εργασία. Ωστόσο και οι δύο παραπάνω +μέθοδοι λειτουργούν μόνο ορισμένες φορές. Όταν καμία από τις δύο δεν είναι +επιτυχής, τότε μια πατέντα μπορεί ν' αναγκάσει όλο το ελεύθερο λογισμικό να +στερείται από κάποια δυνατότητα που επιθυμούν οι χρήστες. Τι θα κάνουμε +όταν αυτό συμβεί;

+

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

+ +

Ελεύθερη Τεκμηρίωση

+

+Η μεγαλύτερη ανεπάρκεια των ελεύθερων λειτουργικών συστημάτων δεν βρίσκεται +στον τομέα του λογισμικού—αλλά στην ανάγκη σωστών και ελεύθερων +εγχειριδίων όπου θα μπορούμε να συμπεριλάβουμε στα συστήματα μας. Η +τεκμηρίωση είναι αναγκαίο κομμάτι για κάθε πακέτο λογισμικού·όταν ένα +πρόγραμμα δεν συνοδεύεται με το ανάλογο σωστό εγχειρίδιο τότε αυτό θεωρείται +σημαντικό έλλειμμα. Στις τρέχουσες ημέρες έχουμε αρκετά ελλείμματα +τεκμηρίωσης λογισμικού.

+

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

+

+Η άδεια τροποποίησης των εγχειριδίων είναι επίσης κρίσιμη. Σαν γενικός +κανόνας, δεν νομίζω πως είναι αναγκαστικό οι άνθρωποι να κατέχουν δικαιώματα +τροποποίησης όλων των ειδών άρθρων και βιβλίων. Για παράδειγμα, δεν νομίζω +πως εσείς ή εγώ είμαστε αναγκασμένοι να δίνουμε δικαιώματα τροποποίησης σε +άρθρα όπως αυτό, το οποίο περιγράφει τις κινήσεις και τις απόψεις μας.

+

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

+

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

+

+Ωστόσο, θα πρέπει να είναι δυνατή η τροποποίηση όλου του *τεχνικού* +περιεχομένου του εγχειριδίου, και στην συνέχεια η διανομή του αποτελέσματος +με όλα τα συνηθισμένα μέσα επικοινωνίας, διαμέσου όλων των συνηθισμένων +καναλιών· διαφορετικά, οι διάφοροι περιορισμοί εμποδίζουν την κοινότητα, το +εγχειρίδιο παύει να είναι πλέον ελεύθερο, και χρειαζόμαστε άλλο εγχειρίδιο.

+

+Θα έχουν την ικανότητα και την αποφασιστικότητα οι προγραμματιστές +λογισμικού να παράγουν ένα πλήρες φάσμα ευρείας έκτασης ελεύθερων +εγχειριδίων; Για ακόμη μια φορά, το μέλλον μας εξαρτάται από την φιλοσοφία +μας.

+ +

Πρέπει να μιλάμε για την ελευθερία

+

+Ο σημερινός προϋπολογισμός δείχνει πως υπάρχουν 10 εκατομμύρια χρήστες των +συστημάτων GNU/Linux, όπως το Debian GNU/Linux και το Red Hat +“Linux”. Το ελεύθερο λογισμικό έχει κατασκευάσει τέτοιες +πρακτικές υπεροχές που διάφοροι χρήστες στρέφονται σε αυτό για καθαρά +πρακτικούς λόγους.

+

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

+

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

+

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

+ +

“Λογισμικό ανοιχτού κώδικα”

+

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

+

+Κάποιοι που ευνοούσαν αυτόν τον όρο στόχευαν ν' αποφύγουν την παρεξήγηση του +“ελεύθερο” με το “δωρεάν”—ένας έγκυρος +στόχος. Κάποιοι άλλοι, ωστόσο, στόχευαν να θέσουν στην άκρη το πνεύμα των +αρχών που είχαν παρακινήσει το κίνημα του ελεύθερου λογισμικού και το έργο +GNU, και ν' απευθυνθούν αντίθετα σε στελέχη και χρήστες εταιριών, πολλοί εκ +των οποίων έχουν μια ιδεολογία η οποία προτάσσει το κέρδος πάνω από την +ελευθερία, πάνω από την κοινότητα, πάνω από τις ηθικές αρχές. Έτσι, η +ρητορική του “ανοικτού κώδικα” επικεντρώνεται στη δυνατότητα +ανάπτυξης υψηλής ποιότητας, ισχυρού λογισμικού, αλλά αποφεύγει τις ιδέες της +ελευθερίας, της κοινότητας και των ηθικών αρχών.

+

+Τα περιοδικά σχετικά με το “Linux” είναι ένα ξεκάθαρο παράδειγμα +αυτού του γεγονότος—είναι γεμάτα με διαφημίσεις για ιδιοκτησιακό +λογισμικό που δουλεύει με το GNU/Linux. Όταν εμφανιστεί το επόμενο Motif ή +Qt, θα προειδοποιήσουν τα περιοδικά αυτά τους προγραμματιστές να μην τα +χρησιμοποιήσουν, ή θα καταχωρούν διαφημίσεις γι' αυτά;

+

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

+

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

+ +

Προσπαθήστε!

+

+Ο αφορισμός του Yoda (“Δεν υπάρχει ‘προσπάθεια’”) +ακούγεται σπουδαίος, για μένα όμως δε λειτουργεί. Πραγματοποίησα την +περισσότερη δουλειά μου όντας ανήσυχος εάν ήμουν ικανός για αυτό, και +αβέβαιος ότι εάν το έκανα θα πετύχαινα τον στόχο μου σε ικανοποιητικό +βαθμό. Όπως και να 'χει όμως προσπάθησα, επειδή δεν υπήρχε κανείς άλλος +εκτός από μένα ανάμεσα στον εχθρό και την πόλη μου. Εκπλήσσοντας τον εαυτό +μου, μερικές φορές το πέτυχα.

+

+Μερικές φορές απέτυχα· κάποιες από τις πόλεις μου κυριεύθηκαν. Τότε +ανακάλυψα μια άλλη απειλούμενη πόλη και ετοιμάσθηκα για την επόμενη μάχη. +Με την πάροδο του χρόνου, διδάχτηκα ν' αντιλαμβάνομαι τις απειλές και να +τοποθετώ τον εαυτό μου ανάμεσα σ' αυτές και την πόλη μου, καλώντας και +άλλους χάκερ να έρθουν και να ενωθούν μαζί μου.

+

+Σήμερα, συχνά δεν είμαι μόνος μου. Νιώθω ανακούφιση κι ευχαρίστηση όταν +βλέπω ένα στρατό από χάκερ να εμπλέκονται σε αυτόν τον πόλεμο προσπαθώντας +να κρατήσουν τη γραμμή και συνειδητοποιώ πως αυτή η πόλη ίσως +επιβιώσει—προς το παρόν. Αλλά οι κίνδυνοι αυξάνονται κάθε χρόνο και +τώρα η Microsoft στοχεύει ρητά την κοινότητά μας. Δεν μπορούμε να θεωρούμε +το μέλλον της ελευθερίας ως δεδομένο. Μην το θεωρείτε δεδομένο! Εάν θέλετε +να κρατήσετε την ελευθερία σας, θα πρέπει να είστε προετοιμασμένοι να την +υπερασπιστείτε.

+ +
+ + +Σημειώσεις του μεταφραστή: +
    +
  1. Από αυτόν.
  2. +
  3. Στην αγγλική γλώσσα ο όρος “free” επιδέχεται +πολλών ερμηνειών.
  4. +
  5. Mε αυτή των συστημάτων.
  6. +
+
+ + + + + + + + + -- cgit v1.2.3