جنو

جنو هو نظام تشغيل حر يتكون من نواة ومكتبات وأدوات النظام ومترجمات وتطبيقات المستخدم النهائي. اللفظ GNU هو أكرونيم حشوي لعبارة "GNU's Not Unix" أي «جنو ليس يونكس»، وقد أتت هذه التسمية من كونه صمم ليشبه يونكس لكن يختلف عنه في كونه حراً ولا يحتوي أياً من شفرات يونكس. أعلن ريتشارد ستالمن عن خطة النظام في سبتمبر من العام 1983 وبدأ العمل في برمجيات النظام في يناير 1984. ولا يزال العمل علي تطوير جنو يجري حتى الآن. يُسمى المشروع الذي يطور جنو مشروع جنو والبرامج التي تصدر تحت مظلة جنو تُسمى حزم جنو أو برامج جنو.

تشمل مكونات النظام الأساسية تجميعة مترجمات جنو (GCC) وأدوات جنو للتعامل مع التثنائيات (binutils) والغلاف أو الصدفة باش ومكتبة سي من جنو (glibc) والأدوات الأساسية (coreutils)، كما تستخدم جنو حزماً خارجية مثل إكس للواجهة الرسومية ونظام تصفيف المحارف تخ. وليست كل برمجيات جنو تعمل مع نواة جنو (هيرد).

لم يصدر نظام جنو كامل حتى الآن (2010)، فنواة جنو الرسمية -هيرد- لم تكتمل حتى اليوم، لذا فمعظم أنظمة جنو تستخدم نواة لينكس ولكنها رسمياً ليست جزءاً من جنو. يُطلق على إصدارات جنو التي تستخدم النواة لينكس أنظمة لينكس تبعا لاسم النواة، لكن مشروع جنو يطالب الناس بأن يطلقوا على هذه الأنظمة جنو/لينكس.

كما أن الكثير من برمجيات جنو تعمل على العديد من الأنظمة الأخرى مثل ويندوز وبي.إس.دي وسولاريس وماك أو.إس.

كتبت رخصة جنو العمومية ورخصة جنو العمومية الصغرى ورخصة جنو للوثائق الحرة خصيصًا من أجل جنو لكنها تستعمل في الكثير من المشاريع الأخرى غير المتعلقة بجنو.

التاريخ 

أعلن عن مشروع جنو في 27 سبتمبر من العام 1983 في مجموعات net.unix-wizards وnet.usoft الإخبارية بينما بدأ تطوير البرمجيات في 5 يناير 1984، عندما استقال ستالمن من وظيفته في معهد ماساتشوستس للتقنية حتى لا يدّعوا ملكيتهم لجنو أو يعارضوا توزيعه كبرمجيات حرة. وطبقا لستالمن، فقد استوحِي الاسم بعد العديد من التلاعبات اللفظية بالكلمات.

كان الهدف هو عمل نظام تشغيل حر بالكامل، إذ أراد ستالمان أن يكون مستخدمو الحاسوب أحراراً، كما كان معظمهم في الستينيات والسبعينيات؛ أحراراً في دراسة الشفرة المصدرية للبرمجيات التي يستخدمونها، أحراراً في تعديل سلوك البرمجيات، وأحراراً في نشر النسخ المعدلة. نُشِرَت هذه الفلسفة في مارس 1985 باسم بيان جنو GNU Manifesto.

أغلب البرمجيات التي احتاجها المشروع كُتبت من الصفر، فيما استخدمت البرمجيات الحرة المتطابقة مع المشروع التي كانت موجودة بالفعل. من الأمثلة على هذا نظام النوفذة إكس ونظام تصفيف المحارف تخ. أغلب العمل في جنو قام به متطوعون؛ بعضهم في وقت فراغه، بعضهم بمقابل من شركات تجارية أو مؤسسات تعليمية أو منظمات أخرى غير ربحية.

في أكتوبر 1985 أسس ستالمن مؤسسة البرمجيات الحرة (FSF). في أواخر الثمانينيات وبدايات التسعينيات وظفت منظمة البرامج الحرة عددا من المطورين لكتابة البرامج التي يحتاجها جنو، وقد وصل عدد المطورين إلى 15 أو 16 في أقصى الحالات. كما تملك منظمة البرامج الحرة حقوق النسخ لبعض حزم جنو. تخضع أغلب برامج جنو لرخصة جنو العمومية وعدد أقل لرخصة جنو العمومية الصغرى وعدد أقل ما زال يستخدم ترخيصات حرة أخرى.

ومن أجل تسهيل انتقال الناس لاستخدام جنو، تقرر جعل جنو متوافقاً مع يونكس، حيث كان يونكس نظام تشغيل احتكاري ذا شعبية كبيرة في ذلك الوقت. كما أن تصميم يونكس أثبت قوته بالإضافة لكونه مكوناً من أجزاء صغيرة يسهل التعامل معها كل على حدة.

مع بروز جنو في الصورة، بدأت الشركات المهتمة بالمساهمة في تطوير جنو أو بيع برامج جنو وتوفير الدعم الفني لها. أشهر وأنجح هذه الشركات كانت حلول سيغنس وقد اندمجت مع ريد هات الآن.

الترخيص 

لضمان بقاء برمجيات جنو حرة، أصدر المشروع النسخة الأولى من رخصة جنو العمومية (GNU GPL) في العام 1989. تُستخدم هذه الرخصة حالياً في أغلب برامج جنو والكثير من البرامج التي لا تتبع جنو؛ فهذه أكثر الرخص الحرة استخداماً. توفر هذه الرخصة لمتلقي البرنامج الحق في تنفيذ ونسخ وتعديل وتوزيع البرنامج مع منعه من فرض أية قيود إضافية على توزيعاته الخاصة من البرنامج. يعرف هذا عادة بـ: copyleft.

وبعدها كتبت رخصة جنو العمومية الصغرى (LGPL) لتستخدم مع بعض المكتبات، ورخصة جنو للوثائق الحرة لتستخدم مع الوثائق وأدلة الاستخدام.

التصميم والتطبيق 

كان مخططاً لجنو في الأساس أن يكون متوافقا بشكل كبير مع يونكس مع إضافة التحسينات أينما دعت الحاجة إليها. وكان تصميم نواة جنو هو الاختلاف الأكبر عن يونكس التقليدي، فقد خطط لها أن تكون نوية متعددة الخوادم.

يعمل جنو هيرد فوق نوية (حالياً جنو ماخ GNU Mach) ويتكون من مجموعة من البرامج تسمى خوادم وتؤدي نفس الوظائف التي تؤديها أنوية يونكس التقليدية (أو لينكس).

بحلول 1990 أصبح لدى نظام جنو محرر نصوص قوي ومترجم ناجح جدا وقوي (جي.سي.سي)، ومعظم الأدوات والمكتبات الرئيسية في أي توزيعة من نظام يونكس. كانت النواة هي المكون الرئيسي الذي ظل ناقصاً حتى ذلك الوقت.

في بيان جنو، ذكر ستالمان «توجد نواة أولية لكن بحاجة لكثير من الميزات لتحاكي يونكس.» حيث كان يشير إلى TRIX، نواة تم تطويرها في معهد MIT وقرر مؤلفوها توزيعها مجانا، كما أنها كانت متوافقة مع الإصدار الخامس من يونكس. بدأ العمل على تعديل هذه النواة في ديسمبر عام 1986. لكن في النهاية قرر المطورون أنها لا تصلح كنقطة بداية، لأنها تعمل فقط علي «جهاز 68000 غامض وباهظ الثمن»، ولهذا بحاجة لنقلها إلى معماريات أخرى قبل أن يصبح في الإمكان استخدامها. في عام 1988 تقرر استخدام النواة ماخ (Mach) المطورة في جامعة Carnegie Mellon بديلاً بالرغم من أن إطلاقها كبرنامج حر تأخر حتى عام 1990 حيث كان مطوروها يعملون على إزالة الكود المملوك لشركة إيه تي آند تي.

لأن النوية ماخ - بسبب تصميمها - لا توفر سوى وظائف النواة ذات المستوى الأدنى، كان على مطوري جنو توفير أجزاء النواة ذات المستوى الأعلى في صورة مجموعة من برامج المستخدم. أطلق على هذه المجموعة في البداية اسم Alix، لكن المطور Michael Bushnell فضل بعد ذلك استخدام الاسم هيرد (HURD) وعليه نقل الاسم Alix لنظام فرعي ثم في النهاية أسقط تماماً. في النهاية توقف تطوير هيرد لأسباب تقنية وخلافات شخصية.

في عام 1991 كتب لينوس تورفالدز نواة متوافقة مع يونكس، النواة لينكس. بالرغم من أن الترخيص الأولي للينكس كانت به قيود على التوزيع التجاري، وهو ما لا يجعلها برمجية حرة كحرية الكلام، فإن لينوس غير الرخصة بسرعة في عام 1992 إلي جي.بي.إل الشيء الذي وصفه هو بعد ذلك بأنه أفضل قرار اتخذه في حياته. تطور لينكس بعد ذلك بواسطة العديد من المبرمجين عبر الإنترنت. في عام 1992 تم جمعه مع جنو ليتكون نظام تشغيل كامل الوظيفة.

الآن (2006) فإن هيرد ما زال يخضع للتطوير وهو النواة الرسمية لنظام جنو. هناك أيضا مشاريع لاستخدام نظام جنو مع أنوية فري بي.إس.دي ونت بي.إس.دي.

التسمية

GNU 

GNU هو أكرنيم لعبارة "GNU's Not Unix"، حيث الكلمة الأولى من الاختصار هي الاختصار نفسه، وتوضح هذه التسمية ملمحاً من ملامح ثقافة الهاكرز حيث يعدها ستالمان هاكا في حد ذاتها. تنبع التسمية من كون نظام جنو صمم ليطابق معايير يونكس Unix لكنه في الوقت ذاته ليس يونكس، ولا يقتصر في تصميمه على يونكس بل يسعى للأفضل حتى ولو لم يكن موجودا في يونكس. كما أن في العبارة نوع من السخرية من شركة إيه تي آند تي (المالكة لحقوق يونكس في ذلك الوقت) ومن محاميها.

جنو، جنو هيرد وجنو/هيرد 

GNU, GNU Hurd and GNU/Hurd

تشير جنو/هيرد إلى توزيعة نظام التشغيل جنو التي يشكل جنو هيرد القلب منها. جنو هيرد عبارة عن مجموعة من البرامج أو الخوادم التي تعمل فوق نوية، وتوفر نفس الخدمات التي توفرها أنوية يونكس وحيدة الكتلة التقليدية.

كلمة جنو في «جنو هيرد» تعني أنه جزء من مشروع جنو، بينما «جنو/هيرد» تميزه عن أنظمة جنو الأخرى مثل جنو/لينكس. جنو فقط تعني جنو/هيرد.

خلاف تسمية جنو/لينكس 

عادة ما يطلق اللفظ لينكس على أي نظام يتكون من نواة لينكس وأدوات جنو. لكن منظمة البرمجيات الحرة تصر علي أنها تشارك بالجزء الأكبر من النظام وتستحق على الأقل أن تتساوى في الذكر مع لينكس، كما أنها تقول إن ذكر جنو يذكر الناس بالفلسفة وراء هذا النظام وهو ما لن يكون ملحوظاً لو أغفلنا ذكر جنو. لذلك تدعو منظمة البرمجيات الحرة وستالمن إلى استخدام اللفظ «جنو/لينكس».

تنطق «جنو/لينكس» هكذا «جنو-سلاش-لينكس» أو ببساطة «جنو لينكس» فقط.

برمجيات جنو 

المكونات الرئيسية من نظام جنو تشمل تجميعة مترجمات جنو (GCC)، مكتبة سي من جنو (glibc)، محرر النصوص جنو إيماكس وبيئة سطح المكتب جنوم.

تم نقل العديد من برمجيات جنو لتعمل على أنظمة أخرى وكثيراً ما تستخدم على أنظمة يونكس المحتكرة لتستبدل الأدوات المحتكرة الأخرى. وقد أثبتت أدوات جنو هذه في دراسات عديدة تفوقها على الأدوات المحتكرة الأخرى. تحظى برامج جنو بسمعة جيدة وبخاصة في أوساط مستخدمي لينكس، بسبب أدوات التطوير الخاصة بها - والتي يطلع عليها أحيانا بشكل مجتمع عِدّة جنو GNU toolset. وهذه الأدوات تمثل جزءاً صغيراً من نظام جنو كما أنها غير متوافقة مع بوزيكس. مع ازدياد شعبية نظام جنو/لينكس، يقوم الكثير من المطورين بتثبيت عِدّة جنو من أجل التوافقية أو لمجرد الحصول على سلوك موحد عبر المنصات المختلفة. كما أن الكثير من برامج جنو قد نقلت لتعمل علي أنظمة مايكروسوفت ويندوز وماك أو.إس إكس والعديد من الأنظمة المحتكرة الأخرى، بالرغم من أنه موضوع ساخن بين المتحمسين حيث أن الدافع لتطوير هذه البرامج هو استبدال هذه الأنظمة وليس تحسينها.

هذه قائمة ببرامج معروفة جيداً في مجتمع البرمجيات الحرة:
 باش - صدفة يونكس
 إيماكس - محرر نصوص قابل للامتداد
 جنوم - واجهة مستخدم رسومية
 جنو هيرد - مجموعة من الخوادم تعمل فوق نوية وتؤدي نفس وظيفة أنوية يونكس التقليدية
 جمب - برنامج جنو للتعامل مع الصور
 أدوات جنو الأساسية - أدوات يونكس الأساسية مثل ls، cat وrm
 جي زيب - مكتبة وبرنامج لضغط البيانات

في أكتوبر 2006 بلغ عدد الحزم التي يستضيفها موقع جنو للاستضافة 307 حزمة، أما الباقي فموجود في أماكن أخرى.

توزيعات جنو 

 Bee GNU/Hurd
 دبيان جنو/هيرد
 GNUAB
 مشروع جنتو/هيرد غير الرسمي

أنظمة تشغيل مبنية على جنو ولكن لا تستخدم هيرد 

 GNU/kFreeBSD - أدوات جنو مع نواة فري بي.إس.دي
 جنو/لينكس - أشهر الأنظمة المبنية على جنو وأوسعها انتشارا
 GNU/NetBSD - أدوات جنو مع نواة نت بي.إس.دي
 GNU/Solaris - دمج لأدوات جنو مع أدوات أوبن.سولاريز ونواته

مواضيع ذات صلة 

 رخصة جنو للوثائق الحرة

مراجع 

أسماء مختصرة
برمجيات مشروع جنو
أشباه يونكس
مختصرات حوسبة
نظم تشغيل حرة