ما هي البرمجيات مفتوحة المصدر؟ وما هي ميزاتها الأساسية وعيوبها الأهم؟
في المجال التقني كثيراً ما تتردد عبارات عديدة غير مفهومة للعامة، والعديد منها في سياقات خاطئة حتى. ومن بين هذه العبارات تعد “البرمجيات مفتوحة المصدر” من أهمها. حيث تظهر العبارة على أنها مديح كبير لبرمجيات معينة في سياق ما، فيما تظهر وكأنها استهانة في أماكن أخرى. وفي الكثير من الحالات يتم الخلط بين هذه البرمجيات وتلك التي لا تمتلك أي حقوق ملكية أو حتى البرمجيات المجانية.
في هذا الموضوع سنسلط الضوء على فكرة البرمجيات مفتوحة المصدر وما هي بشكل عام. وسنتناول أبرز الأمثلة عليها وما يميزها وما هي المحدوديات التي ربما تعاني منها.
ما هي البرمجيات مفتوحة المصدر؟
يقصد بوصف “مفتوحة المصدر” أن هذه البرمجيات تمتلك كوداً مصدرياً متاحاً للجميع ويمكن لأي أحد مشاهدته والاطلاع عليه. وهذا الأمر هو أساس تفريق هذا النوع من البرمجيات عن سواها. حيث لا يتم محاولة إخفاء الكود المصدري وطريقة صنع البرمجية حقاً عن أي أحد.
لتوضيح الأمر لغير المختصين، من المهم فهم أن أي برمجية كانت سواء تطبيق أو لعبة أو إضافة أو سواها تصنع أصلاً بكتابة أسطر برمجية. لكن وعندما يتم تشغيل هذه البرمجية، فمن غير الضروري أن تكون الأسطر البرمجية موجودة لدى المستخدم، بل نتيجتها فحسب. ومع كون برمجة التطبيقات والألعاب وسواها مهمة صعبة وغير بسيطة، فقد كانت الشركات حريصة دائماً على ملكيتها الفكرية. لذا تحاول هذه الشركات إخفاء طرق صنع تطبيقاتها لمنع المنافسين من استغلال هذه المعرفة. وبالطبع تعد هذه البرمجيات “مغلقة المصدر.”
بشكل معاكس تماماً لما سبق، فالفكرة الأساسية من البرمجيات مفتوحة المصدر هي التعاون والحصول على المساعدة من الآخرين. لذا وبدلاً من إخفاء طريقة البرمجة، يقوم مطورو هذه البرمجيات بكشف الكود المصدري للجميع. وبالنتيجة يستطيع أي أحد مشاهدة الكود واستنساخه وتجربة التعديل عليه عادة.
مفتوح المصدر ليس مجانياً أو قابلاً لكل أنواع الاستغلال بالضرورة
لعل واحدة من أهم حالات الخلط بالمصطلحات هي الخلط بين البرمجيات المجانية وتلك مفتوحة المصدر، حيث لا علاقة بين المفهومين. حيث أن كون برمجية ما مفتوحة المصدر لا يعني بالضرورة أنها ستكون مجانية، ولو أن الأمر شائع للغاية. حيث أن معظم البرمجيات (لكن من المهم تذكر أنه ليس كلها) مفتوحة المصدر مجانية وفي العديد من الحالات غير ربحية حتى.
بالطبع يعد الخلط المعاكس خطأً أكبر حتى. حيث أن كون برمجية ما مجانية لا يعني أبداً أنها مفتوحة المصدر، بل أن النسبة الأكبر من البرمجيات المجانية ليست كذلك. لذا من المهم تمييز أن المصدر المفتوح متعلق بإتاحة الكود المصدري فحسب وليس سعر البرمجية.
البرمجيات مفتوحة المصدر ليست من نوع واحد جميعاً
المشترك بين البرمجيات مفتوحة المصدر هو أن الكود المصدري لها مكشوف ومتاح للمشاهدة والتدقيق من الجميع. لكن هناك اختلافات كبرى من حيث الصلاحيات التي يمتلكها المطورون للتعديل على الكود واستخدامه اللاحق. حيث من الممكن أن يكون توزيع الإصدارات المعدلة من الكود محظوراً أو أنه مشروط مثلاً. حيث أن العديد من المشاريع مفتوحة المصدر تفرض أن يكون أي إعادة نشر لها وتعديل عليها مفتوح المصدر أيضاً.
الأمر مشابه من حيث الربحية والمجانية في الواقع. حيث تسمح بعض المشاريع مفتوحة المصدر أن يتم استخدامها في مشاريع لأغراض تجارية. فيما تفرض بعضها قيوداً على الأمر وأن تكون أي مشاريع تستخدم كودها مجانية تماماً.
هناك اليوم عدة معايير مختلفة للبرمجيات مفتوحة المصدر. ومن المهم التمييز بينها وقراءة شروطها وميزاتها بدقة لتجنب المشاكل التي قد تنجم عن الأمر. وتتضمن أهم أنواع التراخيص مفتوحة المصدر:
- ترخيص MIT.
- ترخيص GPL 2.0 و3.0.
- ترخيص Apache 2.0.
- ترخيص BSD 2.0.
ما هي الفائدة المرجوة من كون البرمجيات مفتوحة المصدر؟
الميزة الأساسية والأهم ربما للبرمجيات مفتوحة المصدر هو أن كودها متاح للجميع، وبالتالي يمكن تدقيقه من قبل الجميع. وفي العديد من الحالات يترجم هذا الأمر إلى اكتشاف أكثر فعالية للأخطاء والثغرات الأمنية، حيث هناك أعين أكثر تراقب عن كثب. كما أن العديد من المشاريع التعاونية تستفيد من فكرة أنها مفتوحة المصدر للحصول على ميزات وإضافات جديدة من مجتمعات المطورين والمساهمين المهتمين.
عموماً يقول معظم المبرمجين أن البرمجيات مفتوحة المصدر أسهل للتعامل معها وأكثر مرونة من حيث التعديل. حيث عادة ما يتم التعامل مع المشاكل وسد الثغرات بسرعة أكبر من تلك مغلقة المصدر. وكلما كان مجتمع الساهمين أكبر كانت الأمور أسرع في التنفيذ، ولو أن هذا الأمر سلاح ذو حدين.
بشكل مثير للاهتمام تعتمد بعض الشركات على المشاريع مفتوحة المصدر كطريقة للعثور على مبرمجين موهوبين وجذبهم في الواقع. حيث من الشائع أن تطلق الشركات الناشئة أو الكبيرة مشاريع مفتوحة المصدر وتبحث ضمن المساهمين عن مواهب واعدة لها. كما أن العمل على المشاريع مفتوحة المصدر هو واحدة من أشهر الطرق لبناء السمعة والحصول على فرص العمل للمبرمجين.
مواضيع قد تهمك:
- لماذا تعمل شركات تقنية عملاقة على مشاريع مفتوحة المصدر؟ وبماذا تستفيد من ذلك؟
- أي لغات البرمجة تجلب أعلى الرواتب للمبرمجين حول العالم؟ الجواب موجود الآن!
أشهر المشاريع مفتوحة المصدر اليوم
مع أن بعضاً من أكبر البرمجيات اليوم وبالأخص تلك الخاصة بالشركات الكبرة هي مشاريع مغلقة المصدر كأسرار محروسة بشدة. فالواقع أن هناك عدداً متزايداً من المشاريع مفتوحة المصدر. ومع أن بعضها قد يكون بديلاً أضعف لبرمجيات مغلقة المصدر، فهي تنمو بسرعة كبيرة ويتم تبنيها بشكل متزايد. وتتضمن بعض أهم المشاريع مفتوحة المصدر اليوم أموراً مثل:
- حزمة البرمجيات المكتبية LibreOffice.
- مشروع نواة GNU/Linux ومعظم توزيعات النظام المبنية عليها.
- نظام Android ككل.
- مشغل الفيديو والوسائط VLC.
- متصفح Mozilla Firefox.
- مشروع Chromium الذي بني عليه متصفح Google Chrome ومؤخراً متصفحات Opera وحتى Microsoft Edge.
- برمجية تعديل الصور GIMP.