رخصة جنو العمومية الصغرى (GNU Lesser General Public License) يُشار إليها بالاختصار LGPL، هي رخصة للبرمجيات الحرة نشرتها مؤسسة البرمجيات الحرة (FSF). تتيح هذه الرخصة للمطورين والشركات استخدام ودمج برمجيات تم إصدارها تحت بنود هذه الرخصة في برمجياتهم (حتى وإن كانت احتكارية) بدون الحاجة إلى نشر النص المصدري لمكونات برمجيتهم (كما في رخص الحقوق المتروكة المتشددة). كل تتطلبه هذه الرخصة أن تكون البرمجيات الخاضعة لبنودها قابلة للتعديل من المستخدم (النهائي) عبر إتاحة النص المصدري. تستخدم الشيفرات المرخصة تحت بنود هذه الرخصة في البرمجيات الاحتكارية عادةً على شكل مكتبات مشتركة (shared library)، وبالتالي تُفصَل المكونات الاحتكارية في البرمجية عن تلك المرخصة تحت بنود هذه الرخصة بشكل جلي وواضح. تُستخدم هذه الرخصة بالدرجة الأولى لمكتبات البرمجيات، بالرغم من ذلك فهي تستخدم أيضاً في بعض التطبيقات القائمة بحد ذاتها (المستقلة).
صُممت رخصة جنو العمومية الصغرى لتكون وسطاً بين الرخص ذات الحقوق المتروكة مثل رخصة جنو العمومية وتلك المتساهلة مثل رخصة بي.إس.دي و إم أي تي. تشير كلمة "صغرى (Lesser)" في اسم الرخصة إلى أنها لا تضمن للمستخدم (النهائي) الحرية المطلقة في استخدام البرمجية، فهي تضمن له فقط حرية تعديل المكونات الحرة المرخصة تحت بنودها، ولكنها لا تؤثر على المكونات الاحتكارية الأخرى، وبالتالي لا تُطبَق بنودها على تلك المكونات.
التاريخ
كان يسمى هذا الترخيص بالأصل برخصة جنو العمومية للمكتبات ونُشِرَ لأول مرَّة في عام 1991، واعتُمِدَ الإصدار الثاني من الترخيص لتحقيق التكامل مع الإصدار الثاني من رخصة جنو العمومية. عُدِلَ الإصدار 2.1 بشكل بسيط ونُشِرَ في عام 1999، حيث أعيد تسمية الرخصة إلى "رخصة جنو العمومية الصغرى" لتوضيح موقف مؤسسة البرمجيات الحرة أنَّه لا يجب على جميع المكتبات البرمجية استخدام هذا الترخيص. نُشِرَ الإصدار الثالث من الرخصة في عام 2007 ليضيف مجموعة من البنود (الأذونات) التي طُبِقَت على الإصدار الثالث لرخصة جنو العمومية (أي لتحقيق بعض التكامل مجدداً).
الاختلافات عن رخصة جنو العمومية
الاختلاف الرئيسي بين رخصة جنو العمومية ورخصة جنو العمومية الصغرى أنَّ الأخيرة تتيح بربط العمل - المرخص بها - مع (في حالتنا مكتبة برمجية) برنامج غير مُرخَص بهذه الرخصة، بغض النظر إن كان برنامجاً حراً أو احتكارياً.[1] البرنامج الغير مرخص برخصة جنو العمومية الصغرى يُمكِن أن يوزَّع تحت أي بنود إن لم يكن عملاً مشتقاً. فإن كان كذلك، يجب على البرنامج أن يسمح بـ "إجراء تعديلات لاستخدام العميل المخصص وإجراء هندسة عكسية لتنقيح هذه التعديلات". كون العمل الذي يستخدم برنامج - مرخَص تحت رخصة جنو العمومية الصغرى - مشتقاً أم لا هو مسألة قانونية. لا تُعتبَر الملفات التنفيذية المستقلة التي تُربَط ديناميكياً بمكتبة عبر الوسيط so. أو dll. أو غيرها من الوسائط عملاً مشتقاً وهذا مذكور في بنود الرخصة. فهي تندرج تحت مسمى "عمل يستخدم مكتبة - برمجية -". تنص الفقرة الخامسة من الإصدار 2.1 على أنَّ:
يسمى البرنامج الذي لا يحتوي على أي مشتق من أي جزء من المكتبة ولكنه مصمم للعمل مع المكتبة من خلال تجميعها أو ربطها به بـ "العمل الذي يستخدم مكتبة". لا يعتبر مثل هذا العمل عملاً مشتقاً من المكتبة، وبالتالي يخرج من إطار هذا الترخيص (لا يطبق عليه بنود الرخصة).
وبالتالي، إن كان "عمل يستخدم مكتبة"، فيجب أن يكون من الممكن ربط البرنامج بإصدار أحدث من البرنامج المُرخَص بهذه الرخصة. الطريقة الأكثر شيوعاً واستخداماً لإجراء ذلك هي استخدام "آلية المكتبة المشتركة المناسبة للربط (a suitable shared library mechanism for linking)". كبديل، يُسمح باستخدام مكتبة مربوط سكونياً (statically linked library) إما إن كان النص المصدري أو ملف الكائنات القابلة للارتباط (linkable object files) متوافراً.[2]
التوافقية
إحدى مزايا رخصة جنو العمومية الصغرى هي السماح بإعادة ترخيص أي برمجية برخصة جنو العمومية وذلك مذكور في بنود الرخصة (طالع القسم الثالث من نص الإصدار 2.1 من الرخصة، والقسم الثاني الخيار b من نص الإصدار الثالث). تتيح هذه الميزة إعادة الاستخدام المباشر لشيفرة برمجية تخضع لبنود رخصة جنو العمومية الصغرى في المكتبات والتطبيقات المرخصة بموجب رخصة جنو العمومية.
الإصدار الثالث من رخصة جنو العمومية الصغرى غير متوافق مع الإصدار الثاني من رخصة جنو العمومية. مع ذلك، فإن الأعمال التي تستخدم هذه الأخيرة (رخصة جنو العمومية) وحصلت على صلاحية استخدام إصدار أحدث من الرخصة فهي متوافقة:[3] العمل الذي تم إصداره تحت رخصة جنو العمومية الإصدار الثاني "أو أي إصدار آخر لاحق " يمكن دمجه مع شيفرة من مكتبة مرخصة بموجب رخصة جنو العمومية الصغرى الإصدار الثالث، بحيث يخضع العمل المشترك ككل - في النهاية - تحت بنود رخصة جنو العمومية الإصدار الثالث.[4]
رخصة جنو العمومية الصغرى للمكتبات
أعطى الاسم السابق للرخصة "رخصة جنو العمومية للمكتبات" انطباع بان مكتبات البرامج الموصى بها من قبل مؤسسة البرمجيات الحرة تستخدم رخصة جنو العمومية الصغرى، بينما البرامج تستخدم رخصة جنو العمومية. في فبراير عام 1999، كتب مدير مشروع جنو ريتشارد ستولمان (Richard Stallman) مقالة بعنوان "لماذا لا يجب عليك استخدام رخصة جنو العمومية الصغرى لمكتبك القادمة"، موضحاً فيها أنه لم يتم إهمال مكتبة جنو العمومية الصغرى، ولكن هذا لا يعني أنه يجب بالضرورة استخدام هذه الرخصة مع جميع المكتبات:
اختيار أفضل ترخيص لمكتبة معينة هو مسألة استراتيجية... استخدام رخصة جنو العمومية العادية للمكتبات يعطي لمطورين البرمجيات الحرة ميزة على مطورين البرمجيات الاحتكارية: حيث باستخدام هذه الرخصة يمكن صنع مكتبة يتمكن مطورين البرمجيات الحرة من استخدامها، بينما لا يتمكن مطورين البرمجيات الاحتكارية من ذلك. عندما تكون ميزات المكتبة الحرة متوفرة بسهولة للبرمجيات الاحتكارية عبر مكتبات أخرى بديلة... فعندها لا تقدم المكتبة أي فائدة للبرمجيات الحرة، وبالتالي من الأفضل استخدام رخصة جنو العمومية لهذه المكتبة.[1]
في بعض الأحيان، يؤيد ستالمان ومؤسسة البرمجيات الحرة استخدام تراخيص حتى أقل تقييداً من رخصة جنو العمومية الصغرى بناءً على أنَّ تلك مسألة استراتيجية. ومن الأمثلة البارزة على ذلك تأييد سالتمان استخدام مشروع Vorbis رخصة من نمط رخصة BSD لاستخدامها في مكتباتهم.[5]
مراجع
- مقالة ريتشارد ستالمان: لمَ لا يجب عليك استخدام رخصة جنو العمومية الصغرى لمكتبك القادمة على موقع مؤسسة البرمجيات الحرة الرسمي. نسخة محفوظة 03 أكتوبر 2009 على موقع واي باك مشين.
- نص رخصة جنو العمومية الصغرى القسم الرابع. نسخة محفوظة 04 أبريل 2018 على موقع واي باك مشين.
- رخصة جنو العمومية الصغرى. نسخة محفوظة 15 مارس 2018 على موقع واي باك مشين.
- قسم الأسئلة الشائعة حول رخص جنو في موقع الرسمي لمؤسسة البرمجيات الحرة. نسخة محفوظة 13 مارس 2018 على موقع واي باك مشين.
- "LWN.net: RMS on the Ogg Vorbis license". lwn.net. مؤرشف من الأصل في 11 نوفمبر 201816 مارس 2018.