الرئيسية > مقالات > نشأة البرمجيات مفتوحة المصدر

نشأة البرمجيات مفتوحة المصدر

في الآونة الأخيرة ازدادت شهرة ما يُعرف بالبرمجيات الحرة free software و البرمجيات مفتوحة المصدر open source software في العالم العربي، تزايد الشهرة في هذه الأيام لا يعني أن هذين النوعين من البرمجيات لم ينشآ إلا في الفترة الحالية، و لا يعني كذلك أنهما لم يكونا معروفين للمهتمين بالتقنيات الحاسوبية منذ فترةٍ طويلة، بل يعني فقط أن إنتشار الإهتمام بهما بين القاعدة العريضة من التقنيين العرب ازداد مؤخراً، و نري هذا واضحاً في إزدياد المتابعين للمواقع التي تقدم أخبار تلك التقنيات، و كذلك في إهتمام الذين لا يستخدمونهما من الأصل؛ بسبب رغبتهم في زيادة ثقافتهم الحاسوبية، أو حتي فتح آفاقٍ جديدةٍ في العمل.

السؤال هنا: ما هي المصادر المفتوحة، و ما هي البرمجيات الحرة، و هل هناك فارقٌ فعليٌ بينهما؟

للإجابة عن هذا السؤال يجب علينا أن نفهم كثيراً الأمور في نشأة عالم البرمجيات، و لذا سنعود بالزمن للوراء حتي بدايات علم الحوسبة computing history نفسه، حينها كانت برمجيات الحاسوب عبارة عن برمجياتٍ صغيرةٍ وظيفتها الأساسية هي “خدمة الآلة باهظة الثمن”، أي أن الشيء الأكثر أهميةً كان هو جهاز الحاسوب مرتفع الثمن، أما البرمجيات فقد كانت شيئاً ثانوياً عند حساب الربح و الخسارة، ولذلك لم يكن هناك من يفكر في “بيع” البرمجيات، إنما كان الكل يبيع “أجهزة حاسوبٍ بها برمجياتٌ سابقة التنصيب”.
و نظراً لأن البرمجيات لم تكن ذات أهميةٍ كبرى من الناحية المادية لذا كان يتم التعامل معها بمنتهي الحرية، فكان المبرمجون ينشرون أكواد برمجياتهم بكل أريحية، و يستطيع المبرمج أن يغير الأكواد التي علي آلته إذا ما توافرت له القدرة العملية علي ذلك و الرغبة فيه.

لكن مع مرور الوقت أصبح العتاد أكثر تقدماً و توفراً، و بالتالي أصبحت أسعاره أرخص مما كانت عليه سابقاً، وبعد التقدم في علوم تصنيع عتاد الحواسيب أصبحت الحواسيب الشخصية شيئاً عادياً، صحيح أنها لم تكن متوافرةً لـ”كل” الناس، لكنها كانت متوافرةً علي كل حال، وبما أن الشركات أصبحت تتنافس فيما بينها علي جذب الزبائن لها فقد استرعي انتباهها شيئٌ هامٌ جداً سيفيدها في عملية تسويق منتجاتها بما لا يُقاس، هو الحاجة إلي برمجياتٍ أكثر قوةً مما لدي منافساتها، و بالتالي يجد الزبون نفسه أمام حواسيب جيدة الإمكانيات و في ذات الوقت بها برمجياتٌ تساعده علي استغلال إمكانيات تلك الأجهزة التي دفع ثمنها.

في هذه المرحلة بدأت البرمجيات تصبح أكثر تعقيداً عما كانت عليه من قبل، و بدأت شركات الحواسيب تنتبه إلي أن البرمجيات تصلح كسلاح تسويقي ممتازٍ إذا تم منع الآخرين من إستخدامها بدورهم، و هو ما سيُطلَق عليه في عالم البرمجيات الحرة فيما بعد اسم “الإحتكار” و سأطلق عليه هنا اسم “الاستئثار”. و كانت أهم الخطوات الاستئثارية التي قامت بها الشركات و أثَّرت علي مسيرة عالم المصادر الحرة تلك التي قامت بها شركة (AT&T) مع نظام تشغيل يونكس UNIX.

ولكن قبل أن نتحدث عن تلك الخطوة الفارقة تعالوا نتحدث عن شخص يسمى ريتشارد ماثيو ستولم richard matthew stallman أولاً، فهو من أكثر الشخصيات تأثيراً علي عالم البرمجيات الحرة ذي الصبغة القانونية و الفلسفية، كما أنه من أكثر الشخصيات إثارةً للجدل سواءٌ في عالم البرمجيات الحرة أو في عالم البرمجيات المُغلَقة المصدر (الاستئثارية-الاحتكارية)!.
ريتشارد ماثيو ستولم richard matthew stallman

في بداية الأمر كان ستولمان باحثاً شاباً يعمل في معامل الذكاء الاصطناعي في معهد ماساتشوستس للتكنولوجيا MIT، كان الباحثون بطبيعة الحال يتداولون البرمجيات و أكوادها فيما بينهم بمنتهي السهولة و البساطة، و كان ريتشارد و الآخرون يشعرون بأنه من الطبعي جداً أن يقوموا بالتعديل علي الأكواد الخاصة بالبرامج التي يستخدمونها متي أحسوا بأنهم يحتاجون لذلك عملياً.

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

الأمر الجديد الإضافي علي طريقة عملهم هو فرض وضع كلمات سرٍ للمستخدمين المختلفين علي أجهزة المعمل التي يستخدمونها، فبما أنه لبعض العاملين في المعمل حقوق ليست للآخرين فقد أصبح من الضروري وجود تفرقة بين حسابات هذا وذاك، و من جديدٍ أحس ستولمان أن ما يجري يدفع الأمور للانهيار أكثر و أكثر.
أحد الصدمات الكبرى اللاتي تعرض لها ستولمان و جعلته يصاب بالذعر أتت حينما حاول أن يعدل من البرنامج الذي يتحكم في طابعة عامة، الحكاية أنه كانت هناك طابعة من طراز متقدم (بالنسبة لتلك الفترة) تخدم عدداً كبيراً من الأشخاص، وفي بعض الأحيان كانت تحدث بالطابعة مشاكل، بما يضيع الوقت والجهد في الذهاب إليها للإطمئنان إلي أن كل الأوراق قد طُبعت بالفعل من عدمه، و لذلك قام ستولمان بتعديل برنامجها بحيث تتغلب علي تلك المشكلة. لكنه حينما أخبر مُصنِّعي الطابعة بذلك صُدم من إستنكارهم لتعديله علي برامجهم!
بل وأظن أنهم هددوه قانونياً إن قام بنشر ذلك التعديل!!!.

الصدمة التي حدثت لستولمان مع عددٍ كبيرٍ من التقنيين الآخرين كانت ما حدث مع نظام يونكس، واليونكس هو نظام تشغيل متطور كانت له قصة النشوء التالية:
فى منتصف الستينيات تعاونت (جنرال إليكتريك General Electric) و (معامل بِلْ bell laboratories التي تغيَّر اسمها فيما بعد ليصبح AT&T) و(معهد ماساتشوستس للتكنولوجيا MIT) لإنتاج نظام تشغيل يُسمى MULTICS، و هو إختصار لإسم (multiplexed Information Computing System)، و يتميز بالعديد من القدرات القوية مثل تعدد المهام multi-tasking و تعدد المستخدمين multi-users و إداره ملفات متعددة المستويات multi-level file management و غيرها من القدرات، لكن AT&T إنسحبت من المشروع في نهاية الأمر.

إلا أنه في عام 1969 قام كِنْ ثومبسون Ken Thompson مع دينس ريتشي  Dennis Ritchie و عدد آخر من المبرمجين الذين كانوا قد عملوا فى مشروع MULTICS بإستئناف العمل فى AT&T لإنتاج نظام تشغيل مماثل خاص بهم، بحيث يعمل على أجهزة من نوع minicomputer، وفي 1 يناير 1970 تم تشغيل أول إصدارات يونكس.

و في بداية الأمر كانت AT&T قد جعلت يونكس منتجاً بحثياً research product بإمكان الجميع أن يستخدموه فى أبحاثهم و يطوروا فيه على أن تظل الملكيه لشركة AT&T، و منذ ساعتها انتشر يونكس إنتشار النار في الهشيم بين الجامعات و الشركات المختلفة، إلا أن تغير نظرة الشركات للبرمجيات جعل الأمور تتغير تماماً فيما بعد، و في عام 1983 و حينما وصلت نسخة من إصدارة system3 إلي ستولمان لم يجد الكود المصدري الخاص بها معها، رغم أنه كما قلنا أن المعتاد كان العكس تماماً، و الأغرب أنه حينما حاول أن يحصل عليه فوجيء أنه لا يمكن ذلك إلا إذا قام بالتوقيع على إتفاقية عدم الكشف (Non-Disclosure Agreement) أو (NDA) إختصاراً، و هو الأمر الذى يجعل من حصوله على الكود عديم القيمة، وكأنك تضع أحدهم في معركة طاحنة مع مسدس سريع الطلقات و لكن في نفس الوقت تشترط عليه أن يعيد لك المسدس و الطلقات بنفس عددها الأول!.
المصيبة الكبري كانت أن نظام يونكس كما ذكرت من قبل رغم أن علامته التجارية كانت ساعتها ملكاً لشركة AT&T إلا أن الواقع أن الجامعات المختلفة و المبرمجين في الشركات و في المعاهد التقنية المتنوعة كانوا قد أسهموا بشكل كبير في تطويره، و هكذا لم تكن هذه الخطوة الأخيرة التي قامت بها AT&T إلا ضربةً تحت الحزام! و في النهاية لا يمكنك الإعتراض بشكل قانوني لأن الحقوق التجارية كانت ملكاً لشركة AT&T فقط.

هنا وبعد كل لتلك الصدمات المتواليات قرر ستولمان أنه “ما حك جلدك مثل ظفرك … فتولَّ أنت جميع أمرك”. أنا عن نفسي كنت سأقضي ربع ساعةٍ من الصراخ و ركل الأرض بقدمي و ربما أُطلِق بعض السباب كذلك، و من الممكن أن أكتب رسالة بذيئةلقيادات AT&T و أوقعها باسم زائف، لكني في كل الأحوال بعد فعل ذلك كنت سأخرس كأفراس النهر تماماً.

لكن ستولمان اتخذ حينها قراراً غريباً و درامياً للغاية: فمادام لا يستطيع إجبار شركات الحوسبة و الدول علي تغيير تلك الأساليب المُجحِفة التي ينتهجونها، فليس بإمكانه إلا أن يفعل ما يستطيع فعله، وهو أن يكتب برمجيات بديلة لتلك التي يكره نهجها، و بما يتفق مع أفكاره هو، وقرر أن تكون تلك البرمجيات حرةً يستطيع الكل أن يُطالعوا أكوادها المصدرية و يُعدِّلوا فيها بمنتهي الحرية حسبما يحتاجون، بالإضافة إلي وجود غطاءٍ قانونيٍ يحمي تلك البرمجيات الحرة من أن يتم الاستيلاء عليها و تحويلها إلي برمجياتٍ مُغلَقة المصدر فيما بعد، و يُجبِر من يستخدم برنامجاً حراً علي جعل تعديلاته التي أجراها عليه حرةً بالمثل.

و بما أن أول البرمجيات التي يحتاجها الحاسوب لكي يعمل هو نظام التشغيل operating system، فقد قرر ستولمان أنه سيكتب نظام تشغيل حر يستطيع الناس إستخدامه كبديل لأنظمة التشغيل الإحتكارية.
وأختار ستولمان أن يكون نظامه الجديد مشابهاً لنظام التشغيل يونكس UNIX لأسباب لا أعلمها جيداً، ربما كان السر في ذلك هو انه كتب برامجاً لنظام تشغيل يونكس و يريد تشغيلها علي نظامه الجديد دون التغيير في أكوادها، أو ربما لأنه هو و المبرمجين الآخرين يعلمون الكثير بالفعل عن يونكس من خلال إحتكاكهم السابق به، و بالتالي يصير من السهل تعاملهم مع المشروع الجديد كمطورين أو مستخدمين، أو ربما لأنه رأي أن تصميم يونكس  تصميمٌ رائعٌ و سهل البناء، و ربما كان كل ما فات صحيحاً.
المهم أنه اختار أن يكون نظامه الجديد مشابهاً لليُنِكْس UNIX-like و أن يكون له الاسم “قِنُو GNU” (يُكتَب “جِنُو” في الترجمات المصرية)، و هو اختصارٌ لجملة “GNU’s Not Unix” و يصف ستولمان هذا الاختصار بأنه إبداع hack في حد ذاته.
وكانت طريقة ستولمان في بناء نظامه هي استبدال الأجزاء جزءاً تلو الآخر، فنظام يونكس يعمل كمجموعة من التطبيقات تتخاطب فيما بينها و تتعاون لإنجاز العمل الكلي، و بالتالي من الممكن أن تستغن عن البرنامج غير الحر الأول و تكتب بديلاً له، ثم تستغن عن البرنامج غير الحر الثاني و تكتب بديلاً له، و هكذا إلي أن تجد أنك قد استبدلتَ كل مكونات النظام القديم بأخري جديدة حرة، لكن المشكلة أن هذا كان معناه الحاجة في البداية إلي مكتبات برمجية حرة، و تلك المكتبات البرمجية الحرة لا بد من بنائها من الصفر، ثم بناء مترجمٍ compiler للغة C من الصفر !، ومحرر أكواد code editor حر !و مُنقِّح debugger حر ، وعلي هذا فقِسْ!!!.

الخلاصة أن شخصاً آخر كان سـ”يضع ذيله في أسنانه” و يهرب من هذا الموضوع كما تهرب الغزلان من الأسود، إلا أن ستولمان كان (و لا يزال) متحجر الرأس جداً، لذا أصر علي الاستمرار و تجميع الآخرين لمساعدته في هذه الأعمال، لذا قام بالإعلان عن مشروع GNU عام 1984و نشر ما يُسمَّى “بيان قنو GNU manifesto” و الذي حث الآخرين فيه علي الإنضمام إليه في مشروعه و مساعدته علي إنجاحه، و لرعاية المشروع و كل ما يتعلق به أسس ستولمان مؤسسة “البرمجيات الحرة Free Software Foundation” لترعي الجوانب القانونية و التنظيمية من العمل و تُصبح الشخصية الاعتبارية التي تتحدث بلسان حركة المصادر الحرة.

نتوقف هنا لنأخذ راحةً لالتقاط الأنفاس، و في المقال التالي سأتحدث بإذن الله تعالي عن الفارق بين حركتَيْ: “البرمجيات الحرة” و “المصادر المفتوحة”، و كذلك عن دخول لاعبٍ أساسيٍ إلي الملعب هو الفنلندي الواثق “لِينُوس تُرْفالدز linus torvalds“، و ربما نُثرثر كثيراً عن علاقة لِينُوس و ستولمان بأستاذٍ جامعيٍ أريبٍ يُدعَي “أَنْدرُو تانِنبُوم Andrew S. Tanenbaum“، و عن علاقة الأخير بعالم البرمجيات الحرة و قصة نظام التشغيل الذي بناه و المُسمَّي “مِنِكْس minix“.

وهذه المقالة كانت بداية لسلسلة مقالات تجيب على السؤال المطروح في بداية المقال وترصد تاريخ ونشأة البرمجيات مفتوحة المصدر.

المزيد عن:

1 التعليق

Nasreddine 2 مارس، 2013 - 12:23 م

رائع, كنت في حاجة لمقال مماثل.
جزاك الله عنا كل خير

التعليقات مغلقة.