قام مؤلف Libopenaptx بتغيير الترخيص لمنع استعارة التعليمات البرمجية من خلال مشاريع Freedesktop

قام Pali Rohár بتغيير ترخيص مشروع libopenaptx، الذي يوفر تنفيذ برنامج الترميز aptX (تقنية معالجة الصوت) المستخدم في ملف تعريف A2DP Bluetooth. تتضمن الحزمة مكتبة libopenaptx.so وأدوات مساعدة لتشفير الصوت وفك تشفيره. تم تغيير الترخيص من LGPLv2.1 إلى GPLv3+، مما سيجعل من المستحيل استخدام كود libopenaptx في المشاريع المقدمة فقط بموجب ترخيص GPLv2 دون إعادة ترخيص الكود المرتبط بالمكتبة إلى GPLv3. في هذه الحالة، سيتم تحقيق توافق الترخيص مع المشاريع بموجب ترخيص Apache 2.0.

كان تغيير الترخيص بمثابة استجابة للصراع مع مطوري مشروع Freedesktop وشركة Collabora، الذين، وفقًا لمنشئ Libopenaptx، انتهكوا اتفاقية الترخيص وأساءوا استخدام قواعد السلوك المعتمدة. على وجه الخصوص، وفقًا لبالي، قام مطورو Freedesktop وCollabora بنقل الكود الخاص به إلى PulseAudio دون تقديم معلومات حول المؤلف.

كدليل، أشار مؤلف Libopenaptx إلى وظيفة decode_buffer التي كتبها، والتي تتطابق فيها حتى التعليقات، ولكن وفقًا لبالي، ذكر مطورو Freedesktop أن هذا هو الكود الخاص بهم. ردًا على الغضب ومحاولة مناقشة حقيقة أن هذا الإجراء كان انتهاكًا لاتفاقية الترخيص، قام مطورو Freedesktop ببساطة بحذف الرسالة المتعلقة بالمشكلة بحجة أن هذه المناقشة تنتهك قواعد سلوك المشروع.

إدراكًا لاستحالة حل المشكلة سلميًا، قام مؤلف Libopenaptx بتغيير الترخيص إلى GPLv3 وأضاف ملاحظة تحظر استخدام الكود في مشاريع Freedesktop. دخل تغيير الترخيص حيز التنفيذ بدءًا من الإصدار libopenaptx 0.2.1، والذي تمت إضافته بالفعل بواسطة مطوري Freedesktop إلى القائمة السوداء التي تحظر استخدام PipeWire في التعليمات البرمجية بسبب عدم توافق الترخيص.

قال دانييل ستون، عضو مجلس الإدارة السابق لمؤسسة X.Org وأحد المطورين الرئيسيين لـ Wayland وPipeWire، والذي يشغل منصب رئيس مشاريع الرسومات في Collabora، إن تغيير ترخيص libopenaptx مشكوك فيه من الناحية القانونية. Libopenaptx ليس تطويرًا شخصيًا لـ Pali Rohar، ولكنه مجرد فرع من التعليمات البرمجية من مشروع FFmpeg، والذي تم توفيره في الأصل بموجب ترخيص LGPLv2.1 ولا يمكن لـ Pali Rohar تغيير الترخيص من جانب واحد لأجزاء من التعليمات البرمجية التي لا تنتمي إلى له، ناهيك عن فرض قيود إضافية على نطاق الاستخدام.

تتطلب إعادة الترخيص موافقة صريحة من المؤلفين الأصليين للكود الذي تم إنشاء الانقسام منه. وفقًا لشروط LGPL، لا يمكن تحديث الترخيص دون الحصول على موافقة من مؤلفين آخرين إلا لإصدار أحدث من LGPL، أي. ما يصل إلى LGPL v3.0، ولكن ليس ما يصل إلى GPLv3، والذي يتضمن قيودًا إضافية. رد Pali Rohar بأنه لم يفرض قيودًا إضافية، فالمشروع الآن مزود بترخيص GPLv3 خالص، وما ذكر Freedesktop وCollabora سوى توضيح في ملف README بأن المشاريع التي تنتهك GPLv3 لا يمكنها استخدام الكود

أما الادعاء بأن Freedesktop انتهك ترخيص Libopenaptx، بحسب دانييل ستون، فهو غير صحيح، حيث تم نقل الكود من قبل المطور إلى مشروع PulseAudio مع قبول شروط اتفاقية الترخيص ومحاولات أخرى من قبل مطور Libopenaptx لإلغاء الحق المنقول إلى رمز غير صالح. إن العلاقة بين الامتثال لقواعد السلوك وانتهاك الترخيص، وكذلك الادعاء بأن Collabora انتهكت الترخيص، والذي لا يرتبط بأي حال من الأحوال بالإجراءات التي أدت إلى حظر المشارك، لا أساس لها أيضًا.

صرح دانييل ستون بأنه هو من قام بحذف تلك المناقشة وقام بحظر مطور Libopenaptx، لكنه فعل ذلك بمبادرة منه في وقت فراغه، وليس كموظف في Collabora. تم تنفيذ الإزالة بعد حدوث انتهاكات منهجية لقواعد السلوك التي وافق عليها جميع المشاركين في المناقشات. إن مساواة الإزالة بسبب السلوك بانتهاك الترخيص أمر سخيف، لأن التراخيص المفتوحة لا تنظم الحق في التطوير فقط على منصات غير خاضعة للإشراف ولا تتطلب وصولاً غير محدود إلى جميع منصات التطوير.

المصدر: opennet.ru

إضافة تعليق