الأذونات والشروط والقيود في لمحة
الشروط
- إشعار حقوق النشر والترخيصيجب تضمين نسخة من الترخيص وإشعار حقوق النشر عند التوزيع.
- بيان التغييراتإذا عدّلت الأصل فيجب الإشارة إلى ذلك.
- الإفصاح عن المصدريجب توفير الشيفرة المصدرية عند التوزيع.
- الترخيص نفسهيجب استخدام الترخيص نفسه (أو ترخيص متوافق) عند توزيع النسخ المعدّلة والأعمال المشتقة.
القيود
- تحديد المسؤوليةينص صراحةً على عدم تحمّل المسؤولية عن الأضرار.
- بلا ضمانينص صراحةً على عدم تقديم أي ضمان.
مصدر تصنيف الأذونات والشروط والقيود: بيانات choosealicense.com (GitHub، ترخيص MIT).
ما هذا الترخيص؟
أصدرت مؤسسة البرمجيات الحرة (FSF) رخصة GPL (GNU General Public License) 3.0 في 29 يونيو 2007. جوهرها مبدأ الحقوق المتروكة (copyleft): يحق لأي شخص الاستخدام والدراسة والتعديل والتوزيع بحرية، لكن عند التوزيع يجب ضمان الحريات نفسها للمتلقي. فإذا وزّعت برنامجًا يتضمن هذه الشيفرة أو يندمج معها فيجب تقديم ذلك البرنامج بأكمله بترخيص GPL مع الشيفرة المصدرية المقابلة. ويستخدم GPL-3.0-or-later كلٌّ من GNU Bash وGIMP وGNU Emacs وغيرها.
ما الذي تغيّر عن GPL-2.0؟
- منح صريح للبراءات (المادة 11): يمنح المساهم حق استخدام البراءات اللازمة لمساهمته.
- معلومات التثبيت (Installation Information): إذا وزّعت برمجيات GPL-3.0 مضمّنة في 'منتج مستخدم (User Product)' كالأجهزة المنزلية، فيجب أيضًا تقديم المعلومات اللازمة لتثبيت البرمجيات المعدّلة على ذلك الجهاز (مثل مفاتيح التوقيع) (المادة 6). ويُسمّى ذلك عادةً 'منع التيفوة (tivoization)'.
- مهلة تصحيح المخالفة (المادة 8): عند المخالفة الأولى، إذا صحّحتها خلال 30 يومًا من تلقي إشعار صاحب الحقوق تُستعاد حقوقك. أما في GPL-2.0 فكانت الحقوق تسقط فور المخالفة.
- توسيع التوافق: يمكنه استيعاب شيفرة Apache-2.0، ويمكن دمجه مع AGPL-3.0 (المادة 13).
ما يجب الالتزام به عند التوزيع
- قدّم المصدر المقابل كاملًا (بما في ذلك سكربتات البناء)، أو قدّمه بإحدى طرق المادة 6 كالعرض المكتوب.
- أبقِ على إشعارات حقوق النشر والترخيص، وبيّن حقيقة التعديل وتاريخه (المادة 5).
- لا يجوز فرض شروط إضافية تقيّد الحقوق التي منحها GPL للمتلقي (مثل عقد يمنع إعادة التوزيع).
مفاهيم خاطئة شائعة
- "استخدام شيفرة GPL يُلزم بالنشر في كل الأحوال" — ينشأ التزام النشر عند التوزيع (conveying). فإذا استخدمتها داخل الشركة فقط أو شغّلتها على الخادم فقط فلا ينشأ التزام توفير المصدر في GPL-3.0. ولشمول الاستخدام عبر الشبكة يلزم AGPL-3.0.
- "لا يجوز بيع برمجيات GPL" — يجوز بيعها. لكن لا يمكنك منع المتلقي من إعادة توزيعها.
- "برنامجي الذي يعمل فوق برنامج GPL يصبح GPL أيضًا" — إذا كان يعمل كبرنامج مستقل أو يتواصل بطرق قياسية فيُعدّ عادةً 'تجميعًا'. والحكم على الدمج يتباين تفسيره بحسب طريقة الربط وطريقة تبادل البيانات.
- "GPL-3.0 متوافق مع GPL-2.0" — إذا كان GPL-2.0 بصيغة only لا 'or later' فهما غير متوافقين (دليل only مقابل or-later).
طريقة التطبيق
ضع النص الأصلي كما هو في LICENSE (أو في COPYING وفق عرف GNU)، وأضف إشعار GNU الرسمي في أعلى كل ملف مصدري. ويُحدَّد خيار 'or later' عبر نص الإشعار. ومعرّف SPDX هو GPL-3.0-only أو GPL-3.0-or-later (أما GPL-3.0 المجرد فمعرّف مُهمَل في SPDX).
متى يناسب؟
يناسب التطبيقات والأدوات والمشاريع المجتمعية التي تريد أن تعود التحسينات المبنية على شيفرتك إلى الجميع بدل أن تتسرب إلى منتجات مغلقة. وإذا كانت مكتبة فادرس أيضًا LGPL-3.0 لتتمكن التطبيقات المغلقة من استخدامها.
هل يمكن دمج شيفرة GPL-3.0 في مشروع آخر؟
حكم عام على أخذ شيفرة منشورة بهذا الترخيص ودمجها وتوزيعها ضمن مشروع مرخّص بأحد التراخيص أدناه. اطّلع على تركيبات أخرى في مدقق التوافق ←
| المشروع المراد الدمج فيه | الحكم | ملاحظة |
|---|---|---|
| برمجيات مغلقة (تجارية) | غير ممكن | يجب نشر البرنامج المدمج الموزَّع بأكمله بترخيص GNU نفسه مع المصدر، لذا لا يمكن إدراجه مع الإبقاء على ترخيص المشروع. |
| MIT | غير ممكن | يجب نشر البرنامج المدمج الموزَّع بأكمله بترخيص GNU نفسه مع المصدر، لذا لا يمكن إدراجه مع الإبقاء على ترخيص المشروع. |
| Apache-2.0 | غير ممكن | يجب نشر البرنامج المدمج الموزَّع بأكمله بترخيص GNU نفسه مع المصدر، لذا لا يمكن إدراجه مع الإبقاء على ترخيص المشروع. |
| MPL-2.0 | غير ممكن | يجب نشر البرنامج المدمج الموزَّع بأكمله بترخيص GNU نفسه مع المصدر، لذا لا يمكن إدراجه مع الإبقاء على ترخيص المشروع. |
| LGPL-2.1 | ممكن بشروط | يجب توزيع العمل المدمج وفق شروط GPL-3.0. |
| LGPL-3.0 | ممكن بشروط | يجب توزيع العمل المدمج وفق شروط GPL-3.0. |
| GPL-2.0 | غير ممكن | شيفرة الإصدار 3.0 لا تتوافق مع شروط GPL-2.0 (only)، فلا يمكن إدراجها. |
| AGPL-3.0 | ممكن | يسمح GPL-3.0 وAGPL-3.0 بالدمج عبر المادة 13 في كل منهما. ويبقى التزام توفير المصدر عبر الشبكة لجزء AGPL قائمًا في العمل المدمج. |
محتوى هذا الموقع معلومات عامة وليس استشارة قانونية. استشر محاميًا أو مختصًا قبل اتخاذ قرارات فعلية بشأن التوزيع أو العقود أو النزاعات.