متى ننتقل للبرمجيات مفتوحة المصدر؟
صارت البرمجيات مفتوحة المصدر خيارا للعديد من الأفراد والشركات وحتى الحكومات، فأعلنت مصر عن استراتيجية لتبني استخدام البرمجيات مفتوحة المصدر عام 2014 وأعلنت السعودية عن استراتيجية مماثلة عام 2022 لكن ما هي البرمجيات مفتوحة المصدر أساسا؟ عندما يقرر المبرمج صنع برنامج فإنه يكتب أكواد برمجية تخبر البرنامج كيف يعمل وكيف يتصرف، وإذا أراد المبرمج أن يجعل برنامجه مدفوعا فقد يرغب بحماية الكود البرمجي حتى لا يطلع عليه شخص غيره فيعرف آلية عمل البرنامج وربما ينسخه ويستخدمه مجانا. تلك هي البرمجيات مغلقة المصدر أو الاحتكارية (لأن الكود المصدري لها ليس متاحا فلا يمكن لأي شخص الاطلاع عليه ومعرفة كيفية عمله)، وللبرمجيات الاحتكارية أمثلة كثيرة؛ حزمة برامج مايكروسوفت المكتبية (Microsoft Office) وبرامج أدوبي، ونظام التشغيل ويندوز، وفيسبوك، وجوجل، وزوم والكثير الكثير غيرها، فنحن لا نعرف بدقة كيف تعمل تلك البرمجيات تحديدا لأنها لا تدعنا نصل إلى أكوادها المصدرية ولهذا لا تتمتع تلك البرمجيات بشفافية عالية.
البرمجيات مفتوحة المصدر على الجانب الآخر هي برمجيات تسمح بالوصول إلى أكوادها المصدرية حيث يمكننا مراجعة آلية عملها ويمكن لمن لديه المعرفة التقنية أن يساهم في تطوير هذه البرمجيات ويساعد في اكتشاف الثغرات فيها وحلها بسرعة. ولا يقتصر كون البرمجيات مفتوحة المصدر على إتاحة الأكواد البرمجية، فالبرمجيات مفتوحة المصدر هي حراك سياسي كذلك يسعى لإعطاء المستخدم حرية كاملة في استخدام البرمجيات دون قيود تمنعه من الاستفادة القصوى تلك البرمجيات، فيؤمن المنخرطون في حراك البرمجيات مفتوحة المصدر أن للمستخدم الحق في استخدام البرامج بالطريقة التي تناسبه دون أن يضع المبرمج قيودا تعسفية لتقويض هذا الحق باستخدام ترخيص يعطي للمبرمج كافة الحقوق وينزعها عن المستخدم، وتضع مؤسسة البرمجيات مفتوحة المصدر عشرة معايير لتعريف البرمجيات والتراخيص على أنها مفتوحة المصدر؛ حرية التوزيع، وإتاحة الكود المصدري، والسماح بالأعمال المشتقة، وسلامة الكود المصدري للمؤلف، وعدم التمييز ضد أشخاص أو مجموعات، وعدم التمييز ضد مجالات استخدام، وتوزيع الترخيص، وألا يكون الترخيص خاصًا بمنتج محدد، وألا يقيد الترخيص برمجيات أخرى، وأن يكون الترخيص محايدًا من الناحية التكنولوجية.
وقد يتبادر إلى ذهن القارئ أن البرمجيات مفتوحة المصدر هي برمجيات ضعيفة لا يمكنها منافسة البرمجيات الاحتكارية، لكن هذا ليس صحيحا أبدا، فقد بُنيت آلاف البرمجيات باستخدام تراخيص مفتوحة المصدر، ومنها برمجيات معروفة جدا مثل نظام تشغيل أندرويد (النظام نفسه مفتوح المصدر لكن تضيف جوجل برمجيات أخرى احتكارية عند توزيعه)، ومنصة ويكيبيديا، وتطبيقات مثل سيجنال ومشغل VLC وبرنامج Blender مثلا. وتوجد بدائل مفتوحة المصدر لبرمجيات احتكارية شهيرة:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ومما يزيد من قوة البرمجيات مفتوحة المصدر أنها تُمكن الجميع من المساهمة في تطويرها، ولهذا تحظى البرمجيات مفتوحة المصدر الشهيرة بقاعدة كبيرة من المساهمين في تطويرها.
لماذا ننتقل للبرمجيات مفتوحة المصدر؟
توجد عدة أسباب للانتقال إلى البرمجيات مفتوحة المصدر وتتنوع تلك الأسباب إلى أسباب اقتصادية وأسباب أخلاقية وأسباب أمنية وأسباب تقنية وعملية:
لأسباب اقتصادية: رغم أن البرمجيات مفتوحة المصدر لا يشترط أن تكون مجانية، لكن معظمها كذلك، وهذا ما يوفر على المستخدمين (والشركات والدول) الذين ينتقلون إلى استخدام البرمجيات مفتوحة المصدر مبالغ طائلة.
لأسباب أخلاقية: تساعد البرمجيات مفتوحة المصدر على كسر احتكار الشركات التقنية لسوق البرمجيات وتساعد متعلمي البرمجة بإتاحة الأكواد البرمجية لها فتمكنهم من تعلم كيفية بناء مثل هذه البرمجيات، وتوفر بديلا لغير القادرين على تحمل تكاليف البرمجيات الاحتكارية.
لأسباب أمنية: توفر البرمجيات مفتوحة المصدر قدرا عاليا من الشفافية في بنائها وطريقة عملها ولهذا تتمتع بموثوقية أكثر من البرمجيات الاحتكارية التي كثيرا ما تشتهر بجمع بيانات المستخدمين أو وجود ثغرات لا يتم علاجها سوى بعد وقت طويل من اكتشاف المطورين إياها. كما يلجأ البعض لاستخدام برمجيات احتكارية مدفوعة عن طريق القرصنة لاستخدام هذه البرمجيات مجانا وهو ما يعرض أمنهم وأمن أجهزتهم لخطر كبير بسبب احتواء الكراكات على برمجيات خبيثة قد تصيب الأجهزة ببرمجيات تجسس أو فيروسات الفدية. (برامج الفدية، ما هي وكيف أحمي نفسي من آثارها؟)
لأسباب تقنية وعملية: تعطي البرمجيات مفتوحة المصدر مستخدميها تحكما أكبر في تلك البرمجيات ويمكن للمستخدمين ذوي المعرفة التقنية اللازمة تعديل طريقة عمل تلك البرمجيات لتناسب احتياجاتهم، كما أن البرمجيات مفتوحة المصدر تشتهر بكونها أخف وأسرع من نظيراتها الاحتكارية، وهذا عادة بسبب احتواء البرمجيات الاحتكارية على وظائف غير ضرورية أو حتى مضرة (مثل جمع بيانات المستخدم). ولهذا يعمل الكثير من البرمجيات مفتوحة المصدر على أجهزة ضعيفة نسبيا بكفاءة عالية مقارنة بالبرمجيات الاحتكارية.
متى لا يجب الانتقال إلى البرمجيات مفتوحة المصدر؟
رغم أن الانتقال إلى البرمجيات مفتوحة المصدر يبدو صفقة رابحة في كثير من الأحوال، لكن هناك حالات تجعل من هذا الانتقال مضرا بسير العمل، مثل:
إذا كنا نعتمد على برمجيات احتكارية معينة: إذا كان المستخدم معتادا أو بحاجة إلى برمجية احتكارية معينة ولا يجد لها بديلا مفتوح المصدر (أو لا يجد البديل مفتوح المصدر عمليا كنظيره الاحتكاري) فقد يضطر إلى الاعتماد على البرمجية الاحتكارية حتى يتمكن من المحافظة على جودة إنتاجه أو سير عمله.
إذا كنا نعمل في بيئة تفرض استخدام برمجيات احتكارية: قد يجد المستخدم بدائل مفتوحة المصدر جيدة ومرضية للبرمجيات الاحتكارية التي كان يستخدمها، لكن يضطره مكان عمله أو دراسته لاستخدام برمجيات احتكارية معينة لكي يتمكن من التفاعل مع باقي الأشخاص في محيطه، فيضطر لاستخدام صيغ ملفات محددة تنتجها برمجيات احتكارية (كأن يُطلب من الشخص تسليم المقالات بصيغة .docx التي ينتجها برنامج Word، لكن في هذه الحالة تحديدا يمكن استخدام برمجيات مفتوحة المصدر مثل LibreOffice أو ONLYOFFICE لأنها تدعم هذه الصيغة كذلك).
إذا لم يكن لدينا وقت أو إمكانية لتعلم استخدام برامج جديدة: حتى إذا كانت البدائل مفتوحة المصدر شبيهة بمثيلاتها الاحتكارية فهي في نهاية الأمر برامج مختلفة وقد تكون طبيعة عملها مختلفة وتتطلب تعلم استخدام تلك البرامج من البداية مثلما تعلم المستخدم البرمجيات الاحتكارية في البداية، وقد لا يكون بوسع المستخدم احتمال عبء تعلم برمجيات جديدة أو احتمال وقت الذي ستستغرقه عملية التعلم تلك، وبناءً على هذا يكون للانتقال للبرمجيات مفتوحة تأثير على الإنتاجية لا يمكن للمستخدم تحمله، وتصبح تلك المشكلة أكبر في الشركات التي تدرب موظفيها على برمجيات احتكارية وتجد نفسها أمام معضلة عند الانتقال إلى البرمجيات مفتوحة المصدر لأنها تضطر إلى التضحية بجزء من الإنتاجية حتى يتأقلم المستخدمون على البرمجيات الجديدة.
الانتقال للبرمجيات مفتوحة المصدر خيار جيد اقتصاديا وأخلاقيا وأمنيا وتقنيا، لكن له مصاعبه، لهذا عند التفكير في هذا الخيار، يجب وضع تلك الأسئلة في الاعتبار:
- هل يؤدي البديل مفتوح المصدر نفس الهدف الذي يؤديه البرنامج الاحتكاري؟
- هل لدي من الوقت والموارد ما يسمح بتعلم أدوات وطرق جديدة للعمل؟
- هل سأتمكن من الحفاظ على إنتاجيتي وأدائي باستخدام البرمجيات مفتوحة المصدر؟
ويجب أن نتحلى بالصبر إذا قررنا القيام بتلك الخطوة لأن تغيير الأدوات عموما عملية شاقة في معظم الأحيان، لكنها قد تعود بفوائد كبيرة مثل الاستغلال الأفضل للأجهزة البطيئة نسبيا وارتفاع أمان هذه الأجهزة والتوفير في الموارد والمزيد من الحرية في استخدام هذه البرمجيات.