السلام عليكم مجتمع إتقان،
جمعت لكم اليوم كل ما لا يسع المطوّر جهله حول رخص البرمجيات وما يجب أخذه بعين الاعتبار حولها عند إنشاء تطبيق إسلاميّ، من معانٍ للرخص واختلاف ما تغطّيه، وحتّى طريقة اختيار الرخصة الأمثل للبرمجيّة.
لماذا عليك الاهتمام بأمر الرخص؟
فهم هذا الجانب ضروري جدًا، خصوصًا عند استخدام مكتبات أو أكواد جاهزة، أو عند نية نشر الأعمال بصيغة مفتوحة المصدر أو الاستكساب الماديّ منها، فبعض المكتبات تمتلك ترخيصات قد تسمح بهذا بحدودٍ معيّنة، وأخرى قد لا تسمح بهذا إطلاقًا. وفي كلّ الأحوال، عند نشر تطبيقك برخصةٍ ما عليك أن تتأكد أنّ هذه الرخصة لن تتعارض مع ترخيصات المكتبات الفرعية المستخدمة.
لهذا عليك أن تتذكّر دائمًا:
الكود البرمجي هو ملكية فكرية لمبرمجه أو للشركة التي قامت بإنشائه.
استخدام أي كود (مكتبة، جزء من كود، إلخ) دون فهم ترخيصه يعتبر انتهاكًا لحقوق النشر، وهذا يعرّضك أنت أو شركتك لدعاوى قضائية قد تكلفك مبالغ طائلة أو تؤدي إلى إيقاف مشروعك بالكامل.
كل ترخيص له شروطه الخاصة.
على سبيل المثال، قد يشترط عليك ترخيص معين أن تذكر اسم المبرمج الأصلي (Attribution)، أو أن يكون تطبيقك مجانيًا (إذا كان الترخيص copyleft)، أو أن تلتزم بعدم استخدام الكود لأغراض تجارية. عدم الالتزام بهذه الشروط يعتبر خرقًا للعقد القانوني الخاص بهذه المكتبات.
لا تنسَ أيضًا؛ فهم التراخيص واحترامها هو أساس ثقافة المصادر المفتوحة التي تعتمد على التعاون وتبادل المعرفة، والحفاظ على الحقوق والالتزام بالعهود والعقود من أهمّ أخلاق المسلم.
ما هي التراخيص البرمجية؟
باختصار، هي عقود قانونية تحدد الشروط التي بموجبها يحق لك استخدام برنامج معين. تمنحك هذه العقود حق استخدام البرنامج في سياقات معيّنة محددة بشروط العقد.
وهذه أهم أنواع التراخيص الموجودة وما تعنيه لمشروعك:
أولًا: التراخيص الاحتكارية - Proprietary Licenses:
تقيّد هذه التراخيص استخدام البرنامج بالكامل، ويحتفظ فيها المبرمج أو الشركة العاملة على البرنامج بكافة حقوق الملكية الفكرية ولا تتيح للمستخدمين أو المطورين الآخرين الوصول للكود المصدري للبرنامج.
في حال استخدامك لهذه الرخصة في برنامجك عليك التأكد من أنّ كافة المكتبات والأكواد المستخدمة فيه تصلح لهذا النوع من الرخص، إذ يستثني الكثير من مطوّري المكتبات مفتوحة المصدر إمكانيّة ترخيص البرامج المعتمدة على مكتباتهم برخص احتكاريّة.
في حال رغبتك باستخدام أجزاء من برامج خاضعة لترخيص احتكاريّ في برنامجك مفتوح المصدر، عليك التأكد أنّ هذا مسموح ضمن الترخيص الخاص بالبرنامج.
ثانيًا: التراخيص مفتوحة المصدر - Open Source Licenses:
تسمح هذه التراخيص للمستخدمين بالإطلاع على كود المصدر للبرنامج وتعديله وإعادة توزيعه في بعض الأحيان. الهدف من هذه الرخص التشجيع على التشارك في التطوير والابتكار الجماعي، ويمكن تمييز نوعين رئيسيين من التراخيص مفتوحة المصدر:
النوع الأول: التراخيص المتساهلة - Permissive Licenses:
وهذه تمنح أكبر قدر ممكن من الحرية في استخدام الكود وتعديله وتوظيفه في برامج أخرى وحتى لو كانت تحت ترخيصات احتكارية. الشرط الوحيد الموجود عادة في هذا النوع من التراخيص هو الإبقاء على إشعار حقوق النشر الأصليّ في البرنامج.
يندرج تحت هذا النوع رخصتي MIT و Apache License 2.0.
في حالة البرمجيات الإسلامية، من الجيد البحث عن مكتبات داعمة لمشروعك تحت هذه التراخيص لتكون قادرًا على إصدار برنامجك بالترخيص الذي تريده، سواء أردت نشر تطبيقك تحت ترخيص احتكاريّ أو مفتوح، أو أردت أن تصدره بشكل تجاريّ أو مجانيّ.
النوع الثاني: تراخيص الحماية المتبادلة - Copyleft Licenses
تقيّد هذه التراخيص استخدام البرمجيات المرخّصة تحتها لضمان بقاء الكود ومشتقاته وما يبنى عليه مستقبلًا مفتوح المصدر دائمًا. وهي من الرخص "الفيروسية" التي تجبر من يستخدم أيّ كودٍ مرخّصٍ تحتها على استخدام رخصة مشابهة تضمن أنّه سيبقى مفتوح المصدر دومًا.
تندرج رخصة GNU GPL - General Public License تحت هذا التصنيف.
في حالة تطوير البرامج الإسلامية، على المطوّر أن ينتبه جيدًا للأكواد والمكتبات التي يستخدمها في مشروعه ألّا تكون تحت هذا الترخيص إن لم يكن ينوي نشر مشروعه تحت رخصة مشابهة.
لكن في الوقت ذاته، يضمن هذا النوع من الرخص إمكانيّة مساهمة الناس في تطوير وصيانة هذا الكود والمساهمة فيه بغرض المنفعة العامّة دومًا، ويمكن أن تكون رخصة مثالية للمكتبات والأكواد التي تساعد في بناء المشاريع المستقبلية.
خلاصة ومقارنة سريعة
لمشاريع البرمجيات الربحية:
الاعتماد على المكتبات والأكواد ذات التراخيص المتساهلة هو الخيار الأفضل - وهي تسمح بنشر المشروع سواء كان مغلق المصدر أو مفتوح المصدر وتسمح بالاسترباح منه.
لمشاريع البرمجيات غير الربحية:
الاعتماد على المكتبات والأكواد ذات تراخيص الحماية المتبادلة قد يكون خيارًا أفضل، فهي تساعد في ضمان استمرارية العمل على المشروع وتتيح المساهمة فيه في بيئة مفتوحة وتشاركية تقدم الفائدة لأكبر عدد ممكن من المستخدمين فهي تضمن أن مشروعك سيظل خدمة للمسلمين، وأن أي تطوير عليه سيكون متاحًا للجميع للاستفادة منه.
هل لديكم تجارب شخصية في سياق التعامل مع التراخيص البرمجية؟ وما رأيكم هو العامل الأهم أثناء اختيار هذه الرخص في حالة بناء البرمجيات الإسلامية؟