Ο πυÏήνας Linux και το ÎÏγο GNU
του Richard Stallman
Αν θÎλετε να μάθετε πεÏισσότεÏα σχετικά με αυτό το θÎμα μποÏείτε να διαβάσετε επίσης το GNU/Linux FAQ καθώς και το άÏθÏο ΧÏήστες του GNU που δεν γνωÏίζουν τίποτα για το GNU.
Πολλοί χÏήστες της ΠληÏοφοÏικής χÏησιμοποιοÏν μία Ï„ÏοποποιημÎνη Îκδοση του συστήματος GNU καθημεÏινά, χωÏίς όμως να το γνωÏίζουν. ΔιαμÎσου μίας ιδιαίτεÏης και χαÏακτηÏιστικής σειÏάς δÏαστηÏιοτήτων η Îκδοση του συστήματος GNU, ευÏÎως χÏησιμοποιημÎνη σήμεÏα, είναι γνωστή ως “Linux”, και πολλοί χÏήστες δεν γνωÏίζουν το σημείο εκείνο στο οποίο συνδÎεται με το ÎÏγο GNU.
Όντως υπάÏχει ο Linux, και αÏκετοί άνθÏωποι τον χÏησιμοποιοÏν, αλλά δεν είναι από μόνος του λειτουÏγικό σÏστημα. Ο Linux είναι απλός Îνας πυÏήνας. Δηλαδή, το Ï€ÏόγÏαμμα εκείνο του λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚ που δεσμεÏει και αποδίδει τους πόÏους του Η/Î¥ σε όλα εκείνα τα Ï€ÏογÏάμματα που εκτελοÏν οι χÏήστες. Ο πυÏήνας θεωÏείται αναπόσπαστο κομμάτι του λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚, αλλά από μόνος του είναι παντελώς ανίκανος. Ο μόνος Ï„Ïόπος που μποÏεί να λειτουÏγήσει είναι να τοποθετηθεί μÎσα σε Îνα λειτουÏγικό σÏστημα. Ο Linux, συνήθως χÏησιμοποιείται σε συνδυασμό με το λειτουÏγικό σÏστημα GNU. Έτσι λοιπόν, το σÏστημα GNU χÏησιμοποιεί τον Linux ως πυÏήνα του.
Πολλοί χÏήστες Îχουν πλήÏη άγνοια όσο αφοÏά την διάκÏιση Î¼ÎµÏ„Î±Î¾Ï Ï„Î¿Ï… πυÏήνα, τον Linux δηλαδή, και το υπόλοιπο σÏστημα GNU, στο οποίο επίσης αναφÎÏονται ως “Linux”. Η αμφιλεγόμενη χÏήση της λÎξης δεν βοηθάει στο να υπάÏχει πλήÏης κατανόηση. Επίσης αÏκετοί χÏήστες, πιστεÏουν πως ο Linus Torvalds με την υποστήÏιξη που είχε από όλο το κόσμο ήταν αυτός που κατασκεÏασε ολόκληÏο το λειτουÏγικό σÏστημα το 1991.
ΓενικότεÏα, οι Ï€ÏογÏαμματιστÎÏ‚ γνωÏίζουν ότι ο Linux είναι απλός Îνας πυÏήνας. Από τότε που άκουσαν όμως να αποκαλείται το όλο σÏστημα “Linux”, Ï€Ïοβλέπουν συχνά μία ιστοÏία που θα δικαιολογούσε την ονομασία ολόκληÏου του λειτουÏγικού συστήματος Ï€Ïος χάÏιν ενός πυÏήνα. Για παÏάδειγμα, υπάÏχουν αÏκετοί Ï€ÏογÏαμματιστÎÏ‚ που νομίζουν πως Î±Ï†Î¿Ï Î¿ Linus Torvalds ολοκλήÏωσε την συγγÏαφή του πυÏήνα Linux, οι χÏήστες που τον χÏησιμοποιοÏσαν τότε, αναζήτησαν για πεÏαιτÎÏω ελεÏθεÏο λογισμικό Îτσι ώστε να θÎσουν τον πυÏήνα σε λειτουÏγία και ότι ως αποτÎλεσμα βÏήκαν αÏκετό ώστε να ολοκληÏώσουν το τότε ελεÏθεÏο συμβατό με το σÏστημα Unix.
Αυτό που βÏήκαν διόλου τυχαία -- ήταν το σχεδόν ολοκληÏωμÎνο σÏστημα GNU. Το διαθÎσιμο ελεÏθεÏο λογισμικό που βÏήκαν ώστε να δημιουÏγηθεί Îνας πλήÏες σÏστημα βÏÎθηκε επειδή το ÎÏγο GNU δοÏλευε από το 1984 για αυτό τον σκοπό. Στο ΜανιφÎστο GNU είχαμε θÎσει ως βασικό στόχο την υλοποίηση ενός ελεÏθεÏου λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚ συμβατό με το Unix. ΣήμεÏα αυτό το σÏστημα ονομάζεται GNU. Η ΑÏχική Ανακοίνωση του ÎÏγου GNU επίσης δίνει Îμφαση και σε κάποια άλλα ιδιόÏÏυθμα σχÎδια αυτοÏ. Από την στιγμή που είχε συγγÏαφεί ο πυÏήνας Linux, το σÏστημα GNU Îπαψε να είναι πλÎον μη ολοκληÏωμÎνο.
Τα πεÏισσότεÏα ÎÏγα ελεÏθεÏου Î»Î¿Î³Î¹ÏƒÎ¼Î¹ÎºÎ¿Ï ÎºÎ±Ï„Î±ÏƒÎºÎµÏ…Î¬Î¶Î¿Î½Ï„Î±Î¹ για να εξυπηÏετήσουν τις ανάγκες του καθενός. Δηλαδή, κατασκευάζονται για μια συγκεκÏιμÎνη δουλεία. Για παÏάδειγμα, ο Linus Torvalds κατασκεÏασε τον συμβατό με το Unix πυÏήνα Linux. Ο Donald Knuth κατασκεÏασε Îνα σÏστημα διαμόÏφωσης κειμÎνου (TeX). Ο Bob Scheilfler κατασκεÏασε Îνα παÏαθυÏικό πεÏιβάλλον (X Window System). Είναι Ï€Î¿Î»Ï Ï†Ï…ÏƒÎ¹ÎºÏŒ το να μετÏάμε την συνεισφοÏά Ï„Îτοιου είδους εÏγασιών με συγκεκÏιμÎνα Ï€ÏογÏάμματα που βγαίνουν από τα ÎÏγα αυτά.
Εάν Ï€Ïοσπαθήσουμε να μετÏήσουμε τη συνεισφοÏά του ÎÏγου GNU κατά τον ίδιο Ï„Ïόπο, που θα καταλήξουμε; Ένας διανομÎας συμπαγών δίσκων (CD-ROM vendor) διαπίστωσε ότι σε μία διανομή “Linux”, το λογισμικό GNU ήταν ο μεγαλÏτεÏο αντιπÏόσωπος, Î±Ï†Î¿Ï Î±Ï€Î¿Ï„ÎµÎ»Î¿Ïσε πεÏίπου το 28% του ÏƒÏ…Î½Î¿Î»Î¹ÎºÎ¿Ï Ï€Î·Î³Î±Î¯Î¿Ï… κώδικα, συμπεÏιλαμβανομÎνων των σημαντικών συστατικών ελλείψει των οποίων δεν θα μποÏοÏσε να υπάÏξει σÏστημα που μποÏεί να αξιοποιηθεί. Ο Linux αποτελοÏσε πεÏίπου μόνο το 3%. Οπότε καταλαβαίνουμε τελικά, πως εάν χÏειαστεί να διαλÎξουμε κάποιο όνομα για να αναφεÏόμαστε στο ποιος κατασκεÏασε τα Ï€ÏογÏάμματα του συστήματος, τότε το μόνο κατάλληλο όνομα είναι το “GNU”.
Δεν πιστεÏουμε όμως πως αυτός είναι ο σωστός Ï„Ïόπος για να εξακÏιβώσουμε την συνεισφοÏά του ÎÏγου GNU. Το ÎÏγο GNU δεν ήταν και οÏτε Ï€Ïόκειται να γίνει το ÎÏγο εκείνο που Ï€Ïόκειται να κατασκευάσει συγκεκÏιμÎνα πακÎτα λογισμικοÏ. Δεν ήταν το ÎÏγο που στόχευε να κατασκευάσει Îναν μεταγλωττιστή της C, ασχÎτως του ότι κάτι Ï„Îτοιο Îγινε τελικά. Επίσης δεν ήταν το ÎÏγο που στόχευε να κατασκευάσει Îναν συντάκτη κειμÎνου, ασχÎτως του ότι αυτό Îγινε επίσης. Στην Ï€Ïαγματικότητα ο μόνος στόχος του ÎÏγου GNU ήταν να κατασκευάσει Îνα απόλυτα ελεÏθεÏο και συμβατό με το Unix λειτουÏγικό σÏστημα: το GNU.
αÏκετοί άνθÏωποι Îχουν κάνει ανεκτίμητες συνεισφοÏÎÏ‚ όσο αφοÏά το ελεÏθεÏο λογισμικό που υπάÏχει στο σÏστημα, και φυσικά όλοι τους αξίζουν συγχαÏητήÏια. Όμως ο μόνος λόγος για τον οποίο το σÏστημα είναι ολοκληÏωμÎνο --και όχι απλά μια συλλογή Ï€ÏογÏαμμάτων--είναι επειδή το ÎÏγο GNU Ï€Ïοσπάθησε αÏκετά. ΔημιουÏγήσαμε μια λίστα με όλα τα αναγκαία Ï€ÏογÏάμματα που χÏειαζόμασταν Îτσι ώστε να κατασκευάσουμε Îνα ολοκληÏωμÎνο ελεÏθεÏο λειτουÏγικό σÏστημα. Επίσης, βÏήκαμε, γÏάψαμε, και ήÏθαμε σε επαφή με άλλους που ήθελαν να γÏάψουν τα Ï€ÏογÏάμματα που είχαμε καταγÏάψει στην λίστα. Κατασκευάσαμε Ï€Î¿Î»Ï ÏƒÎ·Î¼Î±Î½Ï„Î¹ÎºÎ¬ (1) συστατικά που δεν κινοÏν το ενδιαφÎÏον ενός Ï„ÎµÎ»Î¹ÎºÎ¿Ï Ï‡Ïήστη, όμως Ï€ÏÎπει να τονίσουμε πως δίχως αυτά το σÏστημα δεν θα μποÏοÏσε να λειτουÏγήσει. ΜεÏικά από αυτά τα συστατικά, όπως τα Ï€ÏογÏαμματιστικά εÏγαλεία, Îγιναν διάσημα από μόνα τους ανάμεσα στους Ï€ÏογÏαμματιστÎÏ‚. Κατασκευάσαμε πολλά συστατικά τα οποία δεν ανήκουν στην κατηγοÏία των εÏγαλείων (2). ΠαÏάλληλα δημιουÏγήσαμε Îνα αÏκετά ÎμπειÏο σκάκι, το GNU Chess, επειδή Îνα ολοκληÏωμÎνο σÏστημα χÏειάζεται και παιχνίδια για την ψυχαγωγία των χÏηστών.
Στις αÏχÎÏ‚ του '90 είχαμε ολοκληÏώσει όλο το λογισμικό του συστήματος, εκτός αυτό του πυÏήνα (όμως δουλεÏαμε το GNU Hurd, το οποίο Ï„ÏÎχει στην κοÏυφή του μικÏο--πυÏήνα Mach). Η αποσφαλμάτωση του GNU Hurd τελικά φάνηκε πως ήταν μια αÏκετά πολÏπλοκη και επίπονη διαδικασία. Το GNU Hurd άÏχισε να λειτουÏγεί αξιόπιστα το 2001. Αυτή τη πεÏίοδο Ï€ÏοσπαθοÏμε να ετοιμάσουμε την νÎα Îκδοση του GNU συστήματος που κάνει χÏήση του GNU Hurd.
Φυσικά, δεν ήμασταν σε θÎση να αναμÎνουμε την ολοκλήÏωση του Hurd, επειδή ο Linux ήταν διαθÎσιμο. Όταν ο Linus Torvalds ÎγÏαψε τον Linux, τότε εκείνο το βασικό κενό του συστήματος Îπαψε να υπάÏχει. Οι χÏήστες τότε μποÏοÏσαν να συνδυάζουν τον Linux μαζί με το GNU σÏστημα, για να Îχουν Îνα πλήÏες ελεÏθεÏο λειτουÏγικό σÏστημα: μια Îκδοση του GNU συστήματος βασισμÎνη στον πυÏήνα Linux, εν συντομία το GNU/Linux σÏστημα. Τελικά, τα πιο Ï€Ïόσφατα ÎγγÏαφα τεκμηÏίωσης του Linux, μαÏτυÏοÏν πως τελικά ο Linux είναι Îνα πυÏήνας που χÏησιμοποιήθηκε σε συνδυασμό με το σÏστημα GNU: “Τα πεÏισσότεÏα εÏγαλεία που χÏησιμοποιοÏνται με τον Linux είναι λογισμικό GNU και συνοδεÏονται υπό την άδεια αντιγÏαφής (copyleft) του GNU. Αυτά τα εÏγαλεία δεν βÏίσκονται στην αναμονή - Ïωτήστε εμÎνα (ή το GNU) για πεÏισσότεÏες πληÏοφοÏίες.”
Ο συνδυασμός τους (του συστήματος GNU και του πυÏήνα Linux) μποÏεί να ακοÏγεται απλή διαδικασία, στην Ï€Ïαγματικότητα όμως δεν ήταν και τόσο απλή. ΜεÏικά από τα συστατικά (3) του GNU χÏειαζόταν ουσιαστική αλλαγή για να λειτουÏγήσουν με τον Linux. ΑναπτÏσσοντάς Îνα ολοκληÏωμÎνο λειτουÏγικό σÏστημα ως διανομή όπου θα μποÏοÏσε να Ï„ÏÎχει αξιόπιστα “εκτός του κουτιοϔ ήταν επίσης αÏκετά μεγάλη διαδικασία. ΧÏειαζόταν να διευθετήσουμε το θÎμα που αφοÏά την εγκατάσταση και την εκκίνηση του συστήματος. Αυτό ήταν Îνα Ï€Ïόβλημα που δεν είχαμε Ï€Ïο μελετήσει διότι δεν είχαμε φτάσει ακόμα εκεί. Πάντως, οι χÏήστες που κατασκεÏασαν τις διάφοÏες διανομÎÏ‚ συνείσφεÏαν ουσιαστικά σε αυτό το Ï€Ïόβλημα.
Το ÎÏγο GNU υποστηÏίζει και τα συστήματα GNU/Linux και το σÏστημα GNU (ακόμη και με χÏήματα). ΧÏειάστηκε να δοθοÏν χÏήματα Îτσι ώστε να ξαναγÏαφτοÏν οι σχετιζόμενες επεκτάσεις του Linux στην βιβλιοθήκη GNU C, Îτσι ώστε να είναι Ï„Îλεια αναπτυγμÎνη, και τα πιο Ï€Ïόσφατα GNU/Linux συστήματα να χÏησιμοποιοÏν την Ï„ÏÎχουσα Îκδοση της χωÏίς να χÏειάζονται αλλαγÎÏ‚. Επίσης χÏειάστηκε να δοθοÏν χÏήματα για την ανάπτυξη τις διανομής Debian GNU/Linux
ΣήμεÏα, χÏησιμοποιοÏμε GNU συστήματα βασισμÎνα στον Linux, και ελπίζουμε στο μÎλλον να χÏησιμοποιήσετε και εσείς. Επίσης, υπάÏχουν πολλÎÏ‚ διαφοÏετικÎÏ‚ εκδόσεις του συστήματος GNU/Linux (συνήθως ονομάζονται “διανομÎÏ‚”). ΠολλÎÏ‚ όμως από αυτÎÏ‚ συμπεÏιλαμβάνουν μη-ελεÏθεÏο λογισμικό. Δυστυχώς, οι κατασκευαστÎÏ‚ αυτών Îχουν υιοθετήσει την φιλοσοφία του Linux και όχι του GNU. Ευτυχώς υπάÏχουν και απόλυτα ελεÏθεÏες διανομÎÏ‚ GNU/Linux.
Είτε χÏησιμοποιείτε το GNU/Linux, είτε όχι, σας παÏακαλοÏμε να μην μπεÏδεÏεται τον υπόλοιπο κόσμο χÏησιμοποιώντας το όνομά “Linux”. Ο Linux είναι πυÏήνας, το πιο αναπόσπαστο κομμάτι του συστήματος. Αν δοÏμε όλο το σÏστημα ως σÏνολο τότε πάνω κάτω όλο είναι λογισμικό GNU και κάνει χÏήση του πυÏήνα Linux. Όταν μιλάτε για αυτόν το συνδυασμό παÏακαλοÏμε αναφÎÏετε τον ÏŒÏο “GNU/Linux”.
Εάν χÏειάζεστε κάποιον σÏνδεσμο που να αναλÏει το “GNU/Linux”, αυτή η σελίδα καθώς και η http://www.gnu.org/gnu/the-gnu-project.el.html αποτελοÏν καλÎÏ‚ επιλογÎÏ‚. Εάν χÏειάζεστε κάποιον σÏνδεσμο που να αναλÏει τον Linux, ως πυÏήνα, τότε ο http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Linux είναι Îνας καλός σÏνδεσμος.
Υποσημείωση: Î ÎÏα από το ÎÏγο GNU, Îνα άλλο ÎÏγο που λειτουÏγοÏσε ανεξάÏτητα κατασκεÏασε Îνα ελεÏθεÏο λειτουÏγικό σÏστημα συμβατό με το σÏστημα Unix. Το σÏστημα αυτό είναι γνωστό ως BSD και δημιουÏγήθηκε στο πανεπιστήμιο του Berkeley. Το '80 ήταν μη ελεÏθεÏο, όμως στις αÏχÎÏ‚ του '90 τελικά Îγινε ελεÏθεÏο. Όλα τα ελεÏθεÏα λειτουÏγικά συστήματα που υπάÏχουν σήμεÏα είναι βασισμÎνα είτε στο σÏστημα GNU είτε στο BSD.
Οι χÏήστες μεÏικÎÏ‚ φοÏÎÏ‚ Ïωτάνε εάν το BSD είναι κάποια Îκδοση του GNU, όπως για παÏάδειγμα το GNU/Linux. Οι κατασκευαστÎÏ‚ του BSD εμπνεÏστηκαν από το ÎÏγο GNU όσο αφοÏά την ελευθεÏία του λογισμικοÏ, και για αυτό ο κώδικας του BSD συστήματος είναι ελεÏθεÏος. Ο κώδικας του συστήματος BSD διαφÎÏει από τον κώδικα του συστήματος GNU. Τα συστήματα BSD σήμεÏα χÏησιμοποιοÏν μεÏικά από τα Ï€ÏογÏάμματα του GNU, όπως επίσης το σÏστημα GNU χÏησιμοποιεί μεÏικά συστατικά από το σÏστημα BSD. Ωστόσο, είναι δυο διαφοÏετικά συστήματα τα οποία αναπτÏχθηκαν ξεχωÏιστά. Οι κατασκευαστÎÏ‚ του BSD δεν ÎγÏαψαν κάποιον πυÏήνα και τον ενσωμάτωσαν στο GNU σÏστημα. Για αυτό, το όνομα GNU/BSD δεν θα ταίÏιαζε σε αυτήν την πεÏίπτωση.(4)

