คนส่วนใหญ่ แม้แต่คนที่เล่น Linux ก็ยังไม่ค่อยเข้าใจถึงความแตกต่างระหว่าง Linux, GNU/Linux และ GNU toolchain แต่ความแตกต่างนั้นสำคัญเมื่อคุณคิดถึงการพึ่งพาซอฟต์แวร์บางประเภท
Linux และ GNU
Linux ต่อจากสายการพัฒนาที่เริ่มต้นด้วย Unix ด้วยเหตุนี้ Linux ส่วนใหญ่จึงได้รับการออกแบบมาและอาจมีโค้ด Unix อยู่ด้วย
อย่างไรก็ตาม GNU ตั้งใจโดยผู้สร้าง Richard Stallman ให้เป็นระบบปฏิบัติการที่เสรีและเป็นอิสระอย่างสมบูรณ์ โดยใช้ codebase หรือบรรทัดฐานการอนุญาตให้ใช้สิทธิแบบเดียวกับ Unix หรือ Linux ทั้งสองเป็นโครงการที่แยกจากกัน เรียงตาม
GNU/Linux
ความท้าทายของโปรเจ็กต์ GNU คือเคอร์เนล ซึ่งเป็นซอฟต์แวร์หลักที่โต้ตอบกับฮาร์ดแวร์และประสานงานกับแอปพลิเคชันอื่นๆ ทั้งหมด ยังไม่พร้อมสำหรับการผลิต เคอร์เนล GNU Hurd ซึ่งเผยแพร่ในสภาวะก่อนการผลิตในปี 2015 ยังไม่พร้อมสำหรับช่วงไพร์มไทม์
ทางออก? ลินุกซ์. เคอร์เนล Linux ในรูปแบบของ Linux-Libre กลายเป็นส่วนหนึ่งของโครงการ GNU ดังนั้น GNU ที่รันเคอร์เนล Linux หรือ GNU/Linux
GNU Toolchain
A การกระจาย GNU มักจะรันเคอร์เนล Linux แม้ว่า GNU Hurd จะยังคงพร้อมใช้งานสำหรับการทดสอบที่ไม่สำคัญต่อภารกิจ อย่างไรก็ตาม สิ่งที่แยกการกระจาย GNU ออกจากการแจกจ่าย Linux อื่น ๆ คือการผสานรวม GNU toolchain ซึ่งเป็นชุดของโปรแกรมหลายร้อยโปรแกรมที่ฟรีและเป็นโอเพ่นซอร์ส และสนับสนุนการพัฒนาซอฟต์แวร์ใหม่ที่ไม่เสียค่าใช้จ่าย
องค์ประกอบทั่วไปของ GNU toolchain ได้แก่ GNU Make, GNU C Library, GNU Debugger และระบบ GNU build
แพ็คเกจ GNU อื่นๆ
แอปพลิเคชัน รวมถึงแอปกราฟิกที่มีไว้สำหรับการโต้ตอบกับผู้ใช้ปลายทาง อาจเป็นส่วนหนึ่งของกลุ่ม GNU หากพวกเขาปฏิบัติตามแนวทางปรัชญาที่กำหนดโดย Stallman แอปพลิเคชันตระกูล GNU ทั่วไป ได้แก่:
- TexInfo: ภาษาและโปรแกรมสำหรับแสดงเอกสารทางเทคนิค
- GNU Emacs: ระบบประมวลผลเอกสาร
- GNOME: ตัวจัดการเดสก์ท็อปที่ให้รูปลักษณ์และสัมผัสหลักสำหรับอินเทอร์เฟซผู้ใช้แบบกราฟิก
- GNU Octave: สภาพแวดล้อมของสถิติจำลองตาม Matlab
- GNU He alth: บันทึกสุขภาพอิเล็กทรอนิกส์สำหรับแพทย์และโรงพยาบาล
- GnuCash: ระบบการเงินส่วนบุคคล