طريقة لحماية الحرية باستخدام حقوق النشر
الحقوق المتروكة (copyleft) تلاعب لفظي بحقوق النشر (copyright). وهو مفهوم ابتكره ريتشارد ستولمان ومؤسسة البرمجيات الحرة (FSF) في ثمانينيات القرن العشرين لمشروع GNU، وهو آلية تستخدم قانون حقوق النشر لضمان ألا تزول حرية البرمجيات. يأذن صاحب الحقوق للجميع بالاستخدام والتعديل والتوزيع، لكنه يضع شرطًا واحدًا: 'عند توزيع ما بنيته على هذه الشيفرة يجب أن تمنح المتلقي الحريات نفسها.'
التراخيص المتساهلة (MIT وBSD وApache) خالية من هذا الشرط. لذا يجوز لأحد أن يعدّل شيفرة متساهلة ويبيعها منتجًا مغلقًا. أما الحقوق المتروكة فتمنع هذا المسار، فتبقى النسخ المحسّنة أيضًا منشورة. وبسبب هذه الخاصية تُسمّى تراخيص الحقوق المتروكة أيضًا 'تراخيص المعاملة بالمثل (reciprocal)'.
تنشأ الالتزامات عند 'التوزيع'
تُفعَّل شروط الحقوق المتروكة عندما تنقل الشيفرة إلى شخص آخر. ويسمّي GPL-3.0 ذلك 'convey (النقل)'.
- إذا بنيت أداة تُستخدم داخل الشركة فقط بشيفرة GPL ولم توزعها للخارج فلا ينشأ التزام نشر المصدر.
- توزيع التطبيق على العملاء كملف تثبيت أو تضمينه في جهاز وبيعه يُعدّ توزيعًا.
- تشغيله على الخادم فقط مع وصول المستخدمين عبر الويب لا يُعدّ توزيعًا في GPL. والذي يسد هذه الثغرة هو AGPL.
ثلاثة فروع بحسب النطاق
الحقوق المتروكة القوية
أبرز أمثلتها GPL-2.0 وGPL-3.0. يجب أن يتبع شروط GPL كل ما يُدمج مع شيفرة GPL ويُوزَّع كبرنامج واحد. وموقف FSF أن الربط الساكن أو الديناميكي كليهما يُعدّ دمجًا إذا شكّل برنامجًا واحدًا.
الحقوق المتروكة الضعيفة
تراخيص تضيّق نطاق الالتزام.
- LGPL: على مستوى المكتبة. يكفي نشر تعديلات المكتبة نفسها، ويمكن أن يبقى البرنامج الذي يستخدمها مغلقًا إذا التزم بالشروط (إمكانية إعادة الربط وغيرها).
- MPL-2.0: على مستوى الملف. إذا عدّلت ملفًا مرخّصًا بـ MPL فتنشر ذلك الملف فقط.
- EPL-2.0: على مستوى الوحدة. تُنشر شيفرة EPL وتعديلاتها، ويمكن أن تستخدم الوحدات المستقلة ترخيصًا آخر.
حقوق الشبكة المتروكة
يفرض AGPL-3.0 التزام توفير المصدر للمستخدمين بمجرد تقديم البرنامج المعدّل عبر الشبكة. وقد وُضع لسد ثغرة GPL في عصر خدمات الويب.
| الترخيص | نطاق النشر | عند تشغيل الخادم فقط |
|---|---|---|
| GPL-2.0 / GPL-3.0 | البرنامج المدمج بأكمله | لا التزام |
| LGPL-2.1 / LGPL-3.0 | المكتبة وتعديلاتها | لا التزام |
| MPL-2.0 | ملفات MPL المعدّلة | لا التزام |
| EPL-2.0 | شيفرة EPL وتعديلاتها (الوحدة) | لا التزام |
| AGPL-3.0 | البرنامج المدمج بأكمله | توفير المصدر إن كانت نسخة معدّلة |
مفاهيم خاطئة شائعة
- "الحقوق المتروكة تمنع الاستخدام التجاري" — لا تمنعه. يجوز بيع برمجيات GPL، وشركات كثيرة تحقق إيرادات من الدعم المدفوع والاستضافة. ما تمنعه هو سلب المتلقي حرياته.
- "مجرد النظر إلى سطر واحد من شيفرة GPL يجعل شيفرتي GPL" — تتناول التراخيص نسخ المصنَّف وتعديله وتوزيعه. واستلهام الأفكار من قراءة الشيفرة ليس في ذاته موضوعًا لحقوق النشر. لكن إذا بلغ الأمر حد النقل الفعلي فقد يُعدّ نسخًا.
- "إذا خالفت الترخيص تصبح شيفرتي GPL تلقائيًا" — نتيجة مخالفة الترخيص عادةً فقدان الحقوق والمسؤولية عن انتهاك حقوق النشر. فلا تُفرض عليك إتاحة شيفرتك، بل تختار بين الالتزام بالشروط أو إيقاف التوزيع.
- "لا يمكن أبدًا استخدام شيفرة الحقوق المتروكة في مشروع متساهل" — المقصود أن العمل المدمج يتبع شروط الحقوق المتروكة إذا دُمج ووُزّع معًا. وهناك طرق مثل الفصل في برنامج مستقل، أو ربط مكتبة ذات حقوق متروكة ضعيفة وفق شروطها. راجع أساسيات التوافق.
أسئلة تساعدك على تقرير اختيار الحقوق المتروكة
- هل لا بأس بأن تدخل نتائج تعديل شيفرتك في منتجات مغلقة؟
- أيهما أهم: الانتشار الواسع كمكتبة، أم عودة التحسينات إليك؟
- هل طريقة الاستخدام الرئيسية برنامج يُثبَّت، أم خدمة تعمل على الخادم؟
بحسب إجاباتك عن الأسئلة الثلاثة يضيّق معالج الاختيار قائمة المرشحين. وتجد مقارنة أكثر تفصيلًا في المتساهلة مقابل الحقوق المتروكة.
هذا المقال معلومات عامة وليس استشارة قانونية. استشر مختصًا في القرارات المهمة.
المصادر
- GNU — What is Copyleft? — https://www.gnu.org/licenses/copyleft.html
- GNU License FAQ — https://www.gnu.org/licenses/gpl-faq.html
- GNU GPL v3.0 full text — https://www.gnu.org/licenses/gpl-3.0.html