شهدت العقود الثلاثة الأخيرة صراعاً داخل المجتمع التقني حول «الوضع الاجتماعي للبرمجيات». فقد شهد عقد الثمانينيات من القرن الميلادي الماضي نقلة كمية ونوعية للبرمجيات مع بدء الانتشار الواسع لأجهزة الحاسوب الشخصية، ما سمح لفئات واسعة من المجتمع بالإسهام في تطوير البرمجيات دون الحاجة لدعم الجهات الأكاديمية والتجارية. وأسهم هذا الانتشار في إتاحة الفرصة أمام طرح أسئلة محورية عن ماهية البرمجيات، ودورها في صياغة الفكر وتوجيه الحريّات، وكيفية التربّح منها وحقوق احتكارها. ومع ظهور شركات البرمجيات ككيانات اقتصادية كبرى، واعتماد الناس المتزايد عليها في شؤون حياتهم، باتت مسألة الحرية في تداول وتطوير هذه البرمجيات بمنزلة ورقة الضغط السياسية. وتشكل رأيان أسهم كل منها في رسم تصوراتنا لما يجب عليه أن يكون دور البرمجيات في المجتمع.
بحسب مشروع «غُنو» الذي سنتطرَّق إليه خلال الأسطر التالية، فإن «البرمجيات الحرة» هي تلك التي يملك المستخدمون الحرية في تشغيلها ونسخها وتوزيعها ودراستها وتعديلها وتحسينها. ومع هذه الحريات، يتحكم المستخدمون، من أفراد أو مجموعات، بأثر المنتج البرمجي عليهم، عوضاً عن أن يتحكم المنتج البرمجي – والجهة التي أنتجته – بحياة المستخدمين.
ولعل البعض سمع بالمشروع «غنو» من خلال استخدامه – وإسهامه – في تحرير مواد موقع «ويكيبيديا» التي تُعد بدورها أحد أشهر موارد المعلومة مفتوحة المصدر. وحتى هذا المصطلح (المصدر المفتوح – Open Source) كان أحد محاور الصراع الذي ثار منذ الثمانينيات من القرن الماضي حول أحقيتنا كمستخدمين في تعديل ونسخ وتداول البرمجيات التي يكتبها سوانا. هذا الصراع التاريخي تمخض عن رأيين ومدرستين. وهو صراع أثّر على أجيال من المستخدمين وأنتج مدارس فكرية واستهلاكية متباينة. وكي نؤكد أننا لا نسرد مادة تاريخية هنا، نشير إلى أن صراع البرمجيات المفتوحة يلاحقنا إلى اليوم، حيث حل اسم «التطبيق – App» محل البرنامج، وحل الجهاز الذكي محل الحاسوب الشخصي، وها نحن نجد أنفسنا اليوم منقسمين بين معسكريّ «آبل» و«غوغل» على سبيل المثال.
المجموعتان المتصارعتان
أولى المجموعتين المتصارعتين – على صياغة تعريف ماهية البرمجيات وماهية دورها الاجتماعي – هي شركات البرمجة العملاقة التي توسعت في ثمانينيات القرن الماضي، مثل «مايكروسوفت» و«بيل سيستمز».
الاهتمام الرئيس لهذه المجموعة هو الكسب المادي. وبالتالي، تنظر هذه المجموعة للبرمجيات على أنها مُنتج تتملكه، وللمستخدم على أنه زبون يدفع مبلغاً مادياً لقاء «رخصة» تتيح له حصرياً، أو بالشراكة مع آخرين في مجموعة محدَّدة، حق استخدام هذا المنتج الذي تمتلكه. وقد ترتب على تصور هذه المجموعة أن مطوِّري هذه البرمجيات ليسوا إلا موظفين مدفوعي الأجر، لا يملكون حقوقاً في المنتج النهائي الذي طوروه. وبما أن هذه المجموعة ترى أن البرمجيات يجب أن تعامل كسلع، فهي – بطبيعة الحال – تُعير اهتماماً بالغاً لحقوق الملكية الفكرية لبرمجياتها.
ترى المجموعة الأولى أن مطوِّري هذه البرمجيات ليسوا إلا موظفين مدفوعي الأجر، لا يملكون حقوقاً في المنتج النهائي الذي طوروه.
كان لهذه المجموعة السبق في تطوير عديد من البرمجيات التي انتشرت بشكل كبير حتى أصبحت نماذج معياريّةً، قِيس على مثالها عديداً من الأنظمة الحاسوبية التي لحقتها. ولعل أهم هذه الأنظمة المعيارية على الإطلاق هو نظام التشغيل يونيكس (UNIX) الذي نشرت شركة بيل سيستمز أول نسخه في عام 1973م، والذي انتشر بشكل كبير في أواخر السبعينيات، خصوصاً بين كليات علوم الحاسوب بأمريكا. تلى ذلك ببضع سنين نظاما تشغيل إم إس- دوس (MS-DOS) في عام 1981م وويندوز في عام 1985م، اللذان استحوذا على غالبية سوق الأجهزة الحاسوبية الشخصية حينها.
كانت لمحاولات الشركات تقنين كيفية استخدام ونشر برمجياتها عبر قوانين الملكية الفكرية ولوائح تنظيم الاستخدام آثار عكسية على بعض مستخدمي هذه البرمجيات، خصوصاً في المحيط الأكاديمي في أمريكا، الذي يتبنى معايير الحرية المطلقة في الإبداع، والذي أدرك أن البرمجيات تمثل موجة حضارية ستتنقل بالبشرية إلى مرحلة تالية على نحو ما فعلت آلة البخار. هذا الأثر العكسي الرافض لسطوة شركات البرمجة أدى إلى نشأة المجموعة المجتمعية الثانية، التي كونت تصورها الخاص لدور البرمجيات في المجتمع.
أحد أهم هؤلاء الأفراد الساخطين على سلوك الشركات هو ريتشارد ستولمان الذي كان يعمل في بداية الثمانينيات في مختبر الذكاء الصناعي في معهد ماساتشوسيتس للتقنية، ولكنه قرر ترك عمله في المعهد عام 1984م ليتفرغ بشكل كامل لمشروع البرمجيات الحرة غُنُو (GNU)، ولتأسيس مؤسسة البرمجيات الحرة (Free Software Foundation) الذي تم عام 1985م. كان ستولمان يرى أن البرمجيات في الأساس هي ملكية جماعية، الجميع له الحق في الاستفادة منها، وتطويرها ونشرها، وهذا ما أراد تحقيقه من خلال غُنو ومؤسسة البرمجيات الحرة.
كانت الفكرة خلف مشروع غُنو إنشاء نظام تشغيل متوافق في المعايير مع نظام تشغيل يونيكس، ولكن على أن يكون مفتوح المصدر متاحاً للعموم. بهذا يكون غُنو مملوكاً من قبل المجتمع بأسره، ويتم تطويره وصيانته من قِبَل المستخدمين أنفسهم. وبعد نجاح مؤسسة البرمجيات الحرة في إتمام مشروع غُنُو، أصبحت المؤسسة مرجعية أساسية للمجموعة الاجتماعية الثانية، التي كما قلنا سابقاً، ترى في البرمجيات وقفاً عاماً للمجتمع يعمل أفراده على تطويره وتحسينه وصيانته.
التصوران المتنازعان
يُطلق على التصور الذي شكلته الشركات البرمجية للبرمجيات عادةً اسم تصور البرمجيات الاحتكارية (Proprietary Software). بينما يُسمى تصور المجموعات كمؤسسة البرمجيات الحرة تصور البرمجيات الحرة (Free Software).
لقد تمكنت مؤسسة البرمجيات الحرة من صياغة تعريف لتصورها للبرمجيات الحرة في أربع نقاط، سمَّتها الحريّات أو الحقوق الأربعة، وهي بدءاً من الحق رقم صفر:
0) الحق بتشغيل البرنامج لأية غاية تخص المستخدم
1) الحق بفهم كيفية عمل البرنامج داخلياً (يتطلب حق الوصول إلى الكود أو النص الأساسي للبرنامج)
2) الحق بإعادة نشر البرنامج
3) الحق بتعديل البرنامج
والأمثلة على البرمجيات التي طُورت تحت هذا النموذج عديدة ومتنوعة. فمثلاً، نظام تشغيل غُنو تطَوَّر وشَكَّل حاضنة لنظام تشغيل لينوكس (Linux). وتنطبق الحريات الأربع على نظام تشغيل لينوكس بشكل كامل. فمثلاً، لا توجد أية قيود قانونية للمجالات التي يحق لمستخدم لينوكس أن يستعمله من أجلها، سواءً أكانت مجالات ربحية أو تجارية أو تعليمية أو شخصية. ويحق أيضاً لأي شخص الاطلاع على الكود الأساسي للينوكس – مجاناً عبر الإنترنت – الذي يُمثل المخطوطات لبناء نظام التشغيل. ويمكن لأي شخص أيضاً أن يقوم بنسخ برنامج لينوكس ويعيد نشره دون الرجوع إلى مطوري البرنامج الأصليين. وأخيراً، يحق لأي شخص بأن يقوم بأية تعديلات على البرنامج – ويعيد نشر هذه التعديلات ربما – دون الحاجة للعودة لمطوري لينوكس. وبسبب هذه الحريات الأربع، توجد اليوم مئات التنويعات على نظام التشغيل لينوكس، كلٌّ بخواصه المميزة، ولكنها كلها ملتزمة بالحريات الأربع المذكورة.
لماذا علينا كمجتمع أن ندعم البرمجيات الحرة؟ يسوق المؤيدون للبرمجيات المفتوحة عدة مبررات لدعم وجهة نظرهم
ولم تكتفِ مؤسسة البرمجيات الحرة بالدعوة إلى تبنّي تصورها عن البرمجيات فحسب، بل قامت أيضاً بجهد قانوني جبار لصياغة مستندات قانونية تحافظ على دائرة تطوير البرمجيات الحرة. أحد هذه المستندات هو رخصة (GPL). التي تضع بين يدي المطوِّر القدرة على تقنين الحريات الأربع فيما يتعلَّق ببرنامج محدَّد، حيث تسمح للمستخدم استعمال البرنامج، والولوج لكوده المصدري، وتعديله، ونشره ولكن شرط أن يُنشر دون أي قيد قانوني إضافي يقيد الحريات الأربع، وأن يُعزى فضل تطوير البرنامج الأصلي لمن طورّه ابتداءً. بهذا يضمن المطورون أن الفضل سينسب إليهم أدبياً، وأن الشركات التجارية ستُحرم من استخدام برمجياتهم في منتجات لا تحترم الحريات الأربع.
وفي المقابل، تسعى شركات البرمجة التي تعتمد التوجه الاحتكاري إلى ترسيخ مبدأ أن البرامج التي يطورها موظفوها هي ملك للشركات أولاً وآخراً. ومن ثم تقوم الشركة ببيع رخصة لاستخدام منتجاتها تحت شروط وأحكام معيَّنة. وبسبب هذا، تؤكد شركات البرمجة بحَماسة على الالتزام بحقوق الملكية الفكرية. فحين يقوم أحدنا مثلاً بشراء منتج مثل Microsoft Office، فإنه من منظور قانوني لم يشترِ حقوق Microsoft Office كسلعة يحق له أن يفعل بها ما يحق له قانونياً أن يَفعل بقطعة ملابس اشتراها من السوق؛ بل ما تم شراؤه هنا هو رخصة لاستخدام Microsoft Office تحت شروط وأحكام معينة، تقيِّد طبيعة استخدامك للمنتج، وتقيِّد الغايات التي يحق لك أن تستخدم المنتج من أجلها، بل وربما في إطار فترة زمنية محدَّدة تبطل بعدها صلاحية رخصتك لاستخدام المنتج.
الجانب الآخر للقيود التي تفرضها شركات البرمجة حول برمجياتها غير تلك التي تفرضها على المستخدمين، هو التقييد على المطوِّرين الآخرين. فالبرمجيات الاحتكارية لا تسمح لأحد بأن يستنسخ تصميمها لبناء منتجات أخرى، ولا لتعديل المنتج بذاته. وبالتالي، تبني هذه الشركات سوراً حول تكنولوجيتها وتحاسب قانونياً من يتجاوزه.
هل علينا نحن أن ندعم البرمجيات الحرة؟
للإجابة عن هذا السؤال، لا بد لنا أن نسأل عن المقصود بـ«نحن». إنها عائدة على المجتمع ككل، وهكذا يصير السؤال الضمني: لماذا علينا كمجتمع أن ندعم البرمجيات الحرة؟ يسوق المؤيدون للبرمجيات المفتوحة عدة مبررات لدعم وجهة نظرهم:
أولاً: الإبداع والتعليم
فالبرمجيات الحرة تسمح لأفراد المجتمع بأن يأخذوا ما تم ابتكاره سابقاً من منتجات، وإنتاج اختراعات جديدة مبنية على ما سبق من اختراعات. لا أحد يبتكر من العدم. كل ابتكار هو إضافة أو إعادة إنتاج لما سبق، وكلما كَبُر حجم المساحة المتاحة لأفراد المجتمع لكي يستلهموا منها ابتكارهم التالي، ازداد تنوع وفرادة ما ينتجون.
وللبرمجيات الحرة أيضاً دورٌ مهم جداً في التعليم. فالبرمجيات الحرة تتيح مثالاً حياً لمشاريع كبيرة يقوم الناس باستخدامها وتطويرها. فمثلاً، قبل نظام تشغيل لينوكس، لم يكن لدى طلاب علوم الحاسوب الفرصة لرؤية التطبيق العملي لما يتعلمونه في موادهم الجامعية في منتج كامل متكامل. إن أي طالب جامعي في علوم الحاسوب يُدرك جيداً أن ما يتعلَّمه نظرياً في الكتب لا يُمكن ترجمته مباشرة لتطبيقات دون مجهود إضافي كبير، والمشاريع القائمة على البرمجيات الحرة تُمثل اللقاء الأول بين طالب علوم الحاسوب وبين مداخيل برنامج حاسوبي.
ثانياً: الأمان والخصوصية
إن عدم إتاحة الكود المصدري لأي برنامج كان، يعني أننا كمجتمع مضطرون لاستخدام هذا البرنامج كصندوق أسود، لا نعرف أي شيء عن كيفية عمله الداخلية وآليته. وبما أن استخدامنا لهذا البرنامج يعني أن من شبه المؤكد أن معلومات خصوصية ستمر عبر هذا البرنامج، فلا بد لنا أن نسأل أنفسنا: كيف نضمن أن البرنامج الذي نستخدمه آمن طالما أننا لا نعرف شيئاً عن آلية عمله الداخلية؟ إن أي برنامج مغلق المصدر (Closed Source) عرضة للاختراق الأمني من جهتين: المخرّبون والمتلصصون على الشبكة، والشركة نفسها التي طورت البرنامج. وبالتالي، يتوجب على أية جهة أو مؤسسة مجتمعية أن تسأل نفسها إن كانت تثق بالشركة المطورة للبرمجيات التي تستخدمها، أو إن كان المحتوى الذي تُستخدم هذه البرمجيات لأجله على مستوى من الأهمية يتوجب معه أن نعرف جميع حيثيات وآليات عمل البرمجيات التي يمر المحتوى من خلالها.
ترى المجموعة الثانية في البرمجيات وقفاً عاماً للمجتمع يعمل أفراده على تطويره وتحسينه وصيانته
لهذه الأسباب، نجد اليوم أن أهم معايير الأمن والتشفير تعتمد على برمجيات وتقنيات مفتوحة المصدر. نجد أمثلة على ذلك نظام (OpenSSH) الذي يسمح بالاتصال بأجهزة الحاسوب عن بُعد بطريقة آمنة، والذي يشكِّل حوالي %80 من استخدام بروتوكول التشفير الأمني الشهير (SSH) على الإنترنت.
ثالثاً: الاقتصاد
السؤال هو ببساطة: ما الحاجة لبذل جهدنا في إعادة اختراع ما تم اختراعه؟ بدلاً من ذلك يمكننا أن نبذل جهدنا في تحسين ما تم اختراعه، أو في ابتكار شيء جديد. وفوق ذلك تسمح البرمجيات الحرة بتجميع الجهود التي قد تكون تعمل على مشاريع متفرقة، ولكن لهدف واحد في مشروع واحد يشملها جميعاً. لهذا، لا نجد غالباً في البرمجيات الحرة تكراراً غير مثمر للجهود. فمثلاً، في مجال تحرير المستندات، تتركز معظم جهود مجتمع المطوِّرين على مشروع (LibreOffice) الذي يشكِّل بديلاً جيداً للبرنامج المحتكر من قبل مايكروسوفت (Office).
نتائج الصراع
بعد مضي نحو 30 عاماً على تكوُّن هذين التصورين حول البرمجيات الحرة، لا نزال نرى أن الصراع لم يحسم تماماً لأحدهما دون الآخر. في بعض المجالات، نجد كلاً من البرمجيات الاحتكارية والبرمجيات الحرة يمتلك حصة وقاعدة من المستخدمين. فمثلاً، في أنظمة تشغيل الأجهزة المحمولة والذكية، يسود نظاما iOS وAndroid. الأول طورته شركة Apple والثاني طورته شركة Google وهو مبني بشكل كبير على نظام تشغيل لينوكس. وبالتالي فإن Android يخضع للحريات الأربع التي حددتها مؤسسة البرمجيات الحرة. على الجانب الآخر، فإن نظام iOS المملوك من شركة آبل (Apple) يصنف ضمن البرمجيات الاحتكارية. ونجد في هذا المثال أن الصراع، سواء على الحصة السوقية أو على قناعات الأفراد في المجتمع، بين البرمجيات الحرة وتلك الاحتكارية لا يزال بعيداً عن الحسم النهائي.
تسعى الشركات البرمجية التي تعتمد التوجه الاحتكاري إلى ترسيخ مبدأ أن البرامج التي يطورها موظفوها هي ملك للشركات أولاً وآخراً…
ولكن في مجالات أخرى، نجد أن المعركة تكاد تكون محسومة للبرمجيات الحرة. إذ نجد أن لينوكس يستحوذ على سوق أنظمة تشغيل الحاسبات الخادمة التي هي القلب المشغل للإنترنت. إضافة إلى أن معظم خوارزميات تأمين الاتصال على الشبكات التي تضمن الحماية والخصوصية للمستخدم، هي في معظمها برمجيات مفتوحة المصدر. كما تحظى منتجات من قبيل متصفح الإنترنت Firefox ومنصات Wiki بشعبية وموثوقية عالية تكاد ترجِّح كفة البرمجيات المفتوحة، لولا أن حوادث كارثية تقع من آنٍ لآخر لأسباب هي في صميم آلية تطوير برمجيات المصادر المفتوحة، نذكر منها الاختراق الأمني الشهير الذي وقع في أبريل 2014م وعُرف باسم (Heartbleed)، ومن شأن الاسترسال في استحضار هذه الميّزات ونقائضها أن يؤكد أمراً واحداً؛ أن الصراع بين التيارين لا يزال مفتوحاً كما كان منذ ثلاثة عقود.