De meeste mensen, zelfs mensen die met Linux spelen, begrijpen het onderscheid tussen Linux, GNU/Linux en de GNU-toolchain niet helemaal, maar de verschillen zijn van belang als je nadenkt over bepaalde soorten softwareafhankelijkheden.
Linux en GNU
Linux volgt uit een ontwikkelingsketen die begon met Unix. Als zodanig is veel van Linux ontworpen als Unix-code, en kan het zelfs Unix-code bevatten.
GNU was echter door zijn maker, Richard Stallman, bedoeld als een volledig vrij en onafhankelijk besturingssysteem, dat geen van dezelfde codebase of licentienormen gebruikt als Unix of Linux. De twee zijn afzonderlijke projecten. Soort van.
GNU/Linux
De uitdaging met het GNU-project is echter dat de kernel - de kernsoftware die samenwerkt met de hardware en alle andere applicaties coördineert - nog niet klaar is voor productie. De GNU Hurd-kernel, uitgebracht in pre-productiestaat in 2015, is nog steeds niet klaar voor prime time.
De oplossing? Linux. De Linux-kernel, in de vorm van Linux-Libre, werd onderdeel van het GNU-project. Dus GNU met de Linux-kernel, of GNU/Linux.
De GNU Toolchain
Een GNU-distributie draait meestal op een Linux-kernel, hoewel GNU Hurd beschikbaar blijft voor niet-missiekritieke tests. Wat een GNU-distributie echter onderscheidt van elke andere Linux-distributie, is de integratie van de GNU-toolchain, een reeks van honderden programma's die gratis en open source zijn en de ontwikkeling van nieuwe, vrije software ondersteunen.
Gemeenschappelijke elementen van de GNU-toolchain zijn GNU Make, de GNU C Library, de GNU Debugger en het GNU build-systeem.
Andere GNU-pakketten
Applicaties, inclusief grafische apps die bedoeld zijn voor interactie met eindgebruikers, kunnen deel uitmaken van de GNU-paraplu als ze de filosofische richtlijnen volgen die zijn opgesteld door Stallman. Veelvoorkomende toepassingen van de GNU-familie zijn:
- TexInfo: Een taal en een programma voor het weergeven van technische documentatie.
- GNU Emacs: Een documentverwerkingssysteem.
- GNOME: Een desktopmanager die de basislook-and-feel biedt voor de grafische gebruikersinterface.
- GNU Octave: Een stats-omgeving gemodelleerd naar Matlab.
- GNU He alth: Een elektronisch medisch dossier voor artsen en ziekenhuizen.
- GnuCash: Een persoonlijk financieel systeem.