منقول من ويكيبيديا، الموسوعة الحرة
 Image
 

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

نشوء الفكرة

بدأت الفكرة بشكل غير مباشر في أوائل السبعينات من معامل بيل Bell Labs في شركة (AT&T ) إذ ابتكر الباحثان ريتشي و كيرنان لغة السي C . وفي ذات الوقت تقريباً ، اُبتكر نظام التشغيل ينوكس Unix الذي خرج من تلك المعامل وقد اشترك في كتابته العالم ريتشي .

في ذاك الوقت كانت نظم التشغيل دائماً ما تكتب بلغة التجميع (Assembly) ، والمعروف أن لغة التجميع تختلف تماماً من معالج (Processor) لآخر. أي أن البرنامج (أو نظام التشغيل) المكتوب بلغة الآلة (Assembly) للمعالج بنتيوم 4 مثلاً لن يعمل على معالج (Power PC) ولا غيره. و بالتالي لم تكن أنظمة التشغيل و لا البرامج في ذلك الوقت تتطور بسرعة .

الأمر المثير الذي حدث وغيّر الأمور هو كتابة أجزاء كبيرة من نظام التشغيل ينوكس بلغة السي C انتشرت لغة السي بسرعة و أصبحت ذات شعبية كبيرة. إذ تم كتابة مترجمات السي (Compilers) على العديد من الأجهزة . أدى انتشار مترجمات سي إلى سهولة نقل شيفرة المصدر (Source Code) لنظام يونكس إلى العديد من الأجهزة.

أي سهولة نقل شيفرة المصدر كانت أول خطوة لظهور الفكرة ولكن لم تكن واضحة … ولكن بالنسبة لريتشارد ستالمان كانت واضحة كفاية ليشيد في أوائل الثمانينات مؤسسة البرمجيات الحرة (fsf.Org) و قام بكتابة عدة أدوات مجانية من بينها مترجم سي الشهير (و الأفضل!) جي سي سي (gcc) وأيضا محرر ايماكس (Emacs) ذو الشعبية الضخمة. اشترك البعض مع ستالمان و قاموا معا بإنشاء مشروع جنو (gnu.Org) حيث قاموا بكتابة الكثير من الأدوات المجانية، فقط كان حلم ستالمان هو نظام تشغيل بالكامل حر (مجاني و مفتوح المصدر(

ويعد ستالمان المؤسس الفعلي لثورة البرميجات مفتوحة المصدر و التي كانت تعرف باسم “Free software” .

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

استخدم تورفالدس أدوات مؤسسة البرمجيات الحرة – فقد كان طالبا و لا يملك الكثير من المال – مما أجبره على جعل لينوكس حرا. طرح لينوس نواته على مجموعة – أخبار (newsgroup) مستخدمي مينيكس. حيث كان تصميم لينوكس أفضل كثيراً مما كان موجود من نظم تشغيل والأشهر ينوكس .

جاءت نواة لينوكس بتصميم متميز و في وقت متميز للغاية، فتلقفه الجميع و أنشئ نظام التشغيل المعروف باسم لينوكس.

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

وكان لينوكس من شهر الفكرة بشكل واسع …

ظهر مصطلح (Open Source) الذي يتم ترجمته للمصدر المفتوح، في نهاية التسعينات من قبل إريك ريموند (Eric Steven Raymond) في محاوله منه لإيجاد مصطلح بديل عن مصطلح برمجيات حرة (free software) الذي كان يفهم خطأ على أنه برمجيات مجانية بسبب اللبس الحاصل في معاني كلمة Free في اللغة الإنجليزية، كما في لغات أخرى كثيرة توجد كلمتان منفصلتان للتعبير عن ما هو مجاني (gratis) ما هو حر (libre). إذ كان قطاع الأعمال يتخوف من العمل في لينكس والبرمجيات الحرة، لأن كلمة (Free) كانت تعني لهم المجانية، وبالتالي عدم وجود أرباح، ولكن مع المصطلح الجديد قل هذا اللبس.

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

التعريف

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

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

وهذه الميزات الأساسية لأي ترخيص من الممكن أن يطلق عليه ترخيص مفتوح المصدر.