# البرمجيات الحرة/مبادئ البرمجيات الحرة

بعد أن ضاق ذرعاً بتصرفات الاحتكارية التي بدأت تظهر في الساحة التقنية، أعلن ريتشارد ستولمن عن مشروعه الثوري في تلك الفترة "مشروع جنو" بعد عيد الشكر لعام 1983م، كان الهدف الرئيسي لمشروع جنو هو تطوير برمجيات حرة كافية ليستخدم المرء الحاسوب بدون الحاجة لأى برمجيات غير حرة.
بدأ التطوير في المشروع على قسمين، الأول بنية التحتية للنظام الجديد من أدوات ومترجمات ومحررات برمجية، والقسم الثاني هو بناء نواة جديدة، بدأ ستولمن ورفاقه الذين انضموا إليه لاحقاً بالقسم الأول وترك القسم الثاني للنظر فيه بعد الانتهاء من القسم الأول.
إن من ينظر إلى إعلان ستولمن سيلاحظ بلا شك استخدام مصطلحات جديدة على الساحة التقنية، إنه مصطلح البرمجيات الحرة، فما الذي كان يقصده ستولمن بهذا المصطلح؟؟
إن المحيط الذي نشأ فيه ستولمن من حرية المشاركة وحرية النسخ وحرية التعبير في الستينيات والسبعينات كان له أثر كبير في إعطاء مصطلح البرمجيات الحرة بعده الخاص والمفضل لديه. لقد ضاق ستولمن ذرعاً عندما لم يستطع الوصول إلى مصدر تعريف الطابعة الجديدة ليضيف ميزته المفضلة، وزاد ذلك أيضاً عندما بدأت المؤسسة التي يعمل لها بإرغامهم لتوقيع على اتفاقيات عدم الافصاح عن مصدر النظام الذي يستخدمونه. بل عندما قيدت حريته بعدم السماح له بنسخ برامجه المفضلة لأصدقائه وجيرانه. كل هذه المعطيات أثرت على ستولمن ليضع نصب عينيه ضمان حرية المستخدم أولاً ومن ثم حرية المطور ثانياً.
فيقصد بحرية البرمجيات هو حرية مستخدمي البرامج في تشغيل ونسخ وتوزيع ودراسة وتعديل البرمجيات. مصطلح حرية البرمجيات يشير بالتحديد إلى أربع حريات للمستخدم:
* الحرية 1: حرية استعمال البرنامج لأي غرض.
* الحرية 2: حرية دراسة وتعديل الشفرة المصدرية للبرنامج.
* الحرية 3: حرية توزيع نسخ من البرنامج الأصلي لتتمكن من مساعدة جارك أو صديقك.
* الحرية 4: حرية توزيع نسخك المعدلة من البرنامج و مشاركة المجتمع بتعديلاتك.
الحرية الأولى: حرية استعمال البرنامج لأي غرض . على الرغم من أن هذه الحرية بديهية، فإن ستولمن وجد لاحقاً أن بعض الحكومات والشركات تمنع المستخدم من تشغيل البرنامج في أغراض معينة، وهذا يتعارض مباشرة مبدأ الحرية الذي يناضل من أجله ستولمن.
الحرية الثانية: حرية دراسة وتعديل الشفرة المصدرية للبرنامج. فمع البرمجيات الحرة لا يوجد شيئا يستطيع المبرمج أو الشركة المطورة أن تخفيه عنك، فالجميع يستطيع أن يصلوا إلى الشفرة المصدرية للبرنامج، والمستخدم يستطيع أن يطوع البرنامج بإضافة مميزات جديدة يرغب بها ( لا تنسوا قصة ستولمن مع تعريف الطابعة الجديدة في عمله).
من جانب آخر يقول بعض منتقدي البرمجيات الحرة أن هذه الحرية تسبب خرقا أمنية، حيث يستطيع المخربون أن يصلوا للشفرة المصدرية واكتشاف ثغراتها واستغلالها بشكل سيء، قد يبدو هذا منطقيا وصحيحا لو أننا لم ننظر إلى الوجه الآخر والمشرق من هذه الحرية، فكما أن المخربين يصلون للشفرة فكذلك المصلحون والمطورون ومديرو الأنظمة الحساسة، ولحسن الحظ فإن نسبة المخربين تبقى دائما أصغر بكثير من المصلحين، وهذا ينتج عنه مبدأ جديد في البرمجيات الحرة فكما أن الثغرات الأمنية تكتشف سريعا فإنها تصلح سريعا من دون الحاجة إلى موافقة الشركة الأم كما يحدث الآن في البرمجيات المحتكرة.
فعادة لا تصمد الثغرات الأمنية إلا ساعات معدودة لتجد أن الترقيعات الأمنية قد صدرت بشكل احترافي مثير للإعجاب، إنه عالم البرمجيات الحرة!
الحرية الثالثة: حرية توزيع نسخ من البرنامج الأصلي لتتمكن من مساعدة جارك أو صديقك. هذه حرية أصيلة في البرمجيات الحرة حيث تضمن للمستخدم النهائي حرية نسخ وإعادة توزيع البرنامج لأسرته و جيرانه وأصدقائه من دون قيد. لقد ذهبت البرمجيات الاحتكارية والشركات إلى حد مثير من الاشمئزار في تقييد حرية المستخدم بالرغم من أنه يملك نسخة مرخصة من برمجياتهم، فكثير من الشركات تفرض قيودا صارمة لنسخ برامجها بحيث لا تستطيع أن تمتلك نسخة احتياطة منه، أو لا تستطيع أن تثبت البرنامج لأكثر من جهاز، أو لا تستطيع أن تثبت البرنامج لولدك أو زوجك أو أسرتك، وقيد يلجأ المستخدم لاستخدام نسخة مقرصنة من أجل لا شيء إلا هربا من تعقيدات تفعيل الرخصة التي اشتراها!
والحرية الأخيرة: حرية توزيع نسخك المعدلة من البرنامج و مشاركة المجتمع بتعديلاتك، فبعد أن عدلت البرنامج الحر لاحتياجاتك الخاصة وقمت بتخصيصه لمتطلباتك، فهذه الحرية تضمن لك القدرة على نشر تعديلاتك وتوزيعها من دون أخذ الإذن من المطور الأول، بل تسمح لك هذه الحرية ببيع البرنامج وإنشاء شركة خاصة بك لتطويره.
تتفاوت البرمجيات الحرة في التقيد بهذه الحرية ما بين متشدد في النص عليها، وما بين متساهل فيها ويرجع القرار بتطبيقها للمطور النهائي. فمن المتشددين فيها ستولمن حيث ينص على وجوب وفرض الحرية الرابعة على كل من يقوم بتعديل البرنامج الحرة وتطويره بحيث يقوم بنشر الشفرة المصدرية المعدلة للجميع في رخصته التي سنتكلم عنها بعد قليل.
أما من تساهل فيها فلا يلزم المطور النهائي بنشر الشفرة المصدرية المعدلة للجميع، بل يتساهل بإعطاه الحق في غلق البرنامج الحرة و تحويله إلى منتج مملوك احتكاري، وهذا الصنف من المطورين هم من يعملون على الأبحاث التي تمولها الجامعات ومراكز الأبحاث الحكومية.
هذه هي المبادئ الأساسية لأي برنامج حتى يطلق عليه برنامجا حراً، وكان لإطلاقها أن ينشأ حركة ستدعى حركة البرمجيات الحرة قامت بشكل أساسي حول مشروع جنو وستولمن بشكل حصري، مما يدفع لستولمن بأن يستقيل من عمله وينشأ منظمة غير ربحية في عام 1985م، هدفها نشر الوعي وتسويق فكرة البرمجيات الحرة بين المطورين والأفراد، وتوظيف مبرمجي البرامج الحرة لتسريع عجلة التطوير في مشروع جنو والبرمجيات الحرة المرافقة له.
إلا أن نجاح البرمجيات الحرة دفع بعض الشركات لاستغلالها بشكل سيء، حيث كان لا يوجد ترخيص قانوني للبرمجيات الحرة يحميها من سوء الاستخدام من قبل بعض الشركات الجشعة، كل هذا دفع بستولمن بأن يعكف مع مؤسسة البرمجيات الحرة بكتابة ترخيص قانوني ينقل مبادئ البرمجيات الحرة من عالم الأفكار إلى أروقة القانون والمحاكم، وقد نجح في ذلك يناير 1989م، عندما أطلق رخصة جنو العامة والتي تختصر إلى GPL، والتي ستستأثر بخمسة وسبعين في المئة من البرمجيات الحرة. وتمتاز هذه الرخصة عن غيرها بإضافتها لبند الحماية من إعادة الإغلاق البرنامج الحر، بأن تفرض على كل من عدل البرنامج وقام بإعادة توزيعه أن يفعل ذلك تحت الرخصة نفسها وهو ما يطلق عليه "Copyleft". ومن هنا جاء ما يعرف بالتأثير الفيروسي لرخصة جنو، حيث انتشرت البرمجيات الموزعة تحت هذه الرخصة انتشارا واسعا وسريعا مما خلق نظاما ناضجا ومتطورا يستطيع أن ينافس الأنظمة الأخرى المملوكة.
وفي 1991م، صدرت النسخة الثانية من رخصة GPL لمعالجة بعض النواقص في النسخة الأولى، ولتعطي بعض القيود المخففة لبعض البرمجيات التي تعمل كبنية تحتية لبرامج أخرى، وذلك بإطلاق رخصة LGPL التي خففت من التأثير الفيروسي لرخصة جنو العامة. الإصدار الثاني كتب له النجاح والاشتهار بشكل كبير، وخصوصاً النظام الجديد الذي سيظهر في بداية التسعينات والذي سيعتمد على حركة البرمجيات الحرة ويتشرب بمبادئها ويعتمد على رخصتها رخصة جنو العامة الإصدارة الثانية، حتى بعد ظهور النسخة الثالثة منها عام 2007م.
إنه نظام جنو/لينكس والذي سيلعب دوراً كبيراً في تتويج حركة البرمجيات الحرة ونشرها بشكل عملي، وهو موضوع مقالتنا القادمة.