السبت، فبراير 05، 2011

Free Software

عندما بدأت شركات إنتاج أنظمة التشغيل والبرمجيات في العالم في بداية الثمانينيات الميلادية تقييد مستخدمي أنظمتها وبرامجها بشراء الرخص كشرط أساسي لاستخدام الأنظمة والبرامج، ظهرت بعض أنظمة التشغيل ذات المصادر المفتوحة (Open Source) كنظام لينيكس Linux، وهو نظام تشغيل حر مفتوح المصدر، وفي هذا النوع من الأنظمة تكون شفرة البرنامج متاحة لأغراض الاستخدام والتعديل والتطوير والتوزيع. وكان المبدأ والهدف الذي قامت عليه الأنظمة والبرمجيات مفتوحة المصدر، إعطاء المزيد من الحرية لمستخدمي ومطوري الأنظمة والبرامج المفتوحة لنشر واستخدام البرامج دون تكاليف باهظة، وعدم احتكار الأنظمة والبرامج.
مميزات الأنظمة والبرمجيات مفتوحة المصدر كثيرة، منها إمكانية إنتاج أنظمة تشغيل وبرمجيات معدلة ومطورة من البرنامج الأصلي، وكذلك إمكانية توزيعها باستخدام الترخيص الأصلي للبرمجيات مفتوحة المصدر، وأيضاً تخفيف التكاليف الباهظة للأنظمة والبرمجيات مغلقة المصدر، وعدم تقييد مجالات استخدام البرنامج، وفوائد أخرى لا يتسع المجال هنا لذكرها. وقد يأخذ عليها البعض ضعف الدعم الفني، وأنه ليس في مستوى وجودة الأنظمة والبرمجيات مغلقة المصدر.
اعتقد أن خيار التوجه نحو المصادر المفتوحة خيار استراتيجي للقطاعات الحكومية والخاصة، خصوصاً في ظل ارتفاع أسعار رخص برامج الحاسب الآلي. وفي بعد آخر لهذا التوجه فإن له جانبا اقتصاديا من حيث تقليل التكاليف الباهظة لأسعار الرخص. وكذلك فرصة لتطوير مهارات وقدرات المبرمجين، والإسهام في نشر برمجيات مفتوحة المصدر يستفيد منها مؤسسات القطاعين العام والخاص والأفراد على حد سواء.
فكرة المصادر المفتوحة:
 لكل مهنة سر لا يعرفه إلا صاحبها، وجرت الأعراف على حفظ هذا الحق له، بل أن بعض الصناعات والمهن تحتفظ بسر الخلطة أو التركيبة الخاصة بها ولا تسمح لأحد بالاطلاع عليها أو إفشائها المصادر المفتوحة تدعو إلى إلغاء هذه الحقوق وإتاحة العلم والإبداع للجميع لضمان بقائه واستمراره، وللإيمان بأحقيتهم فيه. مع حفظ بعض الحقوق الأدبية لصاحب العمل الأساسي وكل من يضيف شيئاً بعده.
فلسفتها:
تقوم على أساس سامٍ يقتضي إنكار الذات وتغليب صالح المجتمع على مصلحة الفرد مع تحقيق قدر مقبول من المنافع الخاصة بما لا يتعارض مع الهدف الأساس وهو الصالح العام.
نشوء حركة البرامج الحرة:
تأسست مؤسسة البرمجيات الحرة Free Software Foundation وموقعها fsf.org عام 1985 عندما أعلن ريتشارد ماثيو ستولمن Richard Matthew Stallman عن إنشائها، حيث تعاون معه مجموعة من المبرمجين لتحرير البرمجيات من القيود وتحويلها من سلعة وصنعة تباع وتشترى إلى علم إنساني مشاع يحق لأي إنسان أياً كان جنسه الاستفادة منه والانتفاع به.
المسمى والمدلول:
عند بداية التأسيس كانت تسمى المصادر المفتوحة بالبرمجيات الحرة Free Software ، والتي عرّفتها مؤسسة البرمجيات الحرة، بأنها (البرمجيات التي يمكن استخدامها، ونسخها، ودراستها، وتعديلها، وإعادة توزيعها بقليل من القيود أو بدونها، والحرية من قيود كهذه جزء مركزي من الفكرة، وفي المقابل من البرمجيات الحرة توجد البرمجيات الاحتكارية).
لكن هذا التعريف لم يحقق الغاية المرجوة، مما حدا بإريك ريموند Eric Steven Raymond إلى التفكير بمصطلح بديل يزيل هذا اللبس ويرفع هذا الحرج، فوقع اختياره على مصطلح Open Source ، ويعود هذا التعديل لسببين ، الأول وجود إشكالية وخلط ما بين مصطلح Freeware الذي يعني البرمجيات المجانية وما بين Free Software الذي يطلق على البرمجيات الحرة ، حيث أن لفظ Free درج على أن استخدامه كمدلول لل(مجاني) . وهذا ما جعل كثيرا من الشركات تتحسس من استخدام ودعم المصادر المفتوحة خشية عدم تحقيق أرباح، لكن هذه التسمية لم ترق لريتشارد ستولمن لأنه كان يخشى أن تكون هذه التسمية محاولة للالتفاف على مبدأ الحرية الذي يعتبر هو الهدف الأساس لنشوء هذه الحركة.
لماذا المصادر المفتوحة:
هناك الكثير من الفوائد والإيجابيات التي تجعلنا نفكر في المصادر المفتوحة كخيار وبديل استراتيجي عن البرمجيات التجارية والمغلقة، فعلى مستوى الفرد نجد أن معظم تطبيقاته من البرامج المغلقة – إن لم تكن كلها – توجد لها بدائل مفتوحة المصدر، وبالتالي فإن هذا سيكفيه عناء شراء هذه البرامج والتطبيقات وتوجيه ثمنها لتطوير ذاته، أو على الأقل وقايته من الأضرار التقنية والقانونية المترتبة على استخدام أنظمة وبرمجيات مقرصنة، فهذا وإن كان في هذا الوقت متاحاً فسيأتي الوقت الذي تضيق فيه مسألة الحصول على هذه البرمجيات بطريقة غير مشروعة ( كما هو الحال في معظم الدول الغربية التي تصل عقوبة انتهاك الحقوق إلى السجن والغرامة).
أما على مستوى المنشأة (سواء كانت شركة أو مؤسسة حكومية) فإن تكاليف الحصول على تراخيص استخدام بعض الأنظمة والبرمجيات التجارية يمكن الاكتفاء بجزء يسير منها لتوجيهه إلى تطوير الموارد البشرية والحصول على كفاءات مدربة تستطيع تطوير ما تحتاجه هذه المنشأة من برامج وأنظمة خاصة بها ووفق ما يحقق مصالحها. أيضاً الاستفادة من هذه الوفورات في مشاريع أجدى وأكثر نفعاً من الناحية الاقتصادية، خاصة إذا علمنا أن هناك جهات حكومية قد وقعت عقوداً طويلة الأجل مع شركات تجارية للترخيص لها باستخدام أنظمتها وبرامجها.
 التقنية الآن هي أساس التطور في أي بلد، فنقول ان دولة تملك تطوير تقنيتها يصعب السيطرة عليها . خاصة إذا علمنا أن هناك دولا توجهت بكاملها إلى المصادر المفتوحة بتطبيقاتها وأنظمتها لضمان استقلاليتها التقنية وأمنها المعلوماتي.
هل المصادر المفتوحة ضعيفة:
بالطبع .. لا .. لأن البرمجيات مفتوحة المصدر ليست بيئة برمجية جديدة بل هي نفس البرمجيات التي نعمل عليها، بل ان أنظمة وبرمجيات الشركات التجارية يمكن أن تصبح برامج حرة مجرد تغيير ترخيصها وإتاحة شيفرتها المصدرية للاستخدام.
مسألة القوة والضعف فهذه ترتبط بمدى إتقان المبرمج للصنعة، فقد يكون هناك مبرمج محترف ببرامجه الكثير من الثغرات والشوائب ونقاط الضعف، بينما نجد في المقابل أن هناك مبرمجا آخر هاو وبرامجه قوية جداً.
الدول المتحولة للمصادر المفتوحة: هناك دول صدرت فيها أوامر رئاسية بالتحول الرسمي الكامل للبرمجيات والأنظمة الحرة (مفتوحة المصدر) في جميع مصالحها ودوائرها الرسمية، ومن هذه الدول فنزويلا وكوبا، فيما هناك دول كثيرة تحولت بعض مصالحها الحكومية إلى المصادر المفتوحة ومن بين هذه الدول فرنسا، والجزائر، وألمانيا، وإيطاليا، وإسبانيا، وبعض دول أمريكا الجنوبية.
أبرز المستخدمين:
ومن أبرز الجهات المستخدمة للمصادر المفتوحة وكالة ناسا للفضاء، ومنظمة اليونيسكو، وموسوعة ويكيبيديا العالمية، ومحرك البحث غوغل، وسيتي بانك CitiBank، وسامسونج، وأمازون، والكاتيل.
أبرز التطبيقات:
ومن أبرز التطبيقات المبنية على المصادر المفتوحة أنظمة لينكس و BSD المختلفة، ولغة PHP، ومزود الويب Apache، وOpenOffice.org.
لغة البرمجة للمصادر المفتوحة:
يعتقد البعض أن هناك لغة برمجة خاصة للمصادر المفتوحة، وهذا – دون أدنى شك – خطأ، فالمصادر المفتوحة لا علاقة لها بلغة البرمجة التي كتب بها البرنامج مفتوح المصدر، إنما هي فكرة أو فلسفة تقوم على إنكار الذات وتغليب فائدة المجتمع على المطامع والمنافع الشخصية، بمعنى أن المبرمج يتخلى عن حقه فيما يعرف ب "سر المهنة" أو براءة الاختراع في سبيل نشر المعرفة وتخطيها كل الحدود والعوائق والموانع.
لكن إن كنا نريد لغة برمجة مفتوحة المصدر – تحديداً – فلن نجد أفضل من بايثون Python ، فهي اللغة الأقرب للغة الإنسان، وتعتبر من أحدث لغات البرمجة وأسهلها.
أما من حيث أكثر لغات البرمجة استخداماً في المصادر المفتوحة فهي لغة C إذ بلغت نسبة استخدامها أكثر من 41% من بين لغات البرمجة، يليها في المرتبة الثانية لغة جافا ب 22.5% ثم جافا سكريبت 18.5%.
تراخيص البرامج الحرة:
للبرامج الحرة تراخيص مثلها مثل البرامج التجارية، لكن الفرق ما بين الاتجاهين أن التراخيص التجارية تضمن حماية حقوق التاجر في المقام الأول Copyright ، بينما البرامج الحرة تعنى بحماية حقوق المستخدم وتعكس حقوق الملكية الفكرية لتصبح Copyleft ، وهي فلسفة جديدة .. وعلى العموم لو راجعنا معظم تراخيص المصادر الحرة نجدها تدور حول تحقيق أربع حريات وهي أولاً ضمان حرية الاستخدام في أي غرض (مبدأ حرية الاستخدام(، وثانياً ضمان حرية الاطلاع والدراسة للشيفرة المصدرية (مبدأ العلم حق مشاع للجميع)، وثالثاً ضمان حرية التعديل والتطوير (مبدأ عدم إعادة اختراع العجلة)، ورابعاً ضمان حرية التوزيع (مبدأ ضمان الانتشار).
وهناك العديد من الرخص الحرة من أبرزها وأشهرها الرخصة العمومية الشاملة GPL والتي تعتبر هي الأكثر استخداماً وانتشاراً حيث تمثل ما نسبته 88% ، وهناك تراخيص حرة أخرى مثل رخصة LGPL ورخصة BSD ، كما أن هناك رخصة إسلامية اعتمدت حديثاً وهي رخصة وقف الإسلامية.