سؤال

أنا أستخدم إطار ترحيل QT/MFC للبدء في تحويل بعض رمز واجهة المستخدم من MFC إلى QT. أتساءل عما إذا كان عليّ أن أبقي رمز ترحيل QT في مكتبة منفصلة أو إذا كان من الممكن تضمينه في مشروعي. من أجل القيام بذلك ، سأضطر إلى تعديله قليلاً (إضافة #include "stdafx.h" على سبيل المثال وتغيير بعض المسارات الأخرى). يقرأ استثناء QT LGPL ، والذي يستخدم أيضًا في إطار الترحيل::

Nokia QT LGPL استثناء الإصدار 1.0

كاستثناء خاص لإصدار GNU Lesser General Public License 2.1 ، يجوز لشكل رمز الكائن الخاص بـ "العمل الذي يستخدم المكتبة" دمج مواد من ملف الرأس الذي يعد جزءًا من المكتبة. يمكنك توزيع رمز الكائن هذا ضمن شروط اختيارك ، شريطة ألا تتجاوز المادة المدمجة (1) أكثر من 5 ٪ من حجم المكتبة ؛ و (2) يقتصر على المعلمات العددية ، وتخطيطات هيكل البيانات ، والملحقات ، وحدات الماكرو ، والوظائف المضمنة والقوالب.

هل سأشغل الترخيص أم أنني ما زلت في اللون الأخضر؟

هل كانت مفيدة؟

المحلول

إما أن أسيء فهم ما تريد القيام به ، أو من الواضح أنك لا يُسمح لك بالقيام بذلك.

أنت تقول أنك تريد "تضمين رمز QT في مشروعي" ، مما يعني أنك تريد ربط المكتبة بأكملها (أو جميع القطع التي تستخدمها) في الوحدة النمطية الخاصة بك ، بدلاً من الاحتفاظ بها في DLL منفصلة.

لكن الشروط تقول أنه يمكنك "دمج مواد من أ الملف الاساسي"(تركيزي) ليس المكتبة الرئيسية.

ويقولون "شريطة أن لا تتجاوز المادة المدمجة (1) أكثر من 5 ٪ من الحجم الإجمالي للمكتبة" ، ليس المكتبة بأكملها.

ويقولون "يقتصر على المعلمات العددية ، وتخطيطات هيكل البيانات ، والملحقات ، وحدات الماكرو ، والوظائف المضمنة والقوالب" ، ليس أي من الكود الرئيسي للمكتبة.

يبدو لي واضحًا بشكل صارخ ، لكن هل أسيء فهم شيء ما؟

نصائح أخرى

يجب بناء أي مكون من حلول QT كـ DLL إذا كنت ترغب في استخدامه ضمن شروط LGPL. لا يهم ما إذا كنت تعدله أم لا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top