του M. STALLMAN
Μόλις η ομάδα μου διαλύθηκε,η συνέχεια της όπως πρώτα ήταν αδύνατη.
Βρέθηκα αντιμέτωπος με μία δύσκολη ηθική επιλογή.
Η εύκολη επιλογή θα ήταν να ενωθώ με τον κόσμο του εμπορικού Software,υπογράφοντας συμφωνίες μη-διάθεσης και υποσχέσεις άρνησης βοήθειας προς στους συντρόφους μου Hackers.
Με Πάσα πιθανότητα θα είχα αναπτύξει και Software που θα διανεμόταν σύμφωνα με τα συμφωνητικά μη-διάθεσης,συμβάλλοντας έτσι στην πίεση εναντίον άλλων διότι με την σειρά τους θα πρόδιδαν τους συντρόφους τους
Με αυτόν τον τρόπο θα μπορούσα να κερδίσω χρήματα και ίσως να διασκέδαζα να προγραμματίζω.
Αλλά γνώριζα πως στο τέλος της καριέρας μου κάνοντας τον απολογισμό του παρελθόντος,θα έβλεπα την σπατάλη χρόνων για να χτίζω τοίχους που διαιρούν τους Ανθρώπους και πως θα είχα αποτελέσει με την συμβολή μου,στην δημιουργία ενός κόσμου χειρότερου.
Είχα ήδη πειραματιστεί με την σημασία ενός συμφωνητικού μη-διάθεσης για όποιον το υπέγραφε,όταν κάποιος αρνήθηκε σε εμένα και στο Εργαστήριο Τεχνητής Νοημοσύνης του ΜΙΤ τον πηγαίο κώδικα του προγράμματος ελέγχου του εκτυπωτή μας.
(Η έλλειψη μερικών λειτουργιών στο πρόγραμμα δημιουργούσε μεγάλη ταλαιπωρία στην χρήση του εκτυπωτή).
Για το οποίο δεν μπορούσα να μην αναφέρω ό,τι τα συμφωνητικά μη-διάθεσης υπήρξαν αθώα.
Είχα εξοργιστεί πάρα πολύ όταν εκείνο το άτομο αρνήθηκε την διάθεση του προγράμματος σε εμάς,δεν μπορούσα να υποκριθώ πως δεν συνέβαινε τίποτα και να πράξω το ίδιο με όλους τους άλλους.
Μία άλλη πιθανή επιλογή,απλή μα δυσάρεστη, θα ήταν εκείνη της εγκατάλειψης της πληροφορικής.
Δεν θα ήμουν ποτέ υπόλογος της διαίρεσης και της επιβολής περιορισμών στους χρήστες των Υπολογιστών,μα αυτά τα πράγματα θα συνέβαιναν έτσι και αλλιώς.
`Ετσι λοιπόν,έψαχνα κάποιον τρόπο με τον οποίο ένας προγραμματιστής θα μπορούσε να κάνει κάτι το καλό.Αναρωτήθηκα λοιπόν:υπάρχει προγράμμα ή προγράμματα που θα μπορούσα ο ίδιος να γράψω,για να εξασφαλίσω και πάλι την πιθανότητα ύπαρξης μίας κοινότητας?
Η απάντηση ήταν εύκολη:αρχικά χρειαζόταν ένα Λειτουργικό Σύστημα.
Αυτό είναι πράγματι το θεμελιώδες Software για να αρχίσεις να χρησιμοποιείς έναν υπολογιστή.
Με ένα Λειτουργικό Σύστημα μπορούν να γίνουν πολλά πράγματα,χωρίς,είναι αδύνατον να λειτουργήσεις τον υπολογιστή.
Με ένα Λειτουργικό Σύστημα Ελεύθερο,θα μπορούσαμε και πάλι να έχουμε μία κοινότητα στην οποία οι Hackers μπορούν να συνεταιριστούν και να προσκαλέσουν οποιοδήποτε να συμετάσχει στην ομάδα και οποιοσδήποτε θα ήταν σε θέση να χρησιμοποιήσει έναν υπολογιστή,χωρίς να χρειάζεται να συνωμοτήσει εξ'αρχής για να αφαιρέσει κάτι από τους φίλους του.
`Ημουν ένας προγραμματιστής συστημάτων,κατείχα τις ειδικές γνώσεις για αυτήν την εργασία.
`Ετσι,αν και δεν προεξοφλούσα την επιτυχία,θεώρησα ότι αποτελώ το κατάλληλο πρόσωπο για να το πράξει.
Επέλεξα να παραδώσω το σύστημα συμβατό με το Unix,κάτα τρόπο μεταφερόμενο,ώστε οι χρήστες του Unix να μπορούν να περάσουν εύκολα σε αυτό.
Το όνομα GNU επιλέχθηκε σύμφωνα με την παράδοση των Hackers,ως συντόμευση που σημαίνει "GNU's Not UNIX"[GNU δεν είναι Unix].
`Ενα Λειτουργικό Σύστημα δεν περιορίζεται μόνο στον πηρύνα του,που αποτελεί το ελάχιστο για να εκτελέσει άλλα προγράμματα.
Στην δεκαετία του 1970,οποιοδήποτε Λειτουργικό Σύστημα αντάξιο του ονοματός του διέθεται μεταφραστές εντολών,assemblers,μεταγλωτιστές,μεταφραστές γλωσσών,debugger,editor αρχείων,προγράμματα ταχυδρομείου και άλλα πολλά.
Ο ITS τα είχε,ο Multics τα είχε,ο VMS τα είχε και το Unix.
Συνεπώς και το Λειτουργικό Σύστημα Gnu θα έπρεπε να τα έχει.
Καιρό μετά έμαθα το καλύτερο,το οποίο αποδίδεται στον σοφό Εβραίο Hillel:
"Αν δεν είμαι για το ίδιον τον εαυτό μου,ποιος θα είναι για εμένα?
Και αν είμαι για τον εαυτό μου μόνο,τι είμαι?
Και αν όχι τώρα,πότε?"
Η απόφαση να αρχίσω το πρόγραμμα GNU βασίστηκε σε αυτό το πνεύμα.
`Οντως `Αθεος,δεν ακολουθώ κανέναν Θρησκευτικό οδηγό,αλλά μερικές φορές θαυμάζω κάτι που κάποιος από αυτούς έχει πει.
"FREE" ΟΠΩΣ ΕΛΕΥΘΕΡΟ
Ο όρος "Ελεύθερο Λογισμικό"
[Ο όρος "FREE" στα Αγγλικά σημαίνει και Δωρεάν και Ελεύθερο]μερικές φορές είναι κακώς εννοούμενο:
δεν έχει τίποτα να κάνει με την τιμή του Software,έχει να κάνει με την Ελευθερία.
`Αρα,επομένως,ο ορισμός του Ελεύθερου Λογισμικού:
`Ενα πρόγραμμα αποτελεί Ελεύθερο Λογισμικό για έναν δεδομένο χρήστη αν:
* O χρήστης έχει την Ελευθερία να εκτελέσει το πρόγραμμα για οποιδήποτε σκοπό.
* O χρήστης έχει την Ελευθερία να τροποποιήσει το πρόγραμμα σύμφωνα με τις ανάγκες του( γιατί για να έχει αυτή η Ελευθερία κάποιο αποτέλεσμα τελικά,είναι αναγκαίο να διαθέτουμε την πρόσβαση στον πηγαίο κώδικα του προγράμματος,αφού για να δώσουμε τις τροποποιήσεις σε ένα πρόγραμμα χωρίς την διάθεση του πηγαίου κώδικα είναι πάρα πολύ δύσκολο).
* O χρήστης έχει την Ελευθερία να διανέμει αντίτυπα του προγράμματος,δωρεάν ή με αποζημίωση.
* O χρήστης έχει την Ελευθερία να διανέμει εκδόσεις τροποποιημένες του προγράμματος,ώστε η κοινότητα να μπορεί να κάνει χρήση των διορθώσεων.
Αφού η λέξη "FREE"αναφέρεται στην Ελευθερία και όχι στο κόστος,η πώληση ενός προγράμματος δεν αντιτίθεται στο νόημα του Ελεύθερου Λογισμικού.
Πράγματι,η Ελευθερία της πώλησης αντιτύπων των προγράμματων είναι ουσιώδες:
οι συλλογές του Ελεύθερου Λογισμικού που είναι προς πώληση σε CD-ROM είναι σημαντικές για την κοινότητα και η πώληση τους αποτελεί έναν τρόπο για την συλλογή πόρων σημαντικών για την ανάπτυξη του Ελεύθερου Λογισμικού.
Συνεπώς,ένα πρόγραμμα που δεν μπορεί να περιέχεται Ελεύθερα σε αυτές τις συλλογές δεν είναι Ελεύθερο Λογισμικό.
ΑΡΧΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ
Τον Ιανουάριο του 1984 εγκατέλειψα την θέση μου στο ΜΙΤ και άρχισα να γράφω Software GNU.
Εξαναγκάστηκα να εγκαταλείψω το ΜΙΤ,για να αποφύγω τις παρεμβάσεις στην διανομή GNU ως Ελεύθερο Λογισμικό.
Αν είχα παραμείνει,το ΜΙΤ θα μπορούσε να είχε προσβάλλει την ιδιοκτησία της εργασίας και θα μπορούσε να επιβάλλει τους δικούς του όρους διανομής,ή,επίσης να δημιουργήσει ένα πακέτο ιδιοκτησίας.
Δεν είχα καμμία πρόθεση να κάνω τόση πολύ δουλειά μόνο για να το βλέπω να καθίσταται άχρηστο για τον αρχικό του σκοπό:
η δημιουργία μίας καινούργιας κοινότητας ανταλλαγής Software.
Εν πάση περιπτώσει,ο καθηγητής Winston--τότε υπεύθυνος του Εργαστηρίου του ΜΙΤ--μου πρότεινε,ευχαρίστως,να συνεχίσω να χρησιμοποιώ τον εξοπλισμό του Εργαστηρίου.
ΤΑ ΠΡΩΤΑ ΒΗΜΑΤΑ
Λίγο αργότερα αφού είχα ξεκινησεί το project GNU,έμαθα για το Free University Kit,γνωστό επίσης σαν VUCK(Η Ολανδική λέξη που αντιστοιχεί στο "Free").
`Ηταν ένας μεταγλωττιστής που διαχειριζόταν πολλές γλώσσες,μεταξύ των οποίων C και Pascal, προκειμένου να παραχθεί δυαδικός κώδικας για διαφορετικές Αρχιτεκτονικές.
`Εγραψα στον δημιουργό του ζητώντας αν το GNU θα μπορούσε να τον χρησιμοποιήσει.
Μου απάντησε με τρόπο ειρωνικό,λεγωντάς μου πως το Πανεπιστήμιο ήταν Ελεύθερο μα όχι ο μεταγλωττιστής.
Αποφάσισα,τότε,πως το πρώτο προγραμμά μου για το project GNU θα έπρεπε να είναι ένας μεταγλωττιστής πολύγλωσσος και πολυμορφικός.
Ελπίζωντας να αποφύγω την συγγραφή,από εμένα,ολόκληρου του μεταγλωττιστή απόκτησα τον πηγαίο κώδικα της Pastel που ήταν ένας μεταγλωττιστής πολυμορφικός δημιουργημένος στα Εργαστήρια του Lawrence Livermore.
Η γλώσσα που υποστήριζε,με την οποία το Pastel το ίδιο είχε γραφτεί,ήταν μία έκδοση εκτεταμένη της Pascal,δημιουργημένη σαν γλώσσα προγραμματισμού Συστημάτων.
Εγώ πρόσθεσα ένα frontend για την C και άρχισα το porting για τον μικροεπεξεργαστή Motorola 68000,μα αναγκάστηκα να το εγκαταλείψω όταν ανακάλυψα οτι ο μεταγλωττιστής απαιτούσε αρκετά megabyte μνήμης στο stack,ενώ το διαθέσιμο σύστημα Unix για τον μικροεπεξεργαστή Motorola 68000 απαιτούσε μόνο 64κ.
Κατάλαβα,τότε,ότι ο μεταγλωττιστής της Pastel μετάφραζε το αρχείο εισόδου δημιουργόντας έναν συντακτικό κορμό,τον οποίο μετέτρεπε σε μία αλυσίδα "εντολών",συνεπώς δημιουργούσε ολόκληρο το αρχείο εξόδου χωρίς ποτέ να απελευθερώνει μνήμη.
Σε αυτό το σημείο κατέληξα ό,τι θα έπρεπε να γράψω έναν μεταγλωττιστή από το μηδέν.
Αυτός ο καινούργιος μεταγλωττιστής είναι σήμερα γνωστός ως Gcc.
Δεν χρησιμοποιεί τίποτα από τον μεταγλωττιστή της Pastel,αλλά κατάφερα να προσαρμόσω και να ξαναχρησιμοποιήσω το frontend για την C που είχα γράψει.
Αυτό όμως συνέβηκε κάποια χρονιά αργότερα,πρώτα,εργάστηκα με τον GNU Emacs.
GNU Emacs
`Αρχισα να εργάζομαι με τον GNU Emacs τον Σεπτέμβρη του 1984 και στις αρχές του 1985 ξεκίνησε να λειτουργεί.
`Ετσι κατάφερα να αρχίσω να χρησιμοποιώ συστήματα Unix για να γράφω.
Μέχρι τότε είχα γράψει,πάντα,επάνω σε άλλους τύπους "μηχανών" και δεν είχα κανένα ενδιαφέρον να μάθω vi και ed.
Σε αυτό το σημείο μερικοί άρχισαν να χρησιμοποιούν GNU Emacs,έτσι τέθηκε το πρόβλημα πώς να το διανέμω.
Βεβαίως τον διέθεσα στον server ftp ανώνυμο του υπολογιστή που χρησιμοποιούσα στο ΜΙΤ(αυτός ο υπολογιστής,prep.ai.mit.edu,γίνεται έτσι ο ιστοχώρος ftp αρχικός του GNU.
`Οταν μερικά χρόνια αργότερα βγήκε εκτός λειτουργίας,μεταφέραμε το όνομα στο δικό μας ftp server).
Αλλά τότε πολλά από τα ενδιαφερόμενα άτομα δεν είχαν internet και δεν μπορούσαν να αποκτήσουν ένα αντίτυπο διαμέσου του ftp,έτσι λοιπόν τέθηκε το πρόβλημα τι θα μπορούσα να τους πώ.
θα μπορούσα να τους πώ"βρές έναν φίλο που είναι στο διαδύκτιο διαθέσιμος να σου δώσει ένα αντίτυπο.
Αλλιώς θα μπορούσα να τους πώ να κάνουν εκείνο που Έκανα με το πρωτότυπο του Emacs στον PDP-10,δηλαδή "ταχυδρόμησε έναν φάκελο άδειο και μία "ταινία" και εγώ θα σου τον στείλω με τον Emacs επάνω.
`Ομως ήμουν χωρίς δουλειά και έψαχνα έναν τρόπο για να εξοικονομήσω χρήματα με το Ελεύθερο Λογισμικό.
`Ετσι γνωστοποίησα ό,τι θα ταχυδρομούσα μία "ταινία"σε όποιον θα ήθελε για 150 δολάρια.
Με αυτόν τον τρόπο,δημιούργησα μία επιχείρηση διανομής Ελεύθερο Λογισμικού που προηγήθηκε όλων των εταιρειών όπoυ σήμερα,διανέμουν ολόκληρα συστήματα GNU βασισμένα στο linux.
ΕΝΑ ΠΡΟΓΡΑΜΜΑ ΕΙΝΑΙ ΕΛΕΥΘΕΡΟ ΓΙΑ ΟΛΟΥΣ?
Αν ένα πρόγραμμα είναι Ελεύθερο Λογισμικό όταν βγαίνει από τα χέρια του δημιουργού του,δεν σημαίνει απαραιτήτως ό,τι θα αποτελεί Ελεύθερο Λογισμικό για οποιονδήποτε διαθέτει ένα αντίτυπο.
Για παράδειγμα,το Software της δημόσιας ιδιοκτησίας(Software χωρίς copyright)είναι Ελεύθερο Λογισμικό,αλλά οποιοσδήποτε μπορεί να κάνει μία τροποποιημένη έκδοση με δικαιώματα πνευματικής ιδιοκτησίας.
Αναλόγως,πολλά προγράμματα Ελεύθερα προστατεύοντε από τα δικαιώματα πνευματικής ιδιοκτησίας,αλλά διανέμοντε με απλές άδειες που επιτρέπουν να δημιουργείτε εκδόσεις με την συνοδεία copyright.
Οι δημιουργοί του X Windows System δεν υποστήριζαν ό,τι αυτό αποτελεί ένα πρόβλημα,πράγματι το περίμεναν και ήταν στις προθέσεις τους που συνέβη.
Ο σκοπός τους δεν ήταν η Ελευθερία,απλώς η "επιτυχία",βασισμένη στο σκεπτικό "να έχουμε πολλούς χρήστες".
Δεν τους απασχολούσε αν αυτοί οι χρήστες ήταν Ελεύθεροι,αλλά μόνο αν ήταν πολλοί.
Αυτό οδήγησε σε μία παράδοξη κατάσταση με την οποία δημιουργήθηκαν δύο απόψεις διαφορετικές μετρήσεως της ποσότητας Ελευθερίας που προέκυπταν από τις απαντήσεις στο ερώτημα <<αυτό το πρόγραμμα είναι Ελεύθερο>>?
Κρίνοντας βάση της προσφερόμενης Ελευθερίας που προέκυπταν από τους όρους διανομής του ΜΙΤ,κάποιος θα μπορούσε να θεωρήσει ότι το X ήταν Ελεύθερο Λογισμικό.
`Ομως υπολογίζοντας την Ελευθερία του μέσου χρήστη του Χ,θα μπορούσε κάποιος να πεί ότι το Χ ήταν Λογισμικό με άδεια ιδιοκτησίας.
Το μεγαλύτερο μέρος των χρηστών του Χ χρησιμοποιούσαν εκδόσεις ιδιωτικές,εφοδιασμένες με τα συστήματα Unix μα όχι στην Ελεύθερη εκδοσή τους.
ΤΑ ΠΝΕΥΜΑΤΙΚΑ ΔΙΚΑΙΩΜΑΤΑ(COPYLEFT)ΚΑΙ Η GPL
Ο στόχος του GNU επιδίωκε να προσφέρει Ελευθερία στους χρήστες,όχι μόνo να επιτύχει την ευρεία διαδοσή του.
Χρειαζόμασταν,λοιπόν,όρους διανομής που απέτρεπαν το Software GNU να μετατρέπεται σε Software με πνευματικά δικαιώματα.
Η μέθοδος που χρησιμοποιούμε ονομάζεται copyleft.
άδεια ιδιοκτησίας του δημιουργού(copyleft)χρησιμοποιεί τους νόμους των δικαιωμάτων του δημιουργού(copyleft),μα τους αντιστρέφει για να επιτύχει τους αντίθετους στόχους:
αντί να αποτελεί μία μέθοδο για να ιδιωτικοποιεί το Software,γίνεται αντίθετα ένα μέσο για να το διατηρεί Ελεύθερο.
Η ουσία της ιδέας της άδειας ιδιοκτησίας του δημιουργού είναι να παρέχει σε οποιονδήποτε την άδεια να εκτελέσει το πρόγραμμα,να αντιγράψει το πρόγραμμα,τροποποιήσει το πρόγραμμα και να διανέμει εκδόσεις τροποποιημένες,αλλά δίχως να παρέχει την άδεια πρόσθετων περιορισμών.
Κάτα τρόπο ώστε οι βασικές Ελευθερίες που καθορίζονται από το "Free Software"(Ελεύθερο Λογισμικό)να διασφαλίζονται σε οποιονδήποτε κατέχει ένα αντίτυπο και να γίνονται δικαιώματα αναπαλλοτρίωτα.
Για να έχουμε μία ικανοποιητική άδεια ιδιοκτησίας του δημιουργού,πρέπει και όλες οι τροποποιημένες(παράγωγες) εκδόσεις να είναι Ελεύθερες.
Δηλαδή να διασφαλίζεται κάθε εργασία που προέρχεται από εμάς και να διατίθεται για την κοινότητα μας,αν έχει δημοσιοποιηθεί.
`Οταν επαγγελματίες προγραμματιστές δουλεύουν επάνω σε ένα Software GNU ως Εθελοντές,η άδεια πνευματικής ιδιοκτησίας είναι που υπαγορεύει στους δωρητές εργασίας τους να πούν
<<δεν μπορείς να διανέμεις αυτές τις αλλαγές διότι έχουμε την πρόθεση να τις χρησιμοποιήσουμε για την δημιουργία της δικής μας εμπορικής έκδοσης του προγράμματος>>.
Η πρόταση ό,τι οι αλλαγές πρέπει να είναι Ελεύθερες είναι θεμελιώδης αν επιθυμούμε να διασφαλίσουμε την Ελευθερία προς όλους τους χρήστες του προγράμματος.
Οι Εταιρείες που ιδιωτικοποιούσαν το X Windows System συνήθως είχαν κάνει κάποια τροποποίηση προκειμένου να μεταφερθεί το πρόγραμμα στα δικά τους συστήματα και μηχανηματά.
Είχε να κάνει με μικρές αλλαγές σε σχέση με το μέγεθος του Χ,αλλά όχι ασήμαντες.
Αν το να κάνεις κάποιες αλλαγές αποτελεί μία πρόφαση για να στερήσουμε την Ελευθερία από τους χρήστες,θα ήταν εύκολο για οποιονδήποτε να εκμεταλευθεί αυτήν την αφορμή.
Μία προβληματική συσχέτιση αποτελεί ο συνδιασμός ενός Ελεύθερου προγράμματος με προγράμματα που δεν διαθέτουν κώδικα Ελεύθερο.
`Ενας τέτοιος συνδιασμός αναπότρεπτα δεν είναι Ελεύθερος.
Κάθε έλλειψη Ελευθερίας από την πλευρά του μη-Ελεύθερου κώδικα θα περιορίζει επίσης και το σύνολο του υπόλοιπου προγράμματος.
Η αποδοχή τέτοιων συνδιασμών θα προξενούσε όχι μόνο ένα μικρό άνοιγμα,αλλά μία τρύπα μεγάλη όσο ένα σπίτι.
Συνεπώς μία απαίτηση αυτού του είδους θεωρείται θεμελιώδης για τα πνευματικά δικαιώματα του δημιουργού και για να βουλώσουμε την τρύπα.
Κάθε,λοιπόν,συμπλήρωση ή συνδιασμός που συνοδεύει ένα πρόγραμμα προστατευόμενο από τα πνευματικά δικαιώματα του δημιουργού επιβάλλεται να καταλήγει σε ένα πρόγραμμα Ελεύθερο και προστατευόμενο από τα πνευματικά δικαιώματα του δημιουργού.
H συγκεκριμένη μορφή των πνευματικών δικαιωμάτων του δημιουργού που χρησιμοποιούμε για το μεγαλύτερο μέρος του Software GNU είναι η GNU General Public License σε συντομογραφία GNU GPL.
Το 1984 ή 1985 ο Don Hopkins,ένα άτομο πολύ ευρηματικό,μου έστειλε ένα γράμμα.
Μέσα στον φάκελο είχε γράψει διάφορες πνευματώδεις φράσεις,από τις οποίες την εξής
"πνευματικά δικαιώματα του δημιουργού--όλα τα δικαιώματα αντεστραμένα".
Χρησιμοποίησα την έκφραση αυτήν "πνευματικά δικαιώματα του δημιουργού"[copyleft]για να βαφτίσω την έννοια διανομής την οποία τότε επεξεργαζόμουν.
H FREE SOFTWARE FOUNDATION
Με το πέρασμα του χρόνου το ενδιαφέρον για τον Emacs μεγάλωνε και άρχισαν άτομα να συμμετέχουν στο project GNU.
Αποφασίσαμε,λοιπόν,ότι έφτασε το πλήρωμα του χρόνου για την εύρεση χρημάτων.
`Ετσι το 1985 ιδρύσαμε την Free Software Foundation(FSF),μία οργάνωση non-profit για την ανάπτυξη του Ελεύθερου Λογισμικού.
Η FSF μεταξύ άλλων επιφορτίσθηκε και με την διανομή των "ταινιών" του Emacs.
Αργότερα επέκτεινε την δραστηριοτητά της προσθέτοντας στην "ταινία" διανομής του Emacs πρόσθετο Software Ελεύθερου Λογισμικού(προγράμματα GNU και άλλα που δεν ήταν GNU)επιπλέον πουλούσε οδηγούς βοήθειας.
Η FSF δέχεται δωρεές αλλά το μεγαλύτερο μέρος των εσόδων της προέρχεται από τις πωλήσεις αντιτύπων Ελεύθερου Λογισμικού και υπηρεσίες σχετικές.
Σήμερα πουλάει CD-ROM του πηγαίου κώδικα,CD-ROM προγραμμάτων μεταγλωττισμένων, οδηγούς βοήθειας επαγγελματικά εκτυπωμένους(όλα τα προιόντα μας διανείμονται με την δυνατότητα επαναπώλησης ή αλλαγών)και διανομές Deluxe(μέσα στις οποίες μεταγλωττίζουμε ολόκληρη την γκάμα του Software για οπιαδήποτε αρχιτεκτονική Hardware μας ζητείται).
Οι υπάλληλοι της Free Software Foundation(FSF) έχουν γράψει και επιμεληθεί τα διάφορα "πακέτα" λογισμικού GNU.
Ανάμεσα αυτών βρίσκονται η βιβλιοθήκη C και η Shell.
Η βιβλιοθήκη C της GNU χρησιμοποιήθηκε για κάθε πρόγραμμα που τρέχει στα συστήματα GNU/linux για να επικοινωνούν με τον πυρήνα linux.
Γράφτηκε από ένα μέλος της ομάδας Free Software Foundation(FSF),τον Roland McGrath.
Η Shell που χρησιμοποιήθηκε στο μεγαλύτερο μέρος των συστημάτων GNU/linux είναι η Bash,η Bourne Again Shell που γράφτηκε από τον Brian Fox,υπάλληλο της Free Software Foundation(FSF).
Χρηματοδοτούμε την ανάπτυξη αυτών των προγραμμάτων διότι το project GNU δεν απέβλεπε μόνο στα εργαλεία εργασίας ή στο περιβάλλον ανάπτυξης.
Ο στόχος μας ήταν ένα ολοκληρωμένο Λειτουργικό Σύστημα και αυτά τα προγράμματα ήταν απαραίτητα για την επίτευξη του σκοπού μας.
["Bourne Again Shell"αποτελεί ένα λογοπαίγνιο του ονόματος "Bourne Shell"το οποίο αποτελούσε την βασική Shell του Unix,"Bourne Again Shell"
θυμίζει την χριστιανική ρήση "born again","αναγεννημένος",εν Χριστώ].
Η ΥΠΟΣΤΗΡΙΞΗ ΤΟΥ Ελεύθερου Λογισμικού
Η φιλοσοφία του Ελεύθερου Λογισμικού απορρίπτει μία διαδεδομένη πρακτική Εμπορική ιδιαιτέρως,όμως δεν εναντιώνεται στο εμπόριο.
`Οταν μία επιχείρηση σέβεται την ελευθερία του χρήστη,της ευχόμαστε κάθε επιτυχία.
Η πώληση αντιτύπων του Emacs εξηγεί έναν τρόπο να οδηγηθούν οι συναλλαγές διαμέσου του Ελεύθερου Λογισμικού .
`Οταν η FSF ανέλαβε αυτήν την δραστηριότητα,έπρεπε να αναζητήσει μία άλλη πηγή υποστηρικτών.
Την βρήκε στις πωλήσεις υπηρεσιών σχετικών με το Ελεύθερο Λογισμικό που είχα αναπτύξει, όπως η εκμάθηση θεμάτων σχετικά με τον προγραμματισμό του Emacs και αλλαγές του GCC,επιπλέον η ανάπτυξη λογισμικού,κυρίως όμως την προσαρμογή του GCC σε καινούργιες Αρχιτεκτονικές.
Μερικές διανέμουν συλλογές Software Ελεύθερου σε CD-ROM,άλλες προσφέρουν συμβουλές σε διάφορα επίπεδα, ή βοηθούν τον χρήστη που βρίσκεται σε δυσκολία μέχρι και στην διόρθωση λαθών ως και στην προσθήκη λειτουργιών δύσκολων.
Αρχίζουν να επηρεάζονται και εταιρείες που βασίζονται στην προώθηση καινούργιων προγραμμάτων Ελεύθερων.
Προσοχή όμως--διάφορες Εταιρείες που φέρουν το σήμα "open source"στην πραγματικότητα θεμελιώνουν τις δραστηριοτητές τους στο Software όχι Ελεύθερο που λειτουργεί μαζί με το Ελεύθερο Λογισμικό.
Αυτές δεν αποτελούν Εταιρείες Ελεύθερου Λογισμικού,είναι Εταιρείες Εμπορικού Λογισμικού που τα προιόντα τους παρασύρουν τους χρήστες μακριά από την Ελευθερία.
Αυτοί τα ονομάζουν "προστιθέμενη αξία" και μας αναγάγουν σε αξίες που θα τους εξυπηρετούσαν αν τις ενστερνιζόμασταν.
Αν εμείς υποστηρίζουμε ότι η Ελευθερία έχει περισσότερη αξία,πρέπει να ονομάζουμε τα προιόντα τους "καταχραστική Ελευθερία".
ΤΕΧΝΙΚΟΙ ΣΤΟΧΟΙ
Βασικός στόχος του GNU ήταν να είναι Ελεύθερο Λογισμικό.
Αν και το GNU δεν είχε κανένα πλεονέκτημα τεχνικό σε σχέση με το Unix,θα μπορούσε να αποτελεί ένα κοινωνικό πλεονέκτημα,επιτρέποντας στους χρήστες να συνεταιριστούν,αποτελεί ένα ηθικό πλεονέκτημα,σεβόμενο την Ελευθερία τους.
Επιπλέον,σε αντίθεση με το Unix που ήταν σχεδιασμένο για μικρές διαστάσεις μνήμης,αποφασίσαμε να μην υποστηρίζει τις μηχανές των 16 bit(ήταν ξεκάθαρο ότι οι μηχανές των 32 bit θα αποτελούσαν τον κανόνα όταν το σύστημα GNU θα ολοκληρονώνταν),για να μην μας απασχολήσει η μείωσει της απαίτησης μνήμης εκτός και αν ξεπερνούσε το Megabyte.
Στα προγράμματα για τα οποία δεν ήταν θεμελειώδης η διαχείρησει των πολύ μεγάλων αρχείων,ωθούμε τους προγραμματιστές να διαβάσoυν στη μνήμη ολόκληρο το αρχείο εισόδου ώστε να αναλυθεί το αρχείο χωρίς να αναλογιστούμε τις εργασίες Ι/Ο.
Αυτές οι αποφάσεις έκαναν πολλά προγράμματα GNU να υπερβούν τα αντίστοιχα Unix τόσο σε σταθερότητα όσο και σε ταχύτητα εκτελέσεως.
ΔΩΡΕΕΣ ΥΠΟΛΟΓΙΣΤΩΝ
Σιγά σιγά,η φήμη του project GNU μεγάλωνε,μερικοί άρχισαν να δωρίζουν υπολογιστές που έτρεχαν Unix.
Αυτά τα μηχανήματα ήταν πολύ χρήσιμα,διότι ο πιο απλός τρόπος για την ανάπτυξη των συστατικών μερών του Unix ήταν να το πράξουμε σε μηχανήματα που έτρεχαν Unix έτσι ώστε να αντικαθιστούμε κάθε μέρος τους ένα προς ένα.
Αλλά αυτά τα μηχανήματα μας έθεταν και ένα ηθικό πρόβλημα:
αν ήταν σωστό,για εμάς,η κατοχή έστω και ένος αντίτυπου του Unix.
Το Unix ήταν και είναι Εμπορικό Λογισμικό,επίσης η φιλοσοφία του project GNU έλεγε πως δεν θα έπρεπε να χρησιμοποιούμε Software Εμπορικό.
`Ομως,εφαρμόζωντας τον ίδιο συλλογισμό με τον οποίο "η αναγνωρισμένη βία ασκείται μόνο για την αυτο-άμυνα" κατέληξα πως ήταν νόμιμη η χρήση ενός Εμπορικού Λογισμικού.
Eάν,δηλαδή, ήταν σημαντική η δημιουργία ενός υποκατάστατου ελεύθερου που θα επιτρέπει σε αλλούς να πάψουν να χρησιμοποιούν το αντίστοιχο Εμπορικό.
Εντούτοις, αφού ήταν ένα αναγκαίο κακό αποτελούσε πάντα ένα κακό.
Σήμερα δεν έχουμε πια κάποιο αντίτυπο του Unix,διότι το αντικαταστήσαμε με Λειτουργικά Συστήματα Ελεύθερα.
`Οταν δεν δυνάμεθα να αντικαταστήσουμε το Λειτουργικό Σύστημα ενός υπολογιστή με ένα Ελεύθερο,αντικαθιστούμε τον υπολογιστή.
Η ΛΙΣΤΑ ΤΩΝ ΕΡΓΑΣΙΩΝ ΤΟΥ GNU
Ενώ το project GNU προχωρούσε,έναν μεγάλο αριθμό συστατικών του τον βρίσκαμε ή τον αναπτύσαμε οι ίδιοι,αποτέλεσε χρήσιμο να δημιουργήσουμε έναν κατάλογο των τμημάτων που ακόμα έλειπαν.
Xρησιμοποιήσαμε αυτόν τον κατάλογο προκειμένου να δεσμεύθουν οι προγραμματιστές να γράψουν αυτά τα τμήματα, ο οποίος ονομάζεται κατάλογος εργασιών του GNU.
Επιπλέον στα τμήματα Unix που έλειπαν εισάγαμε διάφορα projects προγραμματισμού ή συγγραφής οδηγών βοήθειας όπου κατά την γνώμη μας δεν θα έπρεπε να λείπουν από ένα Λειτουργικό Σύστημα πραγματικά ολοκληρωμένο.
Σήμερα δεν εμφανίζεται κανένα τμήμα Unix στον κατάλογο εργασιών του GNU,όλες αυτές οι εργασίες,αν εξαιρέσουμε κάποια τμήματα επουσιώδη,έχουν ήδη πραγματοποιηθεί.
Από την άλλη πλευρά ο κατάλογος είναι γεμάτος από projects τα οποία κάποιος θα ονόμαζε "εφαρμογές":κάθε πρόγραμμα που ενδιαφέρει ένα σημαντικό μέρος των χρηστών θα αποτελούσε ένα πρόσθετο κέρδος για κάθε λειτουργικό σύστημα.
Ο κατάλογος περιέχει και παιχνίδια,έτσι ήταν εξ'αρχής: το Unix περιείχε και παιχνίδια,για αυτό ήταν φυσικό ότι το ίδιο θα ίσχυε και για το GNU.
Αλλά εφόσον δεν υπήρξαν απαιτήσεις συμβατότητας για τα παιχνίδια, δεν εμμείναμε στην επιλογή των παιχνιδιών του Unix,προτιμώντας μάλλον να προσφέρουμε έναν κατάλογο διαφόρων τύπων παιχνιδιών ιδιαιτέρως αγαπητά στους χρήστες.
ΟΙ ΑΔΕΙΕΣ GNU ΓΙΑ ΤΙΣ ΒΙΒΛΙΟΘΗΚΕΣ
Η βιβλιοθήκη C του συστήματος GNU χρησιμοποιεί έναν ειδικό τύπο πνευματικών δικαιωμάτων,την "Δημόσια άδεια GNU για τις βιβλιοθήκες"η οποία επιτρέπει την χρήση της βιβλιοθήκης από την πλευρά του Εμπορικού Software.
Γιατί,αυτή η εξαίρεση?
Δεν τίθεται θέμα αρχής:δεν τίθεται κανένα θέμα αρχής που να λέει ό,τι τα Εμπορικά προιόντα έχουν το δικαίωμα να περιέχουν τον δικό μας κώδικα(Γιατί να συμβάλλουμε σε ένα project το οποίο έχει θεμελιωθεί στην άρνηση συναλλαγής με εμάς?).Η χρήση της άδειας LGPL για την βιβλιοθήκη C,ή για οποιαδήποτε άλλη βιβλιοθήκη,αποτελεί μία πράξη στρατηγικής.
Η βιβλιοθήκη C πραγματοποιεί μία γενική λειτουργία:κάθε Εμπορικό λειτουργικό σύστημα και κάθε μεταγλωττιστής περιέχουν μία βιβλιοθήκη C.
Συνεπώς,διατίθοντας την δική μας βιβλιοθήκη C μόνο για τα Ελεύθερα προγράμματα δεν θα μας παρείχε κανένα όφελος για τα Ελεύθερα προγράμματα,θα είχε μόνο αποσυνδέση την χρήση της δικής μας βιβλιοθήκης.
Με μόνη εξαίρεση σε αυτήν την περίπτωση:στο σύστημα GNU(όρος που περιέχει GNU/Linux)όπου η μόναδικη βιβλιοθήκη C διαθέσιμη είναι εκείνη της GNU.
Δηλαδή οι όροι της διανομής της δικής μας βιβλιοθήκης C καθορίζουν εάν είναι δυνατό ή λιγότερο να συνταχθεί ένα Εμπορικό πρόγραμμα για το σύστημα GNU.
Δεν υπάρχουν ηθικοί λόγοι για την παροχή άδειας χρήσης Εμπορικών εφαρμογών στα σύστηματα GNU,αλλά στρατηγικά φαίνεται ότι η αποτρoπή της χρήσης θα χρησίμευε για να αποθαρρύνει το σύστημα GNU και όχι να το ενθαρρύνει για την ανάπτυξη Ελεύθερων εφαρμογών.
`Ωστε λοιπόν η χρήση της άδειας LGPL αποτελεί μία επιλογή τακτικής για την βιβλιοθήκη C,ενώ για τις άλλες βιβλιοθήκες η τακτική εξετάζεται κατά περίπτωση.
`Οταν μία βιβλιοθήκη εκτελεί μία ειδική λειτουργία η οποία μπορεί να βοηθήσει να γραφτούν διάφοροι τύποι προγραμμάτων,παρεχοντάς την σύμφωνα με την LGPL,δηλαδή περιορίζοντας την χρήση της μόνο στα Ελεύθερα προγράμματα είναι ένας τρόπος για να βοηθήσουμε τους άλλους δημιουργούς του Ελεύθερου Λογισμικού.
Παρέχοντας σε αυτούς ένα πλεονέκτημα σε σχέση μετο Εμπορικό Software.
Ας πάρουμε σαν παράδειγμα την GNU Readline[2],μία βιβλιοθήκη γραμμένη για να εφοδιάσει στην Bash την ευελιξία της γραμμής εντολών:
Η Readline διατέθηκε σύμφωνα με την απλή GPL και όχι με την LGPL.
`Ισως αυτό να περιορίζει την χρήση της Readline,αλλά αυτό δεν παρουσιάζει καμμία απώλεια για εμάς.
Από την άλλη πλευρά,μία τουλάχιστον χρήσιμη εφαρμογή καθίσταται Ελεύθερο Λογισμικό ακριβώς με στόχο να χρησιμοποιηθεί η Readline και αυτό αποτελεί ένα κέρδος χειροπιαστό για την κοινότητα.
`Οποιος γράφει Εμπορικά προγράμματα έχει οικονομικά πλεονεκτήματα,οι συντάκτες προγραμμάτων Ελεύθερου Λογισμικού έχουν ανάγκη να εξοικονομούν αμοιβαία.
Ελπίζω μία μέρα να διαθέτουμε μία μεγάλη συλλογή βιβλιοθηκών "καλλυμένες" από την GPL χωρίς την ύπαρξη μίας συλλογής αντίστοιχης για όποιον γράφει Software Εμπορικό.
Αυτή η βιβλιοθήκη θα εφοδίαζε με χρήσιμες ενότητες,ικανές να χρησιμοποιηθούν σαν θεμέλιοι λίθοι για την δημιουργία νέων προγραμμάτων Ελεύθερου Λογισμικού,δημιουργώντας ένα ουσιαστικό πλεονέκτημα για την συγγραφή περισσότερων προγραμμάτων Ελεύθερων.
[Το 1999 η FSF άλλαξε το όνομα στην άδεια LGPL η οποία τώρα ονομάζεται "lesser GPL",GPL μειωμένη,για να μην αναφέρω ότι πρόκειται για την προτιμότερη άδεια για τις βιβλιοθήκες.]
Η ΑΠΟΒΟΛΗ ΤΗΣ ΕΝΟΧΛΗΣΗΣ
Ο Eric Raymond δηλώνει ότι
<<κάθε καλό πρόγραμμα δημιουργείται από την διάθεση κάποιου προγραμματιστή που θέλει να αφαιρέσει μία προσωπική ενοχλησή του>>.
Είναι πολύ πιθανόν πολλές φορές να συμβαίνει έτσι,αλλά πολλά τμήματα του Software GNU αναπτύχθηκαν με σκοπό να συμπληρώσουν ένα Λειτουργικό Σύστημα Ελεύθερο.
Προέρχονται συνεπώς από μία ιδέα ή μία οργανωμένη προσπάθεια,όχι από μία ανάγκη ενδεχόμενη.
Για παράδειγμα,αναπτύξαμε την βιβλιοθήκη C της GNU διότι ένα σύστημα Unix έχει ανάγκη από μία βιβλιοθήκη C ,την Bourne-Again Shell(bash)διότι ένα σύστημα Unix έχει ανάγκη μίας Shell και το GNU tar διότι ένα σύστημα Unix έχει την ανάγκη ενός tar.
Το ίδιο ισχύει για τα δικά μου προγράμματα:ο μεταγλωττιστής GNU,GNU Emacs,GDB,GNU Make.
Μερικά προγράμματα GNU αναπτύχθηκαν προκειμένου να αντιμετωπιστούν οι είδικες απειλές προς την Ελευθερία μας:ορίστε γιατί αναπτύξαμε το gzip ως αντικαταστάτη του προγράμματος Compress που η κοινότητα είχε χάσει εξαιτίας των αδειών του αλγόριθμου LZW[3].
Βρήκαμε άτομα που ανέπτυξαν τον LessTif,πιο πρόσφατα δώσαμε ζωή στα projects GNU και Harmony για να αντιμετωπιστούν τα προβλήματα που προερχόντουσαν από μερικές βιβλιοθήκες Εμπορικές(όπως περιγράφω στην συνέχεια).
Αναπτύσσουμε την GNU Privacy Guard για να αντικαταστήσουμε τα διαδεδομένα προγράμματα κρυπτογραφίας που δεν είναι Ελεύθερα,διότι οι χρήστες δεν θα είναι αναγκασμένοι να επιλέγουν μεταξύ εμπιστευτικότητας και Ελευθερίας.
Φυσικά,οι συντάκτες αυτών των προγραμμάτων περιλαμβάνονται στην εργασία τους,επιπλέον διάφορα άτομα έχουν προσθέσει διάφορες λειτουργίες σύμφωνα με τις προσωπικές ανάγκες και ενδιαφεροντά τους.
Πάρ'αυτά δεν είναι αυτή η βασική αιτία της ύπαρξης αυτών των προγραμμάτων.
ΕΦΑΡΜΟΓΕΣ ΑΠΡΟΣΔΟΚΗΤΕΣ
Στο ξεκίνημα του project GNU σκεφτόμουν πως θα είχαμε αναπτύξει ολόκληρο το σύστημα GNU και μετά θα το διαθέταμε όλο μαζί,αλλά τα πράγματα δεν εξελίχθηκαν έτσι.
Αφού τα συστατικά τμήματα του συστήματος GNU προσαρμόστηκαν επάνω στο σύστημα Unix και το κάθε ένα από αυτά μπορούσε να τρέχει σε συστήματα Unix πριν την ύπαρξη κάποιου συστήματος GNU ολοκληρωμένου.
Αρκετά από αυτά τα προγράμματα έγιναν διαδεδομένα μεταξύ των χρηστών οι οποίοι άρχισαν να τα επεκτείνουν και να τα τρέχουν σε διάφορα νέα συστήματα:επάνω στις διάφορες εκδόσεις του Unix,ασύμβατες μεταξύ τους και μερικές φορές επάνω σε άλλα συστήματα.
Αυτή η εξέλιξη έκανε τα προγράμματα αυτά πολύ ισχυρότερα και προσέλκυσαν πόρους και συνεργάτες στο project GNU.
Εντούτοις,πιθανώς,να καθυστέρησε για μερικά χρόνια την πραγματοποίηση ενώς συστήματος ελάχιστα λειτουργικού,διότι ο χρόνος των προγραμματιστών GNU "ξοδευόταν" στην συντήρηση της συμβατότητας αυτών των προγραμμάτων με άλλα συστήματα και με προσθέσεις νέων λειτουργιών στα υπάρχοντα συστατικά τμήματα,παρά με την συγγραφή νέων προγραμμάτων.
GNU HARD
Το 1990 το σύστημα GNU είχε σχεδόν ολοκληρωθεί το μόνο τμήμα,σημαντικό,που έλειπε ήταν ο πυρήνας.
Είχαμε αποφασίσει να δημιουργήσουμε τον δικό μας πυρήνα σαν ένα σύνολο εφαρμογών server που θα έτρεχαν στο σύστημα Mach.
Ο Mach αποτελεί έναν μίκρο-πυρήνα αναπτυγμένο στο Carnegie Mellon University και ακολούθως στο πανεπιστήμιο της Utah.
Ο GNU HURD αποτελεί ένα σύνολο server(ή "herd of gnus" κοπάδι του GNU)που τρέχει σε Mach που πραγματοποιεί λειτουργίες του πυρήνα Unix.
Η αρχή της ανάπτυξης καθυστέρησε στην αναμονή του Mach που διανεμήθηκε σαν ελεύθερο,όπως είχαμε υποσχεθεί.
Αιτία αυτής της επιλογής ανάπτυξης στάθηκε η αποφυγή εκείνου που θεωρούταν το δυσκολότερο μέρος της προσπάθειας:
η πραγματοποίησει του αποσφαλμωτή του πηρήνα χωρίς την χρήση ενός αποσφαλμωτή σε επίπεδο πηγαίο.
Αυτή η εργασία είχε πραγματοποιηθεί,ακριβώς στον Mach και είχαμε προβλέψει την πραγματοποίησει του αποσφαλμωτή των servers Hurd σαν προγράμματα χρηστών με GDB.
Αλλά αυτή η φάση αποδείχθηκε χρονοβόρα και ο αποσφαλμωτής των servers multi-thread που ανταλλάζει μηνύματα αποδείχθηκε πολύ σύνθετος.
Για την ολοκλήρωση του HARD θα χρειαστούν πολλά χρόνια.
ALIX
Αρχικώς ο πυρήνας GNU δεν ονομαζόταν HURD ,το αρχικό του όνομα ήταν Alix--όπως η γυναίκα με την οποία ήμουν ερωτευμένος εκείνη την περίοδο.
Η Alix ήταν μία διαχειρίστρια συστημάτων Unix,υπογράμμιζε πως το ονομά της αντιστοιχούσε σε μία συνηθισμένη μορφή χρήσης για το βάφτισμα εκδόσεων του συστήματος Unix,αστειευόμενη έλεγε στους δικούς τις φίλους
<<κάποιος θα έπρεπε να ονομάσει τον πυρήνα με το ονομά μου>>.Εγώ δεν είπα τίποτα μα αποφάσισα να της κάνω μία έκπληξη γράφοντας έναν πυρήνα που ονόμασα Alix.
Τα πράγματα όμως δεν εξελίχθηκαν έτσι.
Ο Michael Bushnell(thomas),ο βασικότερος συντελεστής του πυρήνα,προτίμησε το όνομα HURD και ονόμασε Alix το μέρος του πυρήνα εκείνο που εξυπηρετούσε στην παρεμπόδιση των κλήσεων του συστήματος και στην διαχείρησει τους στέλνοντας μηνύματα στους servers που συνθέτουν τον HURD.
Τελικά εγώ και η Alix χωρίσαμε και αυτή άλλαξε όνομα,ταυτόχρονα η δομή του HURD άλλαζε κατά τρόπο που η βιβλιοθήκη C έστελνε μηνύματα κατευθείαν στους servers και έτσι η συνιστώσα Alix εξαφανίστηκε από το πρόγραμμα.
Πριν συμβούν όλα αυτά,όμως,κάποιος φίλος της Alix αντιλήφθηκε την παρουσία του ονοματός της στον πηγαίο κώδικα του HURD και της το είπε.
`Ετσι το όνομα έφτασε στον προορισμό του.
LINUX ΚΑΙ /LINUX
Το GNU HURD δεν είναι ακόμα έτοιμο πλην της δοκιμαστικής του έκδοσης,αλλά ευτυχώς είναι διαθέσιμος ένας άλλος πυρήνας
To 1991 o Linus Torvalds ανέπτυξε έναν πυρήνα συμβατό με το Unix που τον ονόμασε linux.
Το 1992,περίπου,ο συνδιασμός του linux με το σύστημα GNU ,ακόμα ατελής, δημιούργησε ένα Λειτουργικό Σύστημα ολοκληρωμένο(φυσικά ο συνδιασμός τους αποτέλεσε μία αξιοπρόσεκτη εργασία καθ'εαυτού.)
`Ετσι λοιπόν χάρη στο linux σήμερα είμαστε σε θέση να μπορούμε να χρησιμοποιούμε μία έκδοση του Συστήματος GNU.
Ονομάζουμε GNU/linux αυτήν την έκδοση του συστήματος για να υποδείξουμε τα συνθετικά του μέρη ως τον συνδιασμό του συστήματος GNU με τον πυρήνα linux.
ΟΙ ΠΡΟΚΛΗΣΕΙΣ ΠΟΥ ΕΧΟΥΜΕ ΝΑ ΑΝΤΙΜΕΤΩΠΙΣΟΥΜΕ
Αποδείξαμε την ικανότητα ανάπτυξης μίας ευρείας συλλογής Ελεύθερου Λογισμικού,αλλά αυτό δεν σημαίνει πως είμαστε ανίκητοι ή ασταμάτητοι.
Διάφορες προκλήσεις διαμορφώνουν αβέβαιο το μέλλον του Ελεύθερου Λογισμικού και η αντιμετωπισεί τους απαιτεί επιμονή και σταθερή προσπάθεια,μερικές φορές για χρόνια.
Θα είναι απαραίτητη εκείνη η αποφασιστικότητα που γνωρίζουν οι `Ανθρωποι να αποδεικνύουν όταν δίνουν αξία στην Ελευθερία τους και δεν επιτρέπουν σε κανέναν να τους την αφαιρέσει.
Οι τέσσερις παρακάτω παράγραφοι αναφέρονται σε αυτές τις προκλήσεις.
HARDWARE ΑΠΟΡΡΗΤΟ
Συχνότατα,οι δημιουργοί του Hardware τείνουν να διατηρούν μυστικές τις λεπτομέρειες των "μηχανημάτων" τους,αυτό εμποδίζει την συγγραφή οδηγών(drivers)που επιτρέπουν στο linux και στο Xfree86[4]να αναγνωρίζουν καινούργια περιφερειακά συστήματα.
Επίσης αν σήμερα διαθέτουμε συστήματα εξ'ολοκλήρου Ελεύθερα μπορεί αύριο να μην τα έχουμε αν δεν είμαστε σε θέση να έχουμε πληροφορίες για τους επεξεργαστές του αύριο.
Υπάρχουν δύο τρόποι για να αντιμετωπίσουμε το πρόβλημα .
`Ενας προγραμματιστης μπορεί να ξανά-δημιουργήσει λεπτομερείς καταλόγους του Hardware χρησιμοποιώντας τεχνικές Reverse Engineering.
Αλλιώς μπορεί να επιλέξει Hardware που αναγνωρίζουν τα προγράμματα Ελεύθερου Λογισμικού.
Σιγά σιγά που ο αριθμός μας αυξάνεται,η μυστικότητα των πληροφοριών θα μετεξελιχθεί σε μία πρακτική αντιπαραγωγική.
Το Reverse Engineering είναι δύσκολο:θα έχουμε προγραμματιστές ικανούς να αφιερωθούν?
Ναι,αν θα δημιουργήσουμε ένα ισχυρό αίσθημα ευθύνης που να πρεσβεύει ό,τι η ύπαρξη προγραμμάτων Ελεύθερου Λογισμικού αποτελεί ένα ζήτημα αρχής και πως οι οδηγοί(drivers) που δεν είναι Ελεύθεροι δεν θα είναι αποδεκτοί.
θα συμβεί να προκύψει πολλοί από εμάς να δεχτούν να ξοδέψουν ή να χάσουν λίγο από τον χρόνο τους για να μπορούμε να χρησιμοποιούμε οδηγούς(drivers) Ελεύθερους?
Ναι,αν η επιθυμία για Ελευθερία και ο στόχος να την επιτύχουμε διαδοθεί.
ΒΙΒΛΙΟΘΗΚΕΣ ΟΧΙ ΕΛΕΥΘΕΡΕΣ
Μία Βιβλιοθήκη όχι Ελεύθερη που τρέχει σε λειτουργικά συστήματα Ελεύθερα λειτουργεί σαν μία παγίδα για τους προγραμμματιστες του Ελεύθερου Λογισμικού.
Οι ελκυστικές λειτουργίες της Βιβλιοθήκης ενεργούν σαν δόλωμα.
`Οποιος χρησιμοποιεί την Βιβλιοθήκη παγιδεύεται,διότι το πρόγραμμα που δημιουργεί είναι άχρηστο ως τμήμα ενώς Λειτουργικού Συστήματος Ελεύθερου(με ακρίβεια,το πρόγραμμα θα μπορούσε να περιεχθεί στα συστηματά μας,αλλά δεν θα λειτουργούσε,εξαιτίας της έλλειψης της Βιβλιοθήκης).
Ακόμα χειρότερα, όταν ένα πρόγραμμα χρησιμοποιεί μία Εμπορική Βιβλιοθήκη και γίνεται γνωστό,μπορεί να προσελκύσει άλλους προγραμματιστές ανυποψίαστους και να τους παγιδέψει.
Το πρόβλημα εντοπίστηκε για πρώτη φορά με την Βιβλιοθήκη Motif[5],στην δεκαετία του 1980.
Αν και δεν υπήρχαν ακόμα Λειτουργικά Συστήματα Ελεύθερα,τα προβλήματα που το Motif θα προκαλούσε ήταν ήδη ξεκάθαρα.
Το project GNU αντέδρασε με δύο τρόπους:
δείχνοντας ενδιαφέρον στα διάφορα σχέδια του Ελεύθερου Λογισμικού για να υποστηρίξουν τα Ελεύθερα γραφικά εργαλεία Χ με την προσθήκη του Motif ,αναζητώντας κάποιον που θα έγραφε έναν αντικαταστάτη Ελεύθερο του Motif.
Η εργασία αυτή απαίτησε πολλά χρόνια:μόνο το 1997 το LessTif,δημουργημένο από τους "hungry Programmers",έγινε αρκετά ισχυρό για την υποστήριξει των περισσοτέρων εφαρμογών του Motif.
Μεταξύ του 1996 και του 1998 μία άλλη Βιβλιοθήκη όχι Ελεύθερη των γραφικών εργαλείων,ονομαζόμενη Qt,χρησιμοποιούταν σε ένα σημαντικό μέρος του Ελεύθερου Λογισμικού:το γραφικό περιβάλλον KDE.
Τα Ελεύθερα συστήματα GNU/linux δεν μπορούσαν να χρησιμοποιήσουν το KDE,γιατί δεν μπορούσαν να χρησιμοποιήσουν την Βιβλιοθήκη,αν και μερικοί διανομείς Εμπορικοί του συστήματος GNU/linux,ασυνείδητοι στην ενιαία ανταπόκριση με τα Ελεύθερα προγράμματα,πρόσθεσαν το KDE στα συστήματα τους,επιτυγχάνοντας έτσι συστήματα που πρόσφεραν περισσότερες λειτουργίες,αλλά λιγότερη Ελευθερία.
Η ομάδα ανάπτυξης του KDE ενθάρρυνε άλλους προγραμματιστές ρητά να χρησιμοποιούν Qt και έτσι εκατομμύρια νέοι χρήστες GNU/linux δεν υποψιαζόντουσαν στο ελάχιστο πως αυτό θα μπορούσε να δημιουργήσει ένα πρόβλημα.
Η κατάσταση γινόνταν επικύνδινη.
Η κοινότητα του Ελεύθερου Software αντιμετώπισε το πρόβλημα με δύο τρόπους:
με το GNOME και Harmony.
Το GNOME(GNU Network Object Model Enviroment,τύπος περιβάλλοντος για αντικείμενα του διαδικτύου)είναι το project GNU για το γραφικό περιβάλλον(Desktop)που ανάλαβε το 1997 ο Miguel de Icaza και υποστηρίχθηκε από την Red Hat Software,το GNOME προσδοκούσε να εφοδιάσει με γραφικές λειτουργίες όμοιες με εκείνες του KDE,αλλά χρησιμοποιώντας αποκλειστικά Ελεύθερο Λογισμικό.
Το GNOME προσφέρει,επίσης,και τεχνικά πλεονεκτήματα,όπως την υποστήριξη για διάφορες γλώσσες προγραμματισμού,όχι μόνο την C++.
Αλλά κύριος σκοπός του ήταν η Ελευθερία:η μη-χρήση κάποιου προγράμματος που δεν είναι Ελεύθερο.
Το Harmony αποτελεί μία βιβλιοθήκη συμβατή με το Qt ,δημιουργημένο για να προσφέρει τις ίδιες δυνατότητες με το Software KDE χωρίς την ανάγκη της χρήσης του .
Τον Νοέμβρη του 1998 οι συντάκτες του Qt ανακοίνωσαν μία αλλαγή στην άδεια τους που,όταν ενεργοποιήθηκε,παρείχε το Qt ως Ελεύθερο Λογισμικό.
Δεν μπορούμε να είμαστε σίγουροι,αλλά θεωρώ πως υπήρξε καθοριστική η αποφασιστικότητα των απαντήσεων της κοινότητας στο πρόβλημα που τέθηκε από το Qt,τον καιρό που δεν ήταν Ελεύθερο(η νέα άδεια του Qt είναι άβολη και ασαφής,έτσι είναι προτιμότερο να μην επιλέγουμε την χρήση της)[6].
Πως να απαντήσουμε στην επόμενη ελκυστική βιβλιοθήκη όχι Ελεύθερη?
Θα καταφέρει η κοινότητα στο συνολό της να αντιληφθεί την σπουδαιότητα αποφυγής της παγίδας?
Αλλιώς, πολλοί ίσως προτιμήσουν την ευκολία από την Ελευθερία, δημιουργώντας έτσι ένα σοβαρό πρόβλημα?
ΤΟ ΔΙΚΟ ΜΑΣ ΜΕΛΛΟΝ ΕΞΑΡΤΑΤΑΙ ΑΠΟ ΤΗΝ ΦΙΛΟΣΟΦΙΑ ΜΑΣ!!!!!!
Trackback(0)
|