Die meisten Leute, sogar Leute, die sich mit Linux beschäftigen, verstehen den Unterschied zwischen Linux, GNU/Linux und der GNU-Toolchain nicht ganz, aber die Unterschiede spielen eine Rolle, wenn man über bestimmte Arten von Software-Abhängigkeiten nachdenkt.
Linux und GNU
Linux folgt einer Entwicklungskette, die mit Unix begann. Daher ist ein Großteil von Linux wie Unix-Code aufgebaut und kann sogar Unix-Code enth alten.
GNU war jedoch von seinem Schöpfer, Richard Stallman, als völlig freies und unabhängiges Betriebssystem gedacht, das nicht die gleiche Codebasis oder Lizenznormen wie Unix oder Linux verwendet. Beides sind getrennte Projekte. Art von.
GNU/Linux
Die Herausforderung beim GNU-Projekt besteht jedoch darin, dass sein Kernel – die Kernsoftware, die mit der Hardware interagiert und alle anderen Anwendungen koordiniert – noch nicht produktionsreif ist. Der GNU Hurd-Kernel, der 2015 im Vorproduktionsstadium veröffentlicht wurde, ist immer noch nicht bereit für die Hauptsendezeit.
Die Lösung? Linux. Der Linux-Kernel wurde in Form von Linux-Libre Teil des GNU-Projekts. Also GNU, das den Linux-Kernel ausführt, oder GNU/Linux.
Die GNU-Toolchain
Eine GNU-Distribution führt normalerweise einen Linux-Kernel aus, obwohl GNU Hurd weiterhin für nicht unternehmenskritische Tests verfügbar ist. Was eine GNU-Distribution jedoch von jeder anderen Linux-Distribution unterscheidet, ist die Integration der GNU-Toolchain, einer Reihe von mehreren hundert Programmen, die kostenlos und quelloffen sind und die Entwicklung neuer, freier Software unterstützen.
Gemeinsame Elemente der GNU-Toolchain sind GNU Make, die GNU C Library, der GNU Debugger und das GNU Build System.
Andere GNU-Pakete
Anwendungen, einschließlich grafischer Apps, die für die Interaktion mit Endbenutzern bestimmt sind, könnten Teil des GNU-Schirms sein, wenn sie den von Stallman aufgestellten philosophischen Richtlinien folgen. Zu den gängigen Anwendungen der GNU-Familie gehören:
- TexInfo: Eine Sprache und ein Programm zur Anzeige technischer Dokumentation.
- GNU Emacs: Ein Dokumentenverarbeitungssystem.
- GNOME: Ein Desktop-Manager, der das Kern-Look-and-Feel für die grafische Benutzeroberfläche bereitstellt.
- GNU Octave: Eine Statistikumgebung nach dem Vorbild von Matlab.
- GNU He alth: Eine elektronische Patientenakte für Ärzte und Krankenhäuser.
- GnuCash: Ein persönliches Finanzsystem.