Οι περισσότεροι άνθρωποι, ακόμη και όσοι ασχολούνται με το Linux, δεν κατανοούν καλά τη διάκριση μεταξύ Linux, GNU/Linux και της αλυσίδας εργαλείων GNU, αλλά οι διαφορές έχουν σημασία όταν σκέφτεστε ορισμένα είδη εξαρτήσεων λογισμικού.
Linux και GNU
Το Linux προκύπτει από μια αλυσίδα ανάπτυξης που ξεκίνησε με το Unix. Ως εκ τούτου, μεγάλο μέρος του Linux έχει σχεδιαστεί όπως και μπορεί ακόμη και να περιέχει κώδικα Unix.
Το Το GNU, ωστόσο, προοριζόταν από τον δημιουργό του, Richard Stallman, να είναι ένα εντελώς δωρεάν και ανεξάρτητο λειτουργικό σύστημα, που δεν θα χρησιμοποιεί την ίδια βάση κώδικα ή τους ίδιους κανόνες αδειοδότησης όπως το Unix ή το Linux. Τα δύο είναι ξεχωριστά έργα. Ταξινόμηση.
GNU/Linux
Η πρόκληση με το έργο GNU, ωστόσο, είναι ότι ο πυρήνας του - το βασικό λογισμικό που αλληλεπιδρά με το υλικό και συντονίζει όλες τις άλλες εφαρμογές - δεν είναι ακόμη έτοιμο για παραγωγή. Ο πυρήνας GNU Hurd, ο οποίος κυκλοφόρησε σε κατάσταση προπαραγωγής το 2015, δεν είναι ακόμη έτοιμος για την πρώτη στιγμή.
Η λύση; Linux. Ο πυρήνας Linux, με τη μορφή Linux-Libre, έγινε μέρος του έργου GNU. Έτσι, το GNU εκτελεί τον πυρήνα Linux ή το GNU/Linux.
Η αλυσίδα εργαλείων GNU
Μια διανομή GNU εκτελεί συνήθως έναν πυρήνα Linux, αν και το GNU Hurd παραμένει διαθέσιμο για μη κρίσιμες δοκιμές. Ωστόσο, αυτό που διαχωρίζει μια διανομή GNU από οποιαδήποτε άλλη διανομή Linux είναι η ενσωμάτωση της αλυσίδας εργαλείων GNU, μια σειρά από αρκετές εκατοντάδες προγράμματα που είναι δωρεάν και ανοιχτού κώδικα και υποστηρίζουν την ανάπτυξη νέου, ελεύθερου λογισμικού.
Κοινά στοιχεία της αλυσίδας εργαλείων GNU περιλαμβάνουν το GNU Make, τη βιβλιοθήκη GNU C, το πρόγραμμα εντοπισμού σφαλμάτων GNU και το σύστημα κατασκευής GNU.
Άλλα πακέτα GNU
Οι εφαρμογές, συμπεριλαμβανομένων των γραφικών εφαρμογών που προορίζονται για αλληλεπίδραση με τον τελικό χρήστη, ενδέχεται να αποτελούν μέρος της ομπρέλας του GNU, εάν ακολουθούν τις φιλοσοφικές οδηγίες που καθόρισε ο Stallman. Οι κοινές εφαρμογές της οικογένειας GNU περιλαμβάνουν:
- TexInfo: Μια γλώσσα και ένα πρόγραμμα για την εμφάνιση τεχνικής τεκμηρίωσης.
- GNU Emacs: Ένα σύστημα επεξεργασίας εγγράφων.
- GNOME: Ένας διαχειριστής επιφάνειας εργασίας που παρέχει τη βασική εμφάνιση και αίσθηση για τη γραφική διεπαφή χρήστη.
- GNU Octave: Ένα περιβάλλον στατιστικών που διαμορφώθηκε σύμφωνα με το Matlab.
- GNU He alth: Ένα ηλεκτρονικό αρχείο υγείας για γιατρούς και νοσοκομεία.
- GnuCash: Ένα σύστημα προσωπικής χρηματοδότησης.