Open Source VS Free Software

محمد أنس طويلةanas@tawileh.net
نشرت هذه المقالة في مجلة T-MAG
ترافق الإنتشار المتزايد للبرمجيات الحرة ومفتوحة المصدر وإتساع قاعدة المؤمنين بهذه الفلسفة مع تزايد غير مسبوق في كمية ونوعية البرمجيات المطورة وفقاً لهذه الفلسفة. هذه التزايد لم يقتصر على البرمجيات وحسب، بل أثر وبنفس الوتيرة على الجوانب الأخرى لفلسفة البرمجيات الحرة ومفتوحة المصدر، لنلحظه جلياً في تنوع إتفاقيات ترخيص الإستخدام لهذه البرمجيات إضافة إلى أساليب التطوير حتى تعدى كل ذلك ليؤثر في إفراز مدارس عدة لهذه الفلسفة تتفاوت فيما بينها في فهمها وتفسيرها لفلسفة البرمجيات الحرة ومفتوحة المصدر.
نشأت فكرة البرمجيات الحرة عندما بدأ ريتشارد ستولمان في العام 1984 العمل على بناء نظام تشغيل أسماه (GNU) وأراد له أن يكون حراً (بمعنى أن يكون لأي شخص مطلق الحرية في الإطلاع على شيفرته المصدرية وتعديلها وإعادة توزيعها دون أي قيود). وقد قام ريتشارد نفسه بتطوير العديد من المكونات البرمجية لهذا النظام (والتي كان أولها محرر النصوص Emacs). ولحماية الفكرة التي آمن بها في حرية البرمجيات، قام ريتشارد بكتابة (إتفاقية الترخيص العمومية GNU General Public License) وذلك لإيجاد قاعدة قانونية تحمي البرمجيات الحرة وتحول دون استغلالها بأساليب ملتوية عبر حرفها عن مسارها الصحيح وتجريدها من صفة الحرية، وهكذا ضمن ريتشارد بأن أي برنامج سيطلق ضمن إتفاقية الترخيص العمومية سيبقى حراً إلى الأبد وسيحمل هذه الحرية إلى أي مستخدم. هذه اللمحة الذكية أدت إلى وقوف حركة البرمجيات الحرة في وجه الكثير من محاولات تعكير صفائها وحرفها عن مسارها، وكان لها عظيم الأثر في دعم هذه الحركة لتصل إلى ما هي عليه اليوم من نجاح فاق أكثر التوقعات تفاؤلاً.
تعتمد فكرة إتفاقية الترخيص العمومية على ما أسماه ريتشارد (حقوق الملكية المعاكسة Copyleft ) والتي تعتمد على استخدام قانون حماية الملكية الفكرية واستخدامه لتحقيق هدف معاكس تماماً للهدف الذي من وضع من أجله. فعوضاً عن استخدام هذا القانون لفرض قيود على التعامل مع البرمجيات وشيفرتها المصدرية فإن هذه الإتفاقية تستخدم القانون ذاته لحماية حرية البرمجيات. الفكرة الأساسية لإتفاقية الترخيص العمومية هي منح أي مستخدم لأي برنامج حر الحق في استخدام هذا البرنامج، نسخه، تعديله وتوزيع هذه النسخ المعدلة دون أن تمنحه الحق في إضافة أية قيود قد يفرضها هذا المستخدم على البرنامج الأساسي أو المعدل.
مع تزايد الإهتمام ببوادر أدوات نظام التشغيل GNU أبدى العديد من المتطوعين إعجابهم بالفكرة ورغبتهم في المساهمة بتطويرها. ولتسهيل التعاون والعمل المشترك بين هؤلاء المتطوعين أسس ريتشارد في العام 1985 مؤسسة البرمجيات الحرة (Free Software Foundation). وفي إطار هذه المؤسسة قام المتطوعون من المبرمجين بتطوير العديد من أدوات نظام التشغيل GNU والتي يعد أبرزها مكتبة لغة البرمجة C Library وقشرة نظام التشغيل Shell.
لإدراك التباين في تفسير فلسفة البرمجيات الحرة ومفتوحة المصدر لا بد من استيعاب الهدف الرئيس الكامن وراء دفع ريتشارد لتطوير نظام التشغيل GNU. مع أن ريتشارد أراد تطوير نظام متوافق مع نظام التشغيل يونيكس UNIX وذلك للإستفادة من كم البرمجيات المطورة أساساً ليونيكس بإتاحة تشغيلها مباشرة ضمن GNU إلا أنه لم يهدف إلى بناء نظام متطور تقنياُ عن يونيكس. وفي هذا السياق يدعي ريتشارد بأن تفوق GNU على يونيكس ينبع من ميزته الإجتماعية والأخلاقية كونه برنامج حر يحترم حرية مستخدميه. ولكن ذلك لم يمنع (بنتيجة خبرات المطورين وتعلمهم من أخطاء يونيكس) أن يتم تجاوز بعض الثغرات التصميمية التي كانت موجودةً سابقاً في يونيكس أثناء تطوير النظام الجديد، ما أدى إلى تفوق بعض البرمجيات التي تم تطويرها لنظام GNU عن نظائرها في يونيكس من حيث السرعة والأداء.
تابعت مؤسسة البرمجيات الحرة عملها إلى أن أصبحت غالبية مكونات نظام التشغيل GNU جاهزة في العام 1990 باستثناء نواة هذا النظام. ومع أن مطوري مؤسسة البرمجيات الحرة بدأوا ببناء نواة لنظام تشغيلهم أسموها (HURD) إلا أن هذه المهمة لم تكن سهلةً البتة، وكان على فريق التطوير تجاوز الكثير من العقبات واحدةً تلو الأخرى.
في هذه الأثناء قام شاب من جامعة هلسنكي إسمه لينوس تورفالدزLinus Torvalds (حوالي العام 1991) ببناء نواة لنظام تشغيل أسميت تيمناً باسمه (لينوكس Linux) معتمداً على بعض الأدوات التي طورتها مؤسسة البرمجيات الحرة. وكان لينوس قد قرر إطلاق هذه النواة ضمن إتفاقية الترخيص العمومية GPL. عندما أطلق لينوس الإصدار الأول من النواة التي قام بتطويرها صرح بأنه يقوم ببناء هذه النواة كمجرد هواية، وبأن نواته لن ترقى بأي حال من الأحوال إلى مستوى أداء نظام التشغيل GNU. أي أن لينوس نفسه ما كان ليدرك أن عمله الذي قام به لملء لأوقات فراغه سيغير وجه صناعة تقنية المعلومات في أصقاع العالم كافة!
سرعان ما استقطبت الإصدارة الأولى من نواة لينوكس إهتمام العشرات من المطورين في جميع أنحاء العالم والذين عملوا على إصلاحها تطويرها بحماس منقطع النظير. وتزايد عدد المتطوعين لتطوير لينوكس بسرعة خيالية ليصل إلى مئات الآلاف خلال بضعة سنوات، وبذلك أصبح لينوكس أكبر مشروع جماعي في تاريخ البشرية.
أدرك ريتشارد ستولمان ما حققته نواة لينوكس من نجاح، وسرعان ما قرر التخلي عن تطوير نواة HURD المتعثر واعتماد لينوكس كنواة لنظام التشغيل GNU في توليفة أسماها GNU/Linux. وهنا بدأ التباين في تفسير فلسفة البرمجيات الحرة. حيث أن ريتشارد يعتبر أن نواة لينكس ما كانت لترى النور لولا الجهود الجبارة التي بذلها مطوروا مؤسسة البرمجيات الحرة في بناء أدوات GNU، وذلك يستوجب الإعتراف بفضل هؤلاء المطورين واحترام قواعد حركة البرمجيات الحرة عبر تسمية نظام التشغيل غنو/لينوكس.
ريتشارد محق في رأيه، ففي المحصلة فإن لينوكس هو نواة لنظام التشغيل، ولكن ولسبب مجهول فقد ارتبط اسم لينوكس مع نظام التشغيل بأكمله، مع أن النواة تشكل جزءاً من هذا النظام وليست النظام بأكمله (حتى وإن كانت أهم جزء من هذا النظام، مع أن هذه النقطة تعتبر مثار جدل). وبالتالي يرى ريتشارد أن تسمية الكل بإسم الجزء فيه الكثير من الغبن لكثير من الجهود المبذولة في تطويره.
في تلك الأثناء لعبت الصحافة دوراً أساسياً في تصوير الموقف كإنقسام في حركة البرمجيات الحرة بين ما أسمتهم (المثاليين Idealists) بقيادة ريتشارد ستولمان ومن أطلقت عليهم لقب (العمليين Pragmatists) بقيادة لينوس تورفالدز. إلا أن هذا التصوير كان بعيداً كل البعد عن الواقع، ولا يعدو كونه محاولة لتبسيط الموضوع عبر تقسيم الطيف المكون من مئات الآلاف من مطوري البرمجيات الحرة حول العالم إلى أبيض وأسود (خصوصاً إذا ما أخذنا بعين الإعتبار الفرق الشاسع في المعاني المرتبطة بكل من هاتين التسميتين في أذهان العامة).
لم يعر لينوس هذا الموضوع أي اهتمام، واعتبره مثاراً لجدل عميق لا طائل من ورائه. وعلى الرغم من إعترافه بأنه لم يعتبر نفسه في يوم من الأيام (مثالياً) وبأنه يأخذ على هؤلاء إنكارهم لدور القطاع التجاري في عالم البرمجيات الحرة (مع أنه وحتى ريتشارد ستولمان نفسه لم ينكر يوماً مشروعية الإستثمار التجاري للبرمجيات الحرة، إلا أن هذا الموضوع يبقى محلاً للكثير من التفسيرات والتحليلات الشخصية)، إلا أنه يؤمن وبشدة بأن البرمجيات الحرة تعتبر أداةً فائقة الفعالية لمنح الإنسانية عالماً أفضل.
إذاً أين البرمجيات مفتوحة المصدر من كل ذلك؟
ينطوي تعريف البرمجيات الحرة على إشكالية تتعلق بطبيعة اللغة الإنكليزية (اللغة الأم لريتشارد ستولمان والمستخدمة في كتابة إتفاقية الترخيص العمومية). في اللغة الإنكليزية لا توجد مفردتان مختلفتان للتعبير عن مفهومية (المجانية) و (الحرية). فكلاهما يعني (Free). هذه الإشكالية تسببت في الكثير من سوء الفهم لمغزى فلسفة البرمجيات الحرة. وساهمت (بالإضافة إلى طبيعة شخصية ريتشارد وأسلوبه في الدفاع العنيف عن الرسالة التي يؤمن بها بشدة) في تصوير حركة البرمجيات الحرة كعدو لصناعة البرمجيات التجارية، مما دعا الكثير من الشركات والمؤسسات إلى التعامل معها بحذر شديد.
في عام 1998 أرادت شركة نتسكيب Netscape إطلاق الشيفرة المصدرية لمتصفح الإنترنت الخاص بها. ولمساعدتها في ذلك طلبت استشارة شخص يدعى إريك ريموند Eric Raymond. أحد رواد حركة البرمجيات الحرة ومؤلف (الكاتدرائية والبازار). بعد اجتماعه مع نتسكيب قرر إريك مع عدد من هواة لينكس (وبموافقة ضمنية من لينوس) تأسيس (مبادرة المصادر المفتوحة Open Source Initiative) لاستخدامها كبديل عن تعبير (البرمجيات الحرة). إستمدت هذه المبادرة مبادئها من إرشادات البرمجيات الحرة لتوزيعة ديبيان Debian وبنيت على تعريف المصادر المفتوحة (Open Source Definition) والذي يحدد ملاءمة شروط ترخيص أي برنامج لشروط البرمجيات مفتوحة المصدر، وفي حال تحقيقه لهذه الشروط فإنه يمنح حق استخدام العلامة التجارية (علامة ترخيص المصادر المفتوحة Open Source Certification Mark).
بما أن مبادرة المصادر المفتوحة مبنية أساساً على تعريف المصادر المفتوحة، فإن أي إتفاقية ترخيص توفي بجميع شروط هذا التعريف تعتبر إتفاقية ترخيص لبرمجيات مفتوحة المصدر. هذه المرونة شكلت متنفساً للكثير من الشركات التجارية والمطورين على حد سواء والذين لم يكونوا مستعدين للإلتزام بجميع شروط إتفاقية الترخيص العمومية GPL في البرمجيات التي يقومون بتطويرها. وهكذا سرعان ما تنامى عدد إتفاقيات الترخيص المشمولة ضمن تعريف المصادر المفتوحة (والتي يصل عددها اليوم 57 إتفاقية بما فيها إتفاقية الترخيص العمومية). مما لا شك فيه أن تعريف المصادر المفتوحة يتيح إطلاق برمجيات مفتوحة المصدر ضمن إتفاقية ذات شروط أقل صرامةً من شروط إتفاقية الترخيص العمومية. وبالتالي فإن البرمجيات الحرة تعتبر مفتوحة المصدر ولكن ليست جميع البرمجيات مفتوحة المصدر بالضرورة برمجيات حرة.
لتوضيح هذه النقطة فيما يتعلق بالتسمية فإن أي برنامج يطلق تحت إتفاقية الترخيص العمومية فهو برنامج حر ومفتوح المصدر، أما البرمجيات التي تطلق ضمن أية إتفاقية من الإتفاقيات المعتمدة ضمن مبادرة المصادر المفتوحة فهي برمجيات مفتوحة المصدر ولكنها ليست برمجيات حرة.
لم ترق هذه الفكرة لريتشارد ستولمان إذ رأى فيها إنتقاصاً من قدر الفكرة الأساسية التي بنيت عليها فلسفة البرمجيات الحرة بأكملها. كما اعتبرها وسيلة تتيح للشركات تحقيق المزيد من الأرباح عبر إدعاء احترامها لحرية المستخدم بينما هي في الواقع تستخدم تعريفاً مشوهاً لهذه الحرية. وكعادته المعهودة في ضراوة دفاعه عن مبادئه فإن ريتشارد يرفض ربط اسمه بالبرمجيات مفتوحة المصدر ويصر على أن (البرمجيات مفتوحة المصدر ليست برمجيات حرة).
إن فكرة الحرية تستدعي بالضرورة احترام حرية الآخرين في العمل والتعبير، لذلك فأنا أرى أنه من الأنسب أن تكون الساحة متاحةً للجميع ليقدم كل ما عنده، ومجتمع البرمجيات الحرة ومفتوحة المصدر يتمتع بمزيج فريد من الأدوات التي تتيح له تمييز الغث من الثمين. إلا أن النقطة الهامة أثناء ممارستنا لهذه الحرية هي الإعتراف بجهود الجميع، ولذلك علينا أن نقر بفضل كل من عمل في تطوير وإبتكار أسرع أنظمة التشغيل في العالم وندعوه (كما يشاء ريتشارد) غنو/لينوكس GNU/Linux وأن نختار التعامل ضمن إطار المظلة الأكبر ونسميها حركة البرمجيات الحرة ومفتوحة المصدر.
أرجو أن تكون مبادرة مجلة T-Mag في إطلاق هذا الملحق فرصةً للتواصل مع المهتمين بحركة البرمجيات الحرة ومفتوحة المصدر عموماً وبنظام التشغيل غنو/لينكس بشكل خاص، وأن تصبح منبراً نتمكن من خلاله التفاعل مع مجتمع البرمجيات الحرة ومفتوحة المصدر في الوطن العربي عبر طرح مشاكلهم وقضاياهم باللغة العربية وبمراعاة الخصوصية العربية لنتمكن معاً من إيصال لغتنا إلى المستوى الذي يليق بها في عالم البرمجيات الحرة ومفتوحة المصدر.
محمد أنس طويلةanas@tawileh.net
للمزيد من المعلومات:
مؤسسة البرمجيات الحرة www.fsf.orgمبادرة المصادر المفتوحة www.opensource.org
موقع ريتشارد ستولمان http://www.fsf.org/blogs/rms/موقع إريك ريموند http://www.catb.org/~esr/نظام التشغيل غنو/لينكس http://www.linux.org/

تعليقات