Wednesday, February 19, 2014

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

في الآونة الأخيرة ازدادت شهرة ما يُعرف بالبرمجيات الحرة 
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 InformationComputing System
 و يتميز بالعديد من القدرات القوية مثل تعدد المهام
 multi-tasking
 و تعدد المستخدمين 
-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“.
هنلك معلومةٌ لا بُد مِن ذِكرها ما دمنا أردنا أن نتحدث عن علاقة الأستاذ الجامعي الأمريكي “أَنْدرُو تانِنْبُوم” بحركة البرمجيات الحرة، فقد طلبه ستولمان أن يستخدم مُترجِم الـ C الذي كتبه تانِنْبُوم (مع
 Ceriel Jacobs
من قبل لنظام التشغيل الخفيف “مِنِكْس
minix
، و لكن تانِنْبُوم أخبره أن المُترجِم ليس حراً (في عام 2003 أصبح حراً تحت ترخيص
 BSD)
. و هكذا لم يجد ستولمان مهرباً من بناء مُترجِمٍ خاصٍ بالـ
C من الصفر، صحيحٌ أنه قبل قراره هذا حاول كتابة نهايةٍ أماميةِ
 front end
 للغة الـ
C
في المُترجِم الخاص بمعمل
Lawrence Livermore
 إلا أنه فوجيء أن عملها يتطلب ذاكرةً أكبر مما كان مُتاحاً في حواسيب ذلك الزمن، لذا فقد نحَّاها جانباً و بدأ بناء الـ
 gcc
 من الصفر كما أسلفنا القول، و فيما بعد صار بالإمكان إستخدام تلك الواجهة الأمامية المهجورة بعدما تطورت إمكانيات الحواسيب عمَّا كانت عليه قبلاً.
Linus Torvalds
الآن تعالوا نقفز في الزمن من بداية الثمانينيات إلي بداية التسعينيات، ففي تلك السنوات دخل إلي المباراة لاعبٌ شديد الأهمية هو الطالب الفنلندي “لينُوس تُرْفالدز
 linus torvalds
، الذي كان حينها قد إنتقل إلي العام الثاني في جامعة هلسنكي، كان لينوس طالباً عادياً جداً في كل شيء و هو من الأقلية السويدية التي تعيش في فنلندا، إلا أنه كان يتميز بميزةٍ شديدة الأهمية هي حب التعلم عن طريق التجربة باليد، فمثلاً حينما كان يريد تعلم صنع محرك رسوميات graphics engine
 قام بعمل لعبةٍ خاصةٍ به (رغم أنه سيءٌ في اللعب !)، و حينما كان يستهويه تعلم جزئيةٍ معينةٍ في العتاد الخاص بحاسوبه كان يكتب برنامجاً يجرب به تلك الخاصية و يتعامل معها باستخدامه. و جانبٌ كبيرٌ من ذلك الإعتياد علي كتابة البرامج التي يحتاجها كان نتيجةً تلقائيةً لعدم وجود برامج تعمل علي ما يمكننا إعتباره أول حاسوبٍ شخصيٍ اشتراه فقد كان من نوع
 Sinclair QL
 الذي لا تتوافر برامجه في فنلندا، لذا فقد كان علي لينوس إما أن يغير العتاد الخاص به و يستخدم عتاداً تتوافر برمجياته في فنلندا، أو أن يقوم بكتابة البرامج التي يحتاجها بيده، و قد اختار الحل الثاني علي عكس المعتاد ليصبح أكثر اعتياداً علي عمل البرامج التي يحتاجها بنفسه. لذلك فحينما أحس لِينُوس بأنه يحتاج نظام تشغيلٍ جديداً يشبه يونكس علي حاسوبه الشخصي، و حينما لم يستطع شراء نسخةٍ من يونكس، و حينما وجد أن نظام المِنِكْس
minix
لا يلبي كافة احتياجاته، و حينما قام (بالخطأ) بإزالة المِنِكْس من حاسوبه: حينها قرر إكمال العمل علي بناء نواة نظام تشغيلٍ يستنسخ يونكس من الصفر!، الأمر بالطبع أكثر تعقيداً من مجرد “حاجته لنظام تشغيل ثم تقريره أنه سيبنيه بنفسه”، فالحق أنه كان قد بدأ العمل علي أساسيات النواة kernel
منذ فترةٍ سابقة، لكن يمكنك دوماً أن تقول هذا و لن تكون مخطئاً بنسبةٍ كبيرة. في نفس التوقيت كانت مؤسسة
 fsf 
قد بَنَت كثيراً من البرمجيات التي تحتاجها، فقد أصبح لديهم مُترجِم
gcc
، و مُحرر
 gnu emacs
 الشهير، و مجموعةٌ أخري من البرمجيات، و بما أنها كانت عدداً كبيراً فقد أدي ذلك إلي أنهم لم يستطيعوا بناء النواة الخاصة بنظام تشغيل
 gnu
 في نفس الوقت، و هي النواة المُسمَّاة
hurd،
 وعلي الرغم من ذلك اعتاد عددٌ كبيرٌ من الناس علي تحميل برمجياتهم تلك (و علي الأخص مُترجِم
 gcc)
 و إستعمالها علي عددٍ من أنظمة التشغيل، و حينما احتاج عددٌ من هؤلاء لنظام تشغيلٍ حرٍ بالكامل قاموا ببساطةٍ بتنصيب نواة اللينُكْس و فوقها أدوات مشروع قِنُو علي حواسيبهم، و هكذا صار لديهم نظام تشغيلٍ متكاملٍ قبل أن ت
عرف مؤسسة
fsf
 شيئاً عن نواة اللينُكْس من الأساس. كان من الممكن ألا يشتهر اللينُكْس و ينضم إلي تطويره كل من انضم إليه لو أن نظام
BSD
 كان حراً بالمثل، ففي تلك الفترة كان نظام التشغيل المُسمَّي
 Berkeley Software Distribution
 أو اختصاراً
 “BSD
 مثل الجمل الأجرب، فقد كانت هناك منازعاتٌ قانوينةٌ عليه جعلت الجميع يفر من المشاركة في تطويره أو الاعتماد عليه بالكامل لأنه لا أحد يدري ماذا ستؤول إليه حكايته، و ماذا سيكون مصيره فيما بعد و هو الأمر الذي يخضع لقرار المحكمة أولاً، ثم لقرار من ستحكم له المحكمة بالأحقية في التحكم في مصير
 BSD
. و هكذا كانت الساحة مهيأةً مئةً في المئة للفنلندي الواثق، الواقع يقول أنه في البداية واجه لِينُوس مصاعباً كبيرة، فمثلاً دخل البروفيسور أَنْدرُو تانِنْبُوم للساحة مرةً أخري ليؤكد أنك لو نظرتَ في كوب الشاي الذي تشربه لرأيته هناك!، و قد كان دخوله هذه المرة عنيفاً كثيراً فقد نشر مقالاً علمياً علي مجموعة الأخبار
 comp.os.minix
تحت عنوان “لِينُكْس عفا عليه الزمن
 Linux is obsolete
“، و الذي قام فيه (بمنتهي الروح الأبوية) بإتهام تصميم اللينُكْس بكل التهم التي استطاع التوصل إليها، فقد قال أن:
  1. - النواة من نوع monolithic و بالتالي فهي من الطراز القديم، بينما يري أن التصميم الأفضل هو النُواة المُصغَّرة microkernel كما في نظام المِنِكْس،
  2. - ضعف المحمولية portability، و هو ما نتج عن استعمال خصائص خاصة بمُعالِج Intel 386 في أكواد نواة اللينُكْس.
  3. - ليس هناك تحكمٌ قويٌ لشخصٍ واحدٍ في الكود المصدري.
  4. - هناك خصائصٌ موجودةٌ في اللينُكْس لا لازمة لها مطلقاً (من وجهة نظر تانِنْبُوم) مثل multithreaded file systems.
و أدي هذا إلي نشوب صراعٍ محتدمٍ شهيرٍ بين لِينُوس و تانِنْبُوم دافع فيه كلٌ منها عن وجهة نظره (و أنا أثق انها كانت حرباً ضروسا لأن لِينُوس لا ينقصه لا الثقة في النفس و لا اللسان الطويل، كما أن تانِنْبُوم أطلق كل ما وجده في يده من رصاصٍ علميٍ علي اللينُكْس!)، لكن الواقع يقول أن اعتراضات تانِنْبُوم سالفة الذِكر إما ثبت عملياً أنها غير قوية أو أنها أكاديميةٌ متحذلقةٌ بعض الشيء، أو تم التغلب عليها بالتدريج بعد نضج نواة اللينُكْس، أو ثبت أنها كانت خاطئةً علي طول الخط.
والواقع أن مشروع اللينُكْس كان مُصادِماً لكثيرٍ من القواعد البرمجية حتي في علم هندسة البرمجيات و كيفية بناء المشاريع البرمجية الضخمة ! بعد فترةٍ من انتشار فكرة البرمجيات الحرة و إنتشار استخدام توليفة
GNU/linux
، و بعد ازدياد أعداد المعتمدين عليها من المستخدمين بما يبشر بإمكانية فتح أسواقٍ جديدةٍ للاستثمار فيها: بدأ بعض أنصار البرمجيات الحرة في التنبه إلي أن كلمة
 free
 في اللغة الإنجليزية تحمل معني “حر” و معني “مجاني”، و هو ما قد يؤدي إلي نفور المستثمرين في مجال البرمجيات من استثمار أموالهم فيما يخص البرمجيات الحرة، لهذا السبب فكروا في استخدام الاسم “البرمجيات مفتوحة المصدر
 open source software
 بدلاً من الاسم القديم “البرمجيات الحرة
 free software
“، مع الإبقاء علي المقومات الأساسية كما هي، أي أن الأمر (كما كان يبدو) لا يعدو مجرد إعادة تسمية. لكن هذا الأمر لم يُعجِب ستولمان بطبيعة الحال، حيث رأي أن مشكلة الاسم يمكن حلها عن طريق كتابة جملة
free as in freedom
لكي تشرح أن كلمة
free
مأخوذةٌ من “الحرية” و ليس “المجانية”، و رأي ستولمان أن حركة المصادر المفتوحة تركز علي الجانب المادي و تُغفِل الجانب الاجتماعي و الأخلاقي لحركة البرمجيات الحرة. و بصراحةٍ شديدةٍ فإنني شخصياً أجد أن هناك بالفعل اختلافاً بين حركتَيْ البرمجيات الحرة و المصادر المفتوحة أكبر من مجرد الاهتمام بالجذب الاستثماري، فنشطاء المصادر المفتوحة يرون أنه بالإمكان أن يكون هناك نوعٌ من التعايش بين البرمجيات الحرة أو “مفتوحة المصدر” و بين البرمجيات المُغلَقة المصدر أو “الاحتكارية” أو “الاستئثارية” (سمِّها كما تشاء)، بينما تصب مباديء و كلمات أنصار البرمجيات الحرة في خانة أن النوع الاستئثاري من البرمجيات هو “نِتاجٌ شيطاني” يجب التخلص منه لصالح البشرية و لكي يسترد البشر آدميتهم (و قد رأينا هذا في حملاتهم ضد نظام تشغيل
 Microsoft windows 7).
إلا أن لِينُوس (الذي أُعجِب بفكرة حركة المصادر المفتوحة) يري أنهم (أي أنصار حركة البرمجيات الحرة) يبالغون كثيراً في هذه النظرة، وقال معبراً عن ذلك في إحدي تدويناته علي مدونته الشخصية (التي هجرها منذ سنوات): أنا مشهورٌ بأنني لستُ عاشقاً لـ
 fsf
و ريتشارد ستولمان، علي الرغم من أن الواضح أنني أحب
 GPLv2
 و أستخدمها كرخصةٍ لكل مشاريعي التي أهتم بشأنها، السبب كان دوماً أنني لا أحب رجال “الفكرة الواحدة”، و لا أظن الأشخاص الذين يُحوِّلون العالم إلي “أبيض و أسود” لطفاء جداً أو شديدو الفائدة، الحقيقة أنه ليس هناك وجهان فقط لكل قضية؛ فتقريباً هناك دائماً تدرج، و غالباً فإن الإجابة الصحيحة الغالب لأي سؤالٍ عميقٍ هي “عَلَي حسب”، و ليس حتي أن تأمل في اتخاذ الطرف الآخر لقراراتٍ خاطئة. لا تفهموني خطأً: أنا أحب أن أري أناساً شغوفين بما يفعلونه، و كثيرٌ من الناس لديهم شيءٌ ما يهتمون بأمره جداً، لكن فقط حينما يتحول هذا إلي منهجٍ إقصائيٍ فإنه غالباً ما يصبح قبيحاً، لا يكون الأمر “حباً لشيءٍ ما بل يصبح كرهاً لشيءٍ ما”، كمثالٍ فإن هذا واحداً من أسباب محاولتي لتلافي التحدث عن مايكروسوفت كثيراً، أنا شغوفٌ باللينُكْس جداً (كما هو واضح) لكن بصراحةٍ شديدةٍ فإنني أجد أن التفكير في اللينُكْس علي أنه “ضد مايكروسوفت” سخيفاً و خطأً في التوجه، نعم ربما أُلقِي طُرفةً أو اثنتين بـ”لسان زالف”، لكن حقاً هل هناك أحدٌ يفكر بجديةٍ أنه من الممكن أن تنفق 17 عاماً من عمرك و تأخذ قراراتٍ صحيحةً بناءاً علي الكره و الخوف ؟!، كان هذا أيضاً (و لا يزال) سبب كرهي للـ
GPLv3
، أظن أن العديد من التغييرات لم تكن نتيجةً لـ”تأييد البرمجيات الحرة”، لكن بشكلٍ أكبر كرد فعلٍ طائشٍ ضد أشياء مثل
TIVO،
 و منهجية “أبيض-أسود” و “خير-شر”.
دعونا نتفق علي شيءٍ شديد الأهمية: لو لم يستطع محبو البرمجيات الحرة إختراق عالم المال و التجارة عن طريق البرمجيات الحرة فما كانوا ليستطيعوا الصمود طويلاً في وجه منافسيهم؛ فالعالم التجاري معناه تدفق الأموال التي ستدعم المشاريع الحرة، و بالتالي يستطيع المُشارِكون فيها ان يتفرغوا تماماً لعملية التطوير، و كذلك تعني القدرة علي عمل الدعاية الكافية لجمع المزيد من أهل الخبرة للاشتراك في بناء برمجياتهم الحرة و تطويرها (سواءاً كهوايةٍ أو كعملٍ ينالون عليه أجراً). هنا نتساءل: هل تنبه ستولمان لهذه النقطة حينما بدأ الدعوة لحركته الجديدة ؟ صورة ستولمان - والجواب أن ستولمان كان محتاطاً لهذا الأمر بالفعل، و تنبه لهذه النقطة و تحدث عنها و عن كيفية الإستفادة من البرمجيات الحرة في المجال التجاري، حيث أنه في خاتمة “بيان قِنُو
 GNU manifesto”
 كان هناك فصلٌ يتحدث عن هذه المسألة بالتحديد، و قد استرعي هذا الأمر انتباه البعض من محبي البرمجيات الحرة و دفعهم إلي أن يُمحِّصوا الأمر جيداً، ثم تركَّز فكرهم علي أمرٍ معينٍ يمكن به الاستفادة من التمدد المتسع لها (و علي رأسها توليفة “قنو/لينوكس”)، لذا قام
 John Gilmore وMichael Tiemann وDavid Henkel-Wallace
 في عام 1989م ببناء شركةٍ تقوم بأعمال الصيانة و الاستشارة فيما يخص البرمجيات الحرة، لخدمة الشركات التي ترغب في الحصول علي مثل تلك الخدمات (و كان اسم شركتهم الجديدة 
“Cygnus
“، و يحتوي علي كلمة 
gnu
 داخله لأنهم حرصوا علي هذا عند اختيار الاسم)، فحيث أن البرمجيات الحرة ليس لها مالكٌ بالمعني المُتعارف عليه في العالم التجاري، و حيث أنه في الشركات التي تستخدم البرمجيات الحرة سيكون تخصيص قسمٍ للصيانة و المُتابعة لكل البرمجيات غير ممكنٍ عملياً.

فقد أدي هذا إلي سهولة وجود منافسةٍ في خدمات الصيانة و الاستشارة، علي العكس من عالم البرمجيات المغلقة المصدر؛ حيث أنه في الحالة الأخيرة لا يمكن الحصول علي دعمٍ فنيٍ قويٍ إلا من الشركة المالكة، و من السخرية أن الشركات المالكة للبرمجيات الشهيرة قد تكون خدمة العملاء و الصيانة بها سيئةً للغاية؛ نظراً لعدم قدرتها علي تلبية احتياجات القاعدة الواسعة جداً من مستخدمي برمجياتها!. المهم أنه بوجود شركة 
Cygnus
 علي الساحة أصبح من الممكن لكثيرٍ من الشركات أن تعتمد علي البرمجيات الحرة في عملها، مطمئنةً إلي وجود من يمكنه تقديم الدعم الفني لها إذا رغبت في ذلك.
وكانت هذه خطوةً هامةً للغاية في تاريخ البرمجيات الحرة  وكانت الدفعة العملاقة الأخري لتوليفة القِنُو/لِينُوكس هي ظهور شبكة الإنترنت للعامة و انتشارها الواسع، و ظهور برنامج “خادم إنترنت أباتشي 
apache web server”
 لنظام يونكس و شبيهاته (أعني الأنظمة التي تُوصف بأنها 
UNIX-like 
و من ضمنها القِنُو/لِينُكْس)؛ فنظراً لتفوق خادم الأباتشي علي منافسيه و احتلاله لعرش فئته من البرمجيات: فقد أصبح استخدام توليفة “
أباتشي/قِنُو/لِينُكْس” هو الخيار المفضل لمن يرغب في بناء شركة استضافةٍ علي الإنترنت بدلاً من توليفة
”IIS/windows“
؛ و ذلك بسبب فرق القوة و الاستقرار و الأمن بين التوليفتين، بالإضافة إلي فارق السعر بطبيعة الحال.
وظهرت توليفةٌ جديدةٌ من البرمجيات تُسمَّي
 LAMP
، و هي حزمةٌ لتطوير التطبيقات للشبكة تحتوي علي: – توليفة برمجيات قِنُو/ لِينُكْس، – خادم أباتشي، – قاعدة البيانات
 MySQL
، – لغات البرمجة PHP
 و
 perl 
و
 python
، وهكذا وجدنا أن اللينُكْس ينتشر في سوق خوادم الإنترنت مثل إنتشار النار في الهشيم. بالإضافة إلي ذلك فقد كانت هناك دفعةٌ عملاقةٌ أخري، حيث ظهرت إمكانية الاستغلال التجاري لعملية “صنع توزيعةٍ جيدة البناء سهلة التنصيب” لبرمجيات قِنُو و نواة اللينُكْس، بحيث يصبح من السهل علي من يرغب في تنصيبها أن يفعل ذلك، و يمكن الاستفادة مادياً عن طريق الخدمات السابقة و اللاحقة للتنصيب.

وبالفعل قام كلٌ من
 Bob Young
 و 
Marc Ewing
 ببناء شركة رِدْهات
 redhat
 في عام 1993م لتصبح من أوائل الشركات التي تستثمر في مجال تقديم توزيعاتٍ متكاملةٍ متناغمةٍ من البرمجيات الحرة. (معني كلمة “توزيعة”: أي نظام تشغيلٍ يتكون من نواة اللينُكْس + أدوات مشروع قِنُو + واجهة مرئية للمستخدم (النوافذ و الأزرار و ما يشبههن) + بعض الأدوات و البرمجيات الخاصة بالتوزيعة لتنصيبها و التحكم في إعداداتها. أي أنها تجميعةٌ من البرمجيات الحرة التي تُكون مع بعضها البعض نظام تشغيلٍ متكامل). و في 15 نوفمبر من عام 1999 قامت رِدْهات بالاستحواذ علي شركة
 Cygnus
 سالفة الذِكر، و أصبح
 Michael Tiemann
 يشغل منصب
 chief technical officer
 في شركة Red Hat، و في عام 2008 أصبح يشغل منصب “نائب الرئيس لشؤون المصادر المفتوحة the vice president of open source affairs“.

كل تلك الخطوات الضخمة علي الطريق التجاري لتوليفة الـ
GNU/linux 
كانت رداً عملياً قاسياً علي انتقادات “بِلْ قِيتس
 bill gates”
 لمن يُهاجِم النموذج التجاري للبرمجيات الذي يمكن رؤيته في شركة مايكروسوفت علي سبيل المثال؛ ففي 31 يناير من عام 1976 وجَّه بِلْ خطاباً مفتوحاً إلى 
homebrew computer club 
(و هو تجمع لمحبي الحواسيب في وادي السيليكون بالولايات المتحدة، و قد أُنشِيء في منتصف سبعينيات القرن الماضي)، و تحدث بِلْ في ذلك الخطاب عن أفضلية البرمجيات المغلقة علي الحرة، و استنكر إمكانية وجود فريقٍ من المبرمجين يعمل لعدة سنواتٍ علي مشروعٍ برمجيٍ، ثم يقوم يتوثيقه بعناية، ثم يقوم بطرحه للاستخدام العام مجاناً
و بذلك قدم النتيجة النهائية التي أراد الوصول لها، و هي أن البرمجيات الحرة “ضارةٌ بالمجتمع البرمجي”، و ان البرمجيات المغلقة هي الأمل في وجود برمجياتٍ متميزةٍ تلبي حاجة المستخدمين الذين يحتاجون إلي برمجياتٍ قويةٍ وذات كفاءة، و كما قلتُ فقد كانت الخطوات التجارية هامةً جداً للتدليل العملي علي أن البرمجيات الحرة و المجال التجاري ليسا نقيضين لا يجتمعان، بل من الممكن الجمع بينهما بشكلٍ يكفل الحصول علي الفوائد العلمية و الاجتماعية المرجوة من وراء البرمجيات الحرة، و في نفس الوقت الحصول علي فوائدٍ اقتصاديةٍ تكفل لمجتمع البرمجيات الحرة التوسع و التمدد و الازدياد قوةً و طموحاً.
وحينما ظهرت توزيعة
 ubuntu
 كان ذلك أمراً في غاية الأهمية، و حينما ظهرت توزيعة
 android
 (المُعدَّلة بشدةٍ لتعمل علي الأجهزة الذكية و أهمها الهواتف الذكية و الحواسيب اللوحية) كان ذلك أيضاً خطوةً فارقة،

المصدر موقع صدى التقنية

0 comments:

Post a Comment