كيف نقارن لينكس بيونكس ؟

لينكس هو أحد أنواع يونكس، ليصبح السؤال ذي معنى تكون المقارنة مع "اليونكسات الأخرى " وهذا يعتمد أيها تقصد فهي كثيرة وهي تقسم إلى نوعين التي تنتجها الشركات الصانعة للأجهزة مثل Sun ونظامها Solaris والتي تنتجها شركات برمجيات فقط مثل SCO. كما يمكن أن تقسم من حيث الرخصة مثل الحرة HURD و FreeBSD و المملوكة مثل SCO UNIX. وهناك العديد من العوامل الأخرى مثل الأجهزة التي يمكنه أن يعمل عليها. في الجدول التالي مقارنة بين واحد من كل نوع. Factor\OSGNU/LinuxGNU/HURDFreeBSDSolarisSCO UNIXbyالمجتمع - النواة يقودها الحاكم المطلق لينوسالمجتمعالمجتمع - يقودها مجلسSUN MicrosystemsSCOالأجهزةمعظم الأجهزةحالياً إنتل 32إنتل 32 وجار العمل على غيره مثل alphaعائلة Sparc و إنتل 32إنتل 32الرخصةحرة GNU GPL - المشتقات تصبح حرةكما لينكسحرة BSD - لكن يسمح بالمشتقات المغلقةمغلقمغلقالحالةمستقر وقيد التطويرغير جاهز - قيد التطويرمستقرمستقر على sparc وأقل منه على إنتللا معلومات عنديالهدفنظام حر يحترف كل الأغراض بأعلى أداء وأفضل حمايةمستقبل يونكس وسهولة التطويرمشروع BSDالمشاريع ذات الطبيعة الخاصة-السعريتراوح بين مجاني وفي الغالب 20 دولار مع التوصيل وقد يصل إلى عدة آلاف--مرتفع نسبياً-في الغالب حل متكامل مع الجهاز - السعر إشتراك سنويمرتفع نسبياًالدعممن المجتمع الضخم ومن شركات مقابل اشتراكالمجتمعالمجتمعالشركة الصانعة Sunالشركة الصانعةحجم مجتمع المتطوعينأكبر مجتمعقيد التشكيلمجتمع كبير أقل من لينكسلا يوجدلا يوجدالسهولةيوجد توزيعات سهلة جداًالتوزيعة الوحيدة هي ديبيان الصعبةبسبب قلة دعم العتاد،قلة التوزيعات فالسهولة ليست هدفصعبصعبالقوة والأمانالكثير من الحلول مثل PAM و SSHو LDAP-كما لينكستضمه الشركة،ولكن بسبب الإعداد المسبق-بعض كلمات سر موحدة- وعدم توفر الكودتضمه الشركةالتطبيقات وأدوات الحلول الخاصةمجاناً من المصدر أو جاهزة على شكل حزم كما في ديبيانأقل عدداً،قد تضطر لبنئها من المصدرمن الكود المصدرفي الغالب تكتفي بما هو معد مسبقاً، وقد تتوفر مقابل عقود مكلفة مع شركات أخرىأقل عدداً وتكتفي بما يأتي مسبقاً،وقد تتوفر مقابل عقود مكلفة مع شركات أخرىيجدر الإشارة أن المصدر المفتوح من ناحية الأمان هو سلاح ذو حدين فالشركات تروج أن عدم توفر المصدر قد يعيق المخربين بسبب جهلهم بطريقة عمله، من جهة أخرى تقوم البرامج المفتوحة المصدر على أن تكون الخوارزميات آمنة كجزء من التصميم ولا تعتمد على جهل المخرب. في المقابل قد يتسبب عدم توفر المصدر في ثغرات Buffer Overflow فإصلاح هذه الأخطاء يتم من خلال تعديل المصدر فقط، وبكل أولئك الخبراء المتطوعين في مجتمع لينكس تكتشف الثغرات بسرعة (بين 5 دقائق وثلاث أيام) فإن كنت خبيراً أصلحتها بنفسك ربما قبل ذلك! فحسب قانون لينوس (لذي استوحاه Eric S. Raymond من لينوس): "بعدد كافٍ من المقل، كل الثغرات (العميقة) تصبح سطحية". ولكن في البرمجيات المملوكة مغلقة المصدر تظل هذه الأخطاء مخبأة حتى تكتشف بالتجربة (بالصدفة) أو من قبل موظف سابق في الشركة فتنشر في العالم السفلي، فيستغلها شخصٌ ما للهجوم عليك، ولن تعرف إلا إذا نتج عنه خراب ظاهر عندما تسوء الأمور تتصل بخدمة الدعم، الذين يتجاهلونك حتى تسوء الأمور أكثر فأكثر بأن تحصل المشكلة مع عدد كبير من الزبائن، عندها تجبر الشركة على الإعتراف بالمشكلة وتخصيص عدد محدود من المبرمجين لحلها، كل ذلك قد يستغرق أكثر من سنة، أخيراً يصدر تحديث لسد الثغرة الذي بدوره قد يحتوي على ثغرة وعليك أن تنتظر (وتتمنى) إلى أن تسوء الأمور مجدداً (أنت لا تملك المصدر، أنت لا تعلم إلا ما يقولونه لك وعليك تصديقهم)
عند المقارنة بين لينكس و FreeBSD بصفتهم أنظمة حرة يحضرني ما تقوله وثائق خادم قواعد بيانات MySQL حول العوامل التي تجعل أي نظام أفضل لتشغيل هذا الخادم (مثل استقرار theads وغيرها) ثم تستنج أن أفضل نظام هو Linux 2.4 ثم بالدرجة الثانية Solaris وبالدرجة الثالثة يأتي FreeBSD ولكنهم يؤكدون أن هذا لا يشير إلى أن هذا النظام أفضل من ذاك بل ربما لأنهم اهتموا به أكثر من غيره، ولكن بما أننا نتحدث عن برمجيات حرة يقود تطويرها المجتمع فإن هذا يشير إلى مدى كبر حجم مجتمع لينكس مقارنة مع FreeBSD وبالتالي تفوق برمجياته على الأقل من ناحية دعم تطوير البرمجيات ودفع المطورين للإهتمام بها، والأهم من ذلك أن لينكس هو النظام الذي تعمل به كل مزايا برمجيات غنو وأنها جربت من قبل مطوري غنو أنفسهم عليه.
وعند مقارنة جميع أنظمة يونكس فيما بينها لا بد أن أشير إلى قول إريك ريموند Eric Raymond أحد مستشاري يونكس أنه كان قد كتب مقالة FAQ كيف تختار/تشتري نظام يونكس حسب احتياجاتك وميزانيتك وما هي المزايا التي يجب أن تتأكد من وجودها قبل الشراء ولكن بعد ظهور لينكس فإنه يقول : "Times change, industries evolve, and I can now replace that FAQ with just three words: 'Go get Linux!' " بعد أن تغيّر الزمن يمكن أن نستغني عن تلك المقالة بثلاث كلمات "احصل على لينكس" فقط.
هناك العديد من الخوارزميات ينفرد بها نظام لينكس تجعله في مقدمة الأنظمة الأخرى سرعةً وموثوقية. من الصعب مناقشة كل هذه العوامل هنا، لهذا سنأخذ مثال واحد، انظر الملحق صفر للتفاصيل. يعتقد العديد من الناس أن أنظمة المستقبل ستكون مبنية على تصميم النُوَيّة microkernel، فكرة النويّة تقوم على تقليل مهام النواة إلى الحد الأدنى المطلوب في كل أنظمة التشغيل (إدارة العتاد والذاكرة وتوزيع وقت المعالج على العمليات) أما بقية المهام (مثل بروتوكولات الشبكة، أنظمة الملفات ...إلخ) توفرها مجموعة من البرامج الخاصة تسمى الخادمات servers أو المراقبات daemons (أيضاً العفاريت). كل هذا من أجل الحصول على نظام مقسّم إلى وحدات modularized. تصميم لينكس لا يتبع اسلوب النويّة، فهو نواة أحادية Monolithic kernel، يحتوي نظام لينكس ما نسميه وحدات النواة kernel modules، كل وحدة يمكن تحميلها فقط عندما تدعو الحاجة إليها وتزال عند عدم الحاجة لها لتوفير الذاكرة، لينكس هو نظام النواة الأحادية الوحيد الذي يمكنه ذلك (أي تغيير جزء من النواة دون إعادة تشغيل الجهاز)، كما أنه يشغل أجزاءً من كود النواة بالتوازي (في نفس الوقت) كما الخادمات في النويّة تسمى خيوط النواة kernel threads وهي قليلة فقط في الحالات التي يكون هناك جدوى من ذلك. نظامي Plan9 (من Bell-Labs أصل اليونكس) و GNU/Hurd (جزء من GNU) يتوقع أن يكونا منافسي لينكس المستقبليين. إنهما يوسّعان العديد من المفاهيم في عالم يونكس، مثلاً هناك توحيد المجلدات union directories (أو UnionFS). لا يهدف Plan9 إلى أن يكون يونكس على عكس Hurd (من خلال التوافق مع معايير POSIX). سمي Plan9 على اسم فيلم "Plan 9 from Outer Space" في حين كان HURD اختصاراً متداخلاً mutually recursive acronym يعني "HIRD Unix-Replacing Daemons" أي "HIRD العفاريت التي تحل محل يونكس" حيث HIRD تعني "HURD of Interfaces Representing Depth" أي "HURD من الواجهات التي تمثل العمق . لأنهما يشغلان عدة خادمات فوق النويّة هذا يجعلهما أنظمة modularized (مقسّمة إلى وحدات)، هذا يجعلهما أفضل من غيرهما ولكن ليس أفضل من لينكس لأنه هو الآخر يحمل هذه الصفة، ولكن هذه الخادمات فيهما يمكن أن تعمل دون صلاحيات مما يجعل إضافة الأجزاء التي تحتوي أخطاء buggy codes أقل خطراً لدرجة أن المستخدم (العادي محدود الصلاحيات) يمكنه تشغيل Hurd داخل آخر (تسمى العملية sub-hurd)، من جهة أخرى في لينكس العادي يمكن إضافة الوحدات فقط من قبل المستخدم الجذر (مدير النظام مطلق الصلاحيات) مما يعني أن إضافة وحدة لدعم نظام ملفات غير مجرب تعرض النظام كله للخطر (بسبب الصلاحيات المطلقة)، ولكن باستعمال حزمة اسمها user-mode-linux فإننا نحص على هذه الميّزة في لينكس (حيث يمكنك تجربة الأجزاء التي قد تحتوي أخطاء وحتى تشغيل نواة كاملة كأنها عملية لمستخدم محدود الصلاحيات داخل نواة لينكس أخرى). بسبب ميّزة تمرير الرسائل Message passing بين الخادمات فإن Hurd و Plan9 (أو بعض الأنظمة المشتقة منه مثل Inferno) تجعلهما مفيدان في الحوسبة الموزعة (الموازية) ولكن حتى هذه يمكن الحصول عليها في لينكس عبر بعض الرقاع (مثل OpenMosix و BProc) التي تجعل لينكس أفضل نظام في هذا المجال. باختصار إن الوضع الحالي لنظام لينكس يوفر بطريقة أو بأخرى (قد لا تكون مباشرة) مثيلاً للمزايا الإضافية مع تجاوزها في السرعة والأداء، انظر بند النويّة والنواة الأحادية في الملحق صفر
إن Hurd و Plan9 لا يشكلا تهديداً لقضية البرمجيات الحرة لأنهما برمجيات حرة أيضاً! فالأول بالتأكيد يصدر وفق رخصة التأميم العامة (لأنه جزء من غنو) والثاني أصبح متوافقاً (منذ 2002) مع تعريف البرمجيات الحرة من FSF وتعريف المصدر المفتوح من OSI.
هل يمكن الوثوق بنظام لينكس لأداء المهام الحساسة ؟

نعم يمكن الوثوق بنظام لينكس ليقوم بأكثر المهام حساسية. بعض توزيعات لينكس حاصلة على موافقة وزارة الدفاع الأمريكية DoD (المصدر هو وكالة رويتيرز للأنباء). تشير التجربة العملية أن تصحيح الخطأ بعد إكتشافه (وإصدار رقعة توزع مجاناً) يستغرق في المتوسط ما بين 5 دقائق إلى 3 أيام فقط. مثلاً تم توفير حل لمشكلة FDEV_BUG الموجودة في بعض المعالجات CPU خلال 3 أيام (كان الحل بأن تقوم نواة لينكس بالحسابات التي يخطئ بها المعالج بعمليات رياضية مكافئة) أما أصحاب الأنظمة الأخرى فكان عليهم انتظار أكثر من سنة حتى اعترفت إنتل بوجود المشكلة أصلاً. يقول Russell Nelson مدير شركة Crynwr Software "نحن نستعمل لينكس في كل تطبيقات المهمات الحساسة؛ فلدينا كود المصدر، لن نبقى عالقين على الخط نحاول الإتصال مع دائرة الدعم الفني لأحدهم."
هل سينتشر هذا النظام؟

الكثير من الشركات الكبرى تستخدم هذا النظام وتدعمه مثلا IBM و HP و Novel من الداعمين له على الرغم أنه ينافس أنظمة يونكس التي ينتجونها! شركة Intel تدعم تطوير GNU C Compiler و قامت شركة Oracle بعمل توزيعة لينكس وأنتجت شركة Sun سطح مكتب للتطوير يعمل بظام لينكس و غنوم للتطوير باستعمال java اسمه Java development desktop وهي الآن تعمل على إنجاز واجهة ثلاثية الأبعاد لنظام لينكس. وأكثر خادمات المواقع المشهورة تستخدم لينكس مثل google وخادم ويب أباتشي apache الحر مستخدم في yahoo و amazoon ، الكثير من الدول تستخدم لينكس لإنجاز أعمالها الحساسة كما تعمل وكالة الأمن القومي الأمريكي على تطوير الحماية في لينكس SElinux وأيضا الكثير من دول العالم تستخدم لينكس في الدوائر الرسمية مثل كوريا والمدارس الأساسية في اسبانيا تستخدم لينكس وحمى لينكس وباء في اوروبا. بقي أن نذكر أن FSF مدعومة من ال UNISCO
كيف يمكن أن أستفيد أنا منه في البيت أو المكتب الصغير؟

تأتي توزيعات لينكس بحوالي من 2000 إلى 8000 حزمة برمجية إضافة إلى زلايين (ما بعد الملايين والبلايين) من التطبيقات الموجدة على الإنترنت من مشغل الفيديو والألعاب إلى برامج المكتب (معالج نصوص ...إلخ) ومن متصفحات الشبكة إلى أدوات البرمجة وتستطيع أن تقول أن بإمكانه فتح كل الملفات (التي تعرفها والتي لم تسمع عنها) وحتى برامج الأجهزة الخلوية متوفرة مجانا للتنزيل من الإنترنت. إضافة إلى اكتسابك خبرة في أنظمة يونكس
كيف يمكن أن تستفيد منه الدول والشركات ؟

بسبب تمتعه بالاستقلالية عن المنتجين و كلفته المنخفضة والأمان والموثوقية فإن الشركات يمكنها توفير المال من جهة ورفع تنافسية وقيمة منتجاتها من جهة أخرى (مما يزيد هامش الربح). يأتي غنو/لينكس مع مصدره والوثائق والأداوت الكافية لبناء أي تطبيق. ولا يقتصر الأمر على البرمجيات بل والعتاد حيث يمكن استعمال لينكس بشكل داخلي في الأنظمة المدمجة embedded systems خصوصاً أجهزة جدر النار firewalls والمحولات routers مثل التي تنتجها Linksys مستفيدة من مزايا لينكس الفائقة في الشبكات. هناك العديد من الدراسات التي حاولت تقدير قيمة لينكس، مثلاً في دراسة على ريدهات لينكس 7.1 (اسمها More Than a Gigabuck: Estimating GNU/Linux's Size) وجد أنها تحتوي على 30 مليون SLOC أي سطر مصدري من الكود source lines of code (دون التعليقات) ولو كان قد طُوّر عبر وسائل مملوكة تقليدية فإنه سيكلف 1.08 مليار دولار! ويستغرق ذلك 8000 سنة-شخص! (ارجع إلىwww.dwheeler.com/sloc) دراسة أخرى (اسمها عد البطاطا Counting potatoes) طبقت نفس التحليل على ديبيان 2.2 (بطاطا) لتجد أنه مكون من 55 مليون SLOC ويكلف 1.9 مليار دولار بالأساليب المملوكة! (ارجع إلى http://people.debian.org/~jgb/debian-counting)
تعتبر أنظمة يونكس UNIX الأنظمة المعتمدة كخادمات وأجهزة مركزية ولكن هذه الأنظمة تعمل على أجهزة مكلفة جداً (اضافة إلى كلفة النظام الخيالية) بينما في لينكس يمكنك أن تشغيله على أي جهاز بما فيها الأجهزة الشخصية وبفضل تقنية SMP (تركيب أكثر من معالج على جهاز واحد) والشبكات العنقودية network clusters يمكن لأجهزة شخصية أن تعطي أداء أداء ال Mainframe العملاقة ولكن بسعر أرخص بكثير ويسمح تصديره (إضافة إلى أن النظام حر) وبهذا تحصل الدول الفقيرة والشركات على أرقى التكنولوجيا بسعر منخفض نسبياً. يضاف إلى ذلك أن تعميم نظام لينكس يجعل هناك خبرات محلية في أنظمة يونكس وفي إدارة الأنظمة الحساسة مما يوفر على الدولة مغامرة وضع الأجهزة التي تحتوي على بينات حساسة في أيدي أجنبية. مثلاً KLAT2 super computer cluster يتكون من 64 جهاز شخصي غير معدّل بمعالج AMD Athlon يعملون بنظام لينكس وصل أداؤه الفعلي إلى 22.8 GigaFLOPS مليار عملية كسرية في الثانية (القمة النظرية للأداء 89 GigaFLOPS) وكان أول حاسوب خارق سوبركمبيوتر كلفته على أداؤه أقل من ألف دولار لكل مليار عملية كسرية في الثانية. وحتى عندما لا تهتم بالسعر فإن الحل هو لينكس، مثلاً أسرع حاسوب في العالم (عام 2005) هو المورثة (الجينة) الزرقاء Blue Gene من IBM فهو مكون من 32768 معالج PowerPC (في بنية معدّلة) بأداء حقيقي وصل 135.5 Tera FLOPS ألف مليار عملية كسرية في الثانية (ونظرياً قد يصل إلى 360 TeraFLOPS) وهو يعمل بنظام لينكس (انظر www.research.ibm.com/bluegene/ و http://news.com.com/2100-1001-963285.html). كما أن شركة Cray Inc. (الموقع www.cray.com) أعلنت (في 4 تشرين أول 2004) أن سلسلة حواسيبها العملاقة Cray XD1 عدد من معالجات AMD Opteron ذات 64-بت تعمل بواسطة غنو/لينكس لتعطي أداء يصل إلى 41.5 Tera FLOPS ألف مليار عملية. (ارجع إلى موسوعة ويكيبيديا Wikipedia.org في مقالة Supercomputers)