موضوع مختصر عن مفتوح المصدر و مغلق المصدر "Open Source" و "Closed Source"

ما هو مفتوح المصدر و مغلق المصدر Open Source و Closed Source ؟

إذا كنت مهتمًا بمجال التقنية، فمن المؤكد أنك قد واجهت العديد من المصطلحات العميقة والمعقدة في هذا المجال. ومن بين هذه المصطلحات الهامة في عالم التقنية هما "مفتوح المصدر" و"مغلق المصدر". فماذا يُعنى بهما؟



ما هو المصدر المفتوح و المصدر الغير مفتوح


السطور البرمجية هي بناء كل برنامج .

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

مثال عن السطور البرمجية 


لكن السؤال الان :  هل هذه السطور و الكتابات البرمجية متاحة لصاحبها ( المبرمج ) فقط  ،  أم هي مخفية . ؟


فكلمة متاحة او غير متاحة تفتح لنا الباب على مصطلح تقني يساعدنا في فهم ما نحن بصدد التعرف عليه في هذا الموضوع !! ألا و هو مصدر مفتوح و مصدر مغلق .

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


-*- ما هو البرنامج مغلق المصدر Closed Source او PROPRIETARY...؟


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

 في الصورة التالية  سوف ترى شفرة المصدر الأساسية وهي مكتوبة بلغة برمجة بايثون ولكن العين الغير مدربة على البرمجة سوف ترى ما يوجد من اكواد معقد وغير مفهوم.

سطور برمجية لمتصفح كروم مكتوبة بلغة البايثون 



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

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



أمثلة عشوائية لبرمجيات مغلقة المصدر :Skype..,Windows..,Mac,..Winrar ..Chrome .. و غيرها 
 

مميزاتها:

1- مشهورة عن نظيرتها Open Source


-*- ما هو برنامج مفتوح المصدر Open source ...؟

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

أمثلة لبرمجيات مفتوحة المصدر: Firefox,Vlc Media Player,Gimp,inkscape,Linux
مميزاتها:

1- اذا كنت مبرمج يمكنك التعديل عليها
2- غالبا ما تكون مجانية هذا يعني أنك ستستغني عن مشكلة الكراكات و السريالات
3- تحترم خصوصيتك عكس نظيرتها المغلقة المصدر

الخلاصة 

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