الأربعاء، 8 مارس 2006

ما هي البرامج الحرة

البرامج الحرة هي برامج يمكن تعديلها ونشرها واستخدامها بدون أي قيود أو بشروط محدودة، يمكن لأي شخص أن يقوم بإنزال أي برنامج حر واستخدامه على عشرات الحواسيب وتوزيعه على مئات الأشخاص وبيعه على شكل أقراص مدمجة أو على أي وسيلة تخزين أخرى، البرامج الحرة ليست بالضرورة مجانية، فقد تشتري نسخة من برنامج حر لأنك لا تستطيع إنزاله من الشبكة لكبر حجمه، لكنه يبقى برنامج حر من ناحية إمكانية نسخه وتعديله ونشره كما تشاء.

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

البرامج الحرة الآن لم تعد مجرد أدوات للمتخصصين، بل أصبحت حركة سياسة تحاول أن تؤثر في القوانين والتشريعات لكي تمنع احتكار المعلومات وصنع الأدوات، وأصبحت حركة اجتماعية تهدف إلى نشر أدوات تقنية المعلومات في العالم وبين الدول الغنية والفقيرة، وأصبحت حركة تجارية لها سوق يزداد حجمه كل عام، هذا السوق يوفر العديد من الوظائف ويقدم العديد من الخدمات والمنتجات التي تتراوح ما بين السلع الاستهلاكية الموجهة لعامة الناس والسلع التجارية الكبيرة الموجهة لأضخم الشركات والمؤسسات الحكومية.

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

البرامج الحرة في اللغة الإنجليزية تسمى Free Software، كلمة Free هنا تعني Freedom أي الحرية وليس المجانية، لكن الكثير من الناس ظنوا أنها برامج مجانية، لذلك قام بعض مبرمجي البرامج الحرة بإنشاء مصطلح آخر وهو المصدر المفتوح أو Open Source لكي يعالج المشكلة، لكنه مصطلح غير دقيق، فقد يكون البرنامج مفتوح المصدر لكنه ليس حراً، أي يمكن للمرء الاطلاع على مصدر البرنامج لكنه لا يستطيع تعديله ونشره.

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

تاريخ البرامج الحرة

منذ أن ظهر الحاسوب في منتصف القرن الميلادي الماضي والبرامج كانت حرة ولم يكن هناك من يفكر في بيع البرامج، كان الهاكرز (المبرمجين وليس المخربين) يتبادلون البرامج ويطورونها ويتنافسون في ما بينهم على تسريع أداء هذه البرامج وكتابتها في أقل عدد من الأوامر، في الماضي كانت وسيلة التخزين لمثل هذه البرامج هي البطاقات الورقية أو الأشرطة الورقية، وقد كان المبرمج يضع برامجه في درج عام يمكن لأي شخص أن يصل له ويستخدمه ويطوره.

مع ظهور شبكة إنترنت التي كانت تسمى في ذلك الوقت ARPANET وشبكات BBS بدأ المبرمجون في تبادل برامجهم عن طريق الشبكات، وظهرت وسائل تخزين أخرى مثل الأقراص المرنة، وبعض المجلات كانت تنشر برامج بكاملها على صفحاتها.

في السبعينيات وبدايات الثمانينيات بدأت بعض الشركات تدرك قيمة البرامج وتدرك أنها تستطيع كسب أرباح كبيرة من بيع هذه البرامج، بدأت ثقافة تبادل المعلومات تختفي تدريجياً لتحل محلها برامج تجارية لا يعرف أسرارها سوى مبرمجيها، هذا ما دفع ريتشارد ستالمن إلى إنشاء منظمة البرامج الحرة في عام 1985م التي تهدف إلى إنشاء نظام تشغيل حر وما يحتاجه من أدوات وبرامج.

أستطاع ستالمن أن يقوم ببرمجة معظم أجزاء نظام التشغيل ولم يبقى سوى النواة، وهي المسؤولة عن التعامل مع الحاسوب مباشرة، في عام 1991م قام لينوس تورفالدس بالإعلان عن لينكس، نواة نظام تشغيل تتوافق مع مواصفات أنظمة يونكس، منذ ذلك التاريخ وحتى اليوم ازداد وعي الناس بالبرمج الحرة، وازداد عدد المبرمجين الذين يشاركون بجهودهم في البرامج الحرة، البرامج الحرة اليوم تعد بالآلاف.

أمثلة للبرامج الحرة

البعض قد يستخدم البرامج الحرة وهو لا يدري، فمثلاً عندما زرت هذا الموقع هناك عدة برامج حرة تعاونت في ما بينها لكي تظهر لك هذه الصفحة، فمثلاً هذا الموقع يستخدم وورد بريس، وهو بدوره برنامج يعتمد على لغة البرمجة بي أتش بي وقاعدة البيانات MySQL، وينسق بين كل هذه البرامج مزود أباتشي، وكل هذه البرامج هي برامج حرة، وتستخدم في آلاف المزودات حول العالم.

هناك برامج أخرى كثيرة ومشهورة:

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

هذه فقط أمثلة، البرامج الحرة المشهورة تعد بالمئات وتغطي معظم احتياجات أي مستخدم حاسوب.

كيف تشارك في البرامج الحرة؟

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

هذه أمثلة للمهام التي يمكن أن تشارك في إنجازها:

  • إدارة موقع للبرنامج.
  • كتابة أدلة الاستخدام.
  • تقديم دعم فني للمستخدمين.
  • اختبار البرنامج واكتشاف أخطاءه، واقتراح الحلول والخصائص الجديدة.
  • تسويق البرنامج ونشره بين الناس.
  • تعليم الناس كيفية استخدام البرنامج والاستفادة منه.
  • التبرع بالمال لمشاريع البرامج الحرة، أغلب مبرمجي البرامج الحرة يعملون مجاناً لتطوير برامجهم.

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