मैं पाइथन में एक जीपीएल-लाइसेंसीकृत एप्लिकेशन विकसित कर रहा हूं और यह जानने की जरूरत है कि जीपीएल मेरे कार्यक्रम को मालिकाना प्लग-इन का उपयोग करने की अनुमति देता है या नहीं।जीपीएल कार्यक्रमों के लिए मालिकाना प्लग-इन: व्याख्या की गई भाषाओं के बारे में क्या?
एक कार्यक्रम GPL के अंतर्गत जारी प्लग इन, एक प्लग-इन के लाइसेंस के लिए आवश्यकताएँ हैं क्या उपयोग करता है: इस मुद्दे पर what the FSF has to say है?
यह इस बात पर निर्भर करता है कि प्रोग्राम अपने प्लग-इन को कैसे आमंत्रित करता है। यदि प्रोग्राम प्लग-इन का आह्वान करने के लिए कांटा और निष्पादन का उपयोग करता है, तो प्लग-इन अलग-अलग प्रोग्राम होते हैं, इसलिए मुख्य कार्यक्रम के लिए लाइसेंस उनके लिए कोई आवश्यकता नहीं करता है।
यदि प्रोग्राम गतिशील रूप से प्लग-इन लिंक करता है, और वे एक-दूसरे के लिए फ़ंक्शन कॉल करते हैं और डेटा संरचनाओं को साझा करते हैं, तो हमें विश्वास है कि वे एक एकल प्रोग्राम बनाते हैं, जिसे मुख्य कार्यक्रम और प्लग- इन। इसका मतलब है कि प्लग-इन जीपीएल या जीपीएल-संगत मुफ्त सॉफ्टवेयर लाइसेंस के तहत जारी किया जाना चाहिए, और जीपीएल की शर्तों का पालन किया जाना चाहिए जब उन प्लग-इन वितरित किए जाते हैं।
यदि प्रोग्राम गतिशील रूप से प्लग-इन लिंक करता है, लेकिन उनके बीच संचार कुछ विकल्पों के साथ प्लग-इन के 'मुख्य' फ़ंक्शन को आमंत्रित करने और इसे वापस करने की प्रतीक्षा करने के लिए सीमित है, यह एक सीमा रेखा है। एक अजगर/पर्ल/रूबी प्लगइन,
import
याexecfile
के माध्यम से भरी हुई हो जाता है जो के बारे में क्या:
कांटा/कार्यकारी और गतिशील जोड़ने के बीच भेद, कृत्रिम की तरह होने के अलावा, अधिक व्याख्या की भाषा में नहीं ले जाया करता है?
(संपादित करें: मैं समझता हूं कि कांटा/निष्पादन और गतिशील लिंकिंग के बीच भेद क्यों है, लेकिन ऐसा लगता है कि जीपीएल का पालन करना चाहता था लेकिन "भावना" के खिलाफ जाना - मैं नहीं कर सकता - बस इसका उपयोग कर सकता था बहुत कुछ करने के लिए कांटा/निष्पादन और इंटरप्रोसेस संचार)।
सबसे अच्छा समाधान मालिकाना प्लगइन के उपयोग की स्पष्ट अनुमति देने के लिए मेरे लाइसेंस में अपवाद जोड़ना होगा, लेकिन मैं ऐसा करने में असमर्थ हूं क्योंकि मैं Qt/PyQt का उपयोग कर रहा हूं जो जीपीएल है।
मैं इस प्रश्न को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह लाइसेंसिंग और कानूनी मुद्दों के बारे में है, प्रोग्रामिंग या सॉफ्टवेयर विकास नहीं। [यहां देखें] (http://meta.stackoverflow.com/a/274964/1402846) विवरण के लिए, और [सहायता/विषय] अधिक के लिए। – Pang