Αυτή η μετάφραση μπορεί να μην αντανακλά τις αλλαγές που έγιναν από τις 2017-09-04 στο Αγγλικό πρωτότυπο.
Καλό θα ήταν να ρίξετε μια ματιά σε εκείνες τις αλλαγές. Παρακαλούμε δείτε το Μεταφράσεις ΔΙΑΒΑΣΕΜΕ για να βρείτε πως μπορείτε να βοηθήσετε να ενημερωθεί αυτή η μετάφραση.
Το Linux και το σύστημα GNU
από τον Richard Stallman
Για περισσότερες πληροφορίες δείτε επίσης τις Συχνές ερωτήσεις GNU/Linux, καθώς και το Γιατί GNU/Linux;
Πολλοί χρήστες υπολογιστών χρησιμοποιούν μία τροποποιημένη έκδοση του συστήματος GNU καθημερινά, χωρίς να το αντιλαμβάνονται. Διαμέσου μίας ιδιόμορφης σειράς γεγονότων η έκδοση του GNU που χρησιμοποιείται ευρέως σήμερα, συχνά αποκαλείται “Linux”, και πολλοί από τους χρήστες του δεν είναι ενήμεροι ότι κατά βάση είναι το σύστημα GNU, που αναπτύχθηκε από το Έργο GNU.
Υπάρχει πραγματικά ένα Linux, κι αυτοί οι άνθρωποι το χρησιμοποιούν, αλλά είναι απλά ένα τμήμα του συστήματος που χρησιμοποιούν. Το Linux είναι ο πυρήνας: το πρόγραμμα μέσα στο σύστημα που κατανέμει τους πόρους της μηχανής στα άλλα προγράμματα που εκτελείτε. Ο πυρήνας είναι ένα αναπόσπαστο κομμάτι του λειτουργικού συστήματος, αλλά άχρηστος από μόνος του· μπορεί να λειτουργήσει μόνο μέσα στο πλαίσιο ενός πλήρους λειτουργικού συστήματος. Το Linux συνήθως χρησιμοποιείται σε συνδυασμό με το λειτουργικό σύστημα GNU· το όλο σύστημα είναι κατά βάση GNU με το Linux προστιθέμενο, ή GNU/Linux. Όλες οι αποκαλούμενες διανομές “Linux” είναι στην πραγματικότητα διανομές GNU/Linux.
Πολλοί χρήστες δεν καταλαβαίνουν τη διαφορά μεταξύ του πυρήνα, που είναι το Linux, και του όλου συστήματος, το οποίο επίσης αποκαλούν “Linux”. Η διφορούμενη χρήση του ονόματος δεν βοηθάει στο να υπάρχει κατανόηση. Αυτοί οι χρήστες συχνά πιστεύουν πως ο Linus Torvalds ανέπτυξε ολόκληρο το λειτουργικό σύστημα το 1991, με λίγη βοήθεια.
Οι προγραμματιστές γνωρίζουν γενικά ότι το Linux είναι ένας πυρήνας. Αλλά από τότε που γενικώς άκουσαν το όλο σύστημα να αποκαλείται “Linux” επίσης, συχνά οραματίζονται μία ιστορία που θα δικαιολογούσε την ονομασία ολόκληρου του λειτουργικού συστήματος από τον πυρήνα. Για παράδειγμα, πολλοί πιστεύουν πως όταν ο Linus Torvalds ολοκλήρωσε τη συγγραφή του Linux, του πυρήνα, οι χρήστες του αναζήτησαν άλλο ελεύθερο λογισμικό για να το συνοδεύσει και βρήκαν ότι (χωρίς ιδιαίτερο λόγο) σχεδόν ο,τιδήποτε ήταν απαραίτητο για να γίνει ένα παρόμοιο με το Unix σύστημα ήταν ήδη διαθέσιμο.
Αυτό που βρήκαν δεν ήταν διόλου τυχαίο συμβάν—ήταν το όχι-εντελώς-ολοκληρωμένο σύστημα GNU. Το διαθέσιμο ελεύθερο λογισμικό ήταν συσσωρευμένο σε ένα πλήρες σύστημα, επειδή το Έργο GNU εργαζόταν από το 1984 για να δημιουργήσει ένα. Στο Μανιφέστο του GNU είχαμε θέσει ως βασικό στόχο την ανάπτυξη ενός ελεύθερου παρόμοιου με το Unix συστήματος, ονομαζόμενο GNU. Η Αρχική Ανακοίνωση του Έργου GNU επίσης σκιαγραφεί ορισμένα από τα αρχικά σχέδια για το σύστημα GNU. Μέχρι τη στιγμή που το Linux άρχισε να δημιουργείται, το GNU είχε σχεδόν ολοκληρωθεί.
Τα περισσότερα έργα ελεύθερου λογισμικού έχουν το σκοπό της ανάπτυξης ενός συγκεκριμένου προγράμματος για μια συγκεκριμένη εργασία. Για παράδειγμα, ο Linus Torvalds έθεσε ως στόχο να γράψει έναν συμβατό με το Unix πυρήνα (Linux)· ο Donald Knuth έθεσε ως στόχο να γράψει έναν διαμορφωτή κειμένου (TeX)· ο Bob Scheilfler έθεσε ως στόχο να αναπτύξει ένα παραθυρικό περιβάλλον (το Σύστημα Παραθύρων X). Είναι φυσικό το να μετράμε τη συνεισφορά τέτοιου είδους έργων με τα συγκεκριμένα προγράμματα που προκύπτουν από το έργο.
Εάν προσπαθούσαμε να μετρήσουμε τη συνεισφορά του Έργου GNU κατά τον ίδιο τρόπο, που θα καταλήγαμε; Ένας διανομέας CD-ROM διαπίστωσε ότι σε μία διανομή “Linux”, το GNU λογισμικό ήταν το μεγαλύτερο τμήμα, περίπου 28% του συνολικού πηγαίου κώδικα, κι αυτό συμπεριλάμβανε κάποια από τα ουσιώδη κύρια συστατικά ελλείψει των οποίων δεν θα μπορούσε να υπάρξει σύστημα. Το Linux το ίδιο αποτελούσε μόνο το 3% περίπου. (Οι αναλογίες το 2008 είναι παρόμοιες: στο “κύριο” αποθετήριο της διανομής gNewSense, το Linux είναι 1,5% και τα GNU πακέτα είναι 15%.) Οπότε, αν ήταν να διαλέξετε ένα όνομα για το σύστημα που να βασίζεται στο ποιος/α έγγραψε τα προγράμματα στο σύστημα, τότε η πιο κατάλληλη ατομική επιλογή θα ήταν το “GNU”.
Αλλά αυτός δεν είναι ο βαθύτατος τρόπος θεώρησης της ερώτησης. Το Έργο GNU δεν ήταν, δεν είναι, ένα έργο για την ανάπτυξη συγκεκριμένων πακέτων λογισμικού. Δεν ήταν ένα έργο για την ανάπτυξη ενός μεταγλωττιστή της C, παρόλο που αναπτύξαμε έναν. Δεν ήταν ένα έργο για την ανάπτυξη ενός συντάκτη κειμένου, παρόλο που αναπτύξαμε έναν. Το Έργο GNU έθεσε ως στόχο να αναπτύξει ένα απόλυτα ελεύθερο, παρόμοιο με το Unix σύστημα: το GNU.
Πολλοί άνθρωποι έχουν κάνει κύριες συνεισφορές στο ελεύθερο λογισμικό που υπάρχει στο σύστημα, και φυσικά όλοι τους αξίζουν συγχαρητήρια για το λογισμικό τους. Όμως ο λόγος για τον οποίο είναι ολοκληρωμένο σύστημα—και όχι απλά μια συλλογή χρήσιμων προγραμμάτων—είναι επειδή το Έργο GNU έθεσε στόχο να φτιάξει ένα. Δημιουργήσαμε μια λίστα με όλα τα προγράμματα που χρειαζόταν έτσι ώστε να κατασκευάσουμε ένα πλήρες ελεύθερο σύστημα και συστηματικά βρήκαμε, γράψαμε, ή βρήκαμε ανθρώπους να γράψουν όλα όσα περιείχε εκείνη η λίστα. Κατασκευάσαμε ουσιώδη, αλλά πληκτικά (1) συστατικά, επειδή δεν μπορεί να έχετε ένα σύστημα δίχως αυτά. Μερικά από τα συστατικά του συστήματός μας, τα προγραμματιστικά εργαλεία, έγιναν διάσημα από μόνα τους ανάμεσα στους προγραμματιστές, αλλά γράψαμε και πολλά συστατικά που δεν είναι εργαλεία (2). Αναπτύξαμε ακόμη κι ένα παιχνίδι σκακιού, το GNU Chess, επειδή ένα πλήρες σύστημα χρειάζεται και παιχνίδια επίσης.
Έως τις αρχές του '90 είχαμε ολοκληρώσει όλο το σύστημα εκτός από τον πυρήνα. Είχαμε επίσης αρχίσει έναν πυρήνα, το GNU Hurd, το ποίο τρέχει επάνω από το Mach. Η ανάπτυξη αυτού του πυρήνα ήταν πολύ δυσκολότερη απ' όσο περιμέναμε· το GNU Hurd άρχισε να λειτουργεί αξιόπιστα το 2001, αλλά έχει ακόμη ένα μακρύ δρόμο μέχρι να γίνει έτοιμο για γενική χρήση.
Ευτυχώς, δεν χρειάστηκε να περιμένουμε την ολοκλήρωση του Hurd, εξαιτίας του Linux. Όταν ο Torvalds ελευθέρωσε το Linux το 1992, εκείνο ταίριαξε στο τελευταίο κύριο κενό του συστήματος GNU. Οι άνθρωποι τότε μπόρεσαν να συνδυάσουν το Linux μαζί με το GNU σύστημα, για να φτιάξουν ένα πλήρες ελεύθερο σύστημα— μια έκδοση του GNU συστήματος που περιείχε επίσης το Linux. Το GNU/Linux σύστημα με άλλα λόγια.
Δεν ήταν μια τετριμμένη εργασία το να τα κάνουμε να δουλεύουν καλά μαζί. Μερικά GNU συστατικά(3) χρειαζόταν ουσιαστική αλλαγή για να λειτουργήσουν με το Linux. H ολοκλήρωση του πλήρους συστήματος ως μια διανομή που θα δούλευε κατευθείαν “έξω απ' το κουτί” ήταν, επίσης, μια μεγάλη εργασία. Απαιτούσε τη διευθέτηση του ζητήματος για το πως εγκαθίσταται και εκκινεί το σύστημα—ένα πρόβλημα που δεν είχαμε επιχειρήσει να λύσουμε, διότι δεν είχαμε φτάσει ακόμα εκείνο το σημείο. Συνεπώς, οι άνθρωποι που ανέπτυξαν τις διάφορες διανομές του συστήματος έκαναν πολλή ουσιώδη εργασία. Αλλά ήταν εργασία που, λόγω της φύσης των πραγμάτων, θα γινόταν σίγουρα από κάποιον.
Το Έργο GNU υποστηρίζει τα συστήματα GNU/Linux το ίδιο όπως και το σύστημα GNU. Το ΙΕΛ χρηματοδότησε τη συγγραφή των σχετικών με το Linux επεκτάσεων στη βιβλιοθήκη GNU C, έτσι ώστε να είναι τώρα καλά ολοκληρωμένα, και τα πιο σύγχρονα GNU/Linux συστήματα να χρησιμοποιούν την τρέχουσα έκδοση της βιβλιοθήκης χωρίς αλλαγές. Το ΙΕΛ επίσης χρηματοδότησε ένα πρώιμο στάδιο της ανάπτυξης της διανομής Debian GNU/Linux.
Σήμερα, υπάρχουν πολλές διαφορετικές παραλλαγές του συστήματος GNU/Linux (συχνά αποκαλούμενες “διανομές”). Οι περισσότερες από αυτές συμπεριλαμβάνουν μη-ελεύθερο λογισμικό—οι προγραμματιστές τους έχουν υιοθετήσει τη φιλοσοφία που σχετίζεται με το Linux παρά εκείνη που σχετίζεται με το GNU. Αλλά υπάρχουν επίσης και απόλυτα ελεύθερες διανομές GNU/Linux. Το ΙΕΛ υποστηρίζει υπολογιστικές εγκαταστάσεις για τη διανομή gNewSense.
Η δημιουργία μιας ελεύθερης διανομής GNU/Linux δεν είναι μόνο θέμα της εξάλειψης διάφορων μη-ελεύθερων προγραμμάτων. Σήμερα, η συνηθισμένη έκδοση του Linux περιέχει κι αυτή μη-ελεύθερα προγράμματα. Αυτά τα προγράμματα προορίζονται για να φορτώνονται σε συσκευές εισόδου/εξόδου όταν ξεκινά το σύστημα και συμπεριλαμβάνονται, ως μακροσκελείς σειρές αριθμών στην "πηγαίο κώδικα" του Linux. Έτσι, η συντήρηση ελεύθερων διανομών GNU/Linux συνεπάγεται τώρα τη συντήρηση μιας ελεύθερης έκδοσης του Linux επίσης.
Είτε χρησιμοποιείτε το GNU/Linux, είτε όχι, σας παρακαλούμε να μην μπερδεύετε τον υπόλοιπο κόσμο χρησιμοποιώντας το όνομα “Linux” με διφορούμενο τρόπο. Το Linux είναι ο πυρήνας, ένα από τα ουσιώδη κύρια κομμάτια του συστήματος. Το σύστημα ως σύνολο είναι βασικά το σύστημα GNU, με το Linux προστιθέμενο. Όταν μιλάτε γι' αυτόν το συνδυασμό, παρακαλούμε αποκαλείτε τον “GNU/Linux”.
Εάν θέλετε να κάνετε ένα σύνδεσμο στο “GNU/Linux”, για περαιτέρω αναφορά, αυτή η σελίδα καθώς και η http://www.gnu.org/gnu/the-gnu-project.html αποτελούν καλές επιλογές. Αν μνημονεύετε το Linux, τον πυρήνα, και θέλετε να προσθέσετε ένα σύνδεσμο για περαιτέρω αναφορά, το http://foldoc.org/linux είναι ένα καλό URL για να χρησιμοποιήσετε.
Συμπλήρωμα
Εκτός από το GNU, ένα ακόμη έργο παρήγαγε ανεξάρτητα ένα ελεύθερο, παρόμοιο με το Unix λειτουργικό σύστημα. Το σύστημα αυτό είναι γνωστό ως BSD και αναπτύχθηκε στο πανεπιστήμιο του Berkeley. Το '80 ήταν μη-ελεύθερο· αλλά έγινε ελεύθερο στις αρχές του '90. Κάθε ελεύθερο λειτουργικό σύστημα που υπάρχει σήμερα(4) είναι σχεδόν με βεβαιότητα είτε μια παραλλαγή του συστήματος GNU, είτε ένα είδος του συστήματος BSD.
Ο κόσμος ρωτάει μερικές φορές εάν το BSD είναι επίσης μια έκδοση του GNU, όπως το GNU/Linux. Οι προγραμματιστές του BSD εμπνεύστηκαν να κάνουν τον κώδικά τους ελεύθερο από το παράδειγμα του Έργου GNU, και ρητές εκκλήσεις από ακτιβιστές του GNU βοήθησαν να πειστούν, αλλά ο κώδικας είχε ελάχιστες επικαλύψεις με εκείνον του GNU. Τα συστήματα BSD σήμερα χρησιμοποιούν μερικά GNU προγράμματα, όπως επίσης και το σύστημα GNU και οι παραλλαγές του χρησιμοποιούν μερικά BSD προγράμματα· ωστόσο, θεωρούμενα ως ολόκληρα, είναι δυο διαφορετικά συστήματα τα οποία αναπτύχθηκαν ξεχωριστά. Οι προγραμματιστές του BSD δεν έγραψαν έναν πυρήνα και τον πρόσθεσαν στο σύστημα GNU, κι ένα όνομα όπως GNU/BSD δεν θα ταίριαζε στην περίπτωση.(5)
Σημειώσεις:
- Αυτά τα πληκτικά άλλα ουσιώδη συστατικά περιλαμβάνουν το GNU συμβολομεταφραστή (GAS) και το συνδέτη (GLD), και τα δύο τώρα μέρη του πακέτου GNU Binutils, το GNU tar, και πολλά άλλα.
- Για παράδειγμα, το Bourne Again SHell (BASH), ο διερμηνέας PostScript Ghostscript, και η βιβλιοθήκη GNU C δεν αποτελούν προγραμματιστικά εργαλεία. Το ίδιο ισχύει και για τα GNUCash, GNOME, και GNU Chess.
- Για παράδειγμα, η βιβλιοθήκη GNU C.
- Από τότε που γράφηκε αυτό, ένα σχεδόν-πλήρως-ελεύθερο παρόμοιο με Windows σύστημα έχει αναπτυχθεί, αλλά τεχνικά δεν είναι καθόλου όμοιο με το GNU ή το Unix, οπότε δεν επηρεάζει πραγματικά αυτό το ζήτημα. Το μεγαλύτερο μέρος από τον πυρήνα του Solaris έχει γίνει ελεύθερο, αλλά αν θέλατε να κάνετε ένα ελεύθερο σύστημα από εκείνον, πέρα από το να αντικαταστήσετε τα μέρη που λείπουν από τον πυρήνα, θα χρειαζόταν να τον βάλετε μέσα στο GNU ή το BSD.
- Από την άλλη, στα χρόνια μετά τη συγγραφή αυτού του άρθρου, η βιβλιοθήκη GNU C μεταφέρθηκε σε διάφορες εκδόσεις του πυρήνα BSD, κάτι το οποίο έκανε άμεσο το συνδυασμό του συστήματος GNU μ' εκείνον τον πυρήνα. Παρομοίως με το GNU/Linux, αυτά είναι όντως παραλλαγές του GNU, και επομένως αποκαλούνται, για παράδειγμα, GNU/kFreeBSD και GNU/kNetBSD, ανάλογα με τον πυρήνα του συστήματος. Οι κοινοί χρήστες σε τυπικά γραφικά περιβάλλοντα δύσκολα μπορούν να ξεχωρίσουν αν ένα σύστημα είναι GNU/Linux ή GNU/*BSD.