LGPL relink खंड को संतुष्ट करने वाली ऑब्जेक्ट फ़ाइलें प्रदान करता है?


10

एसओ के इस सवाल से , मैंने पढ़ा कि:

मालिकाना स्रोत कोड + LGPL स्रोत कोड

  • सांख्यिकीय रूप से जुड़ा हुआ:
    • या तो आपको दोनों भागों को LGPL के रूप में रिलीज़ करना होगा।
    • या सब कुछ प्रदान करें जो उपयोगकर्ता को एलजीपीएल स्रोत कोड के एक अलग संस्करण के साथ एप्लिकेशन को राहत देने की अनुमति देता है। इस मामले में अन्य आवश्यकताएं वैसी ही हैं जैसे कि इसे गतिशील रूप से जोड़ा गया था।

इसलिए ऐसा लगता है कि वस्तु की फाइलें उपलब्ध कराने के लिए एलजीपीएल को एक मालिकाना कोड एप्लिकेशन के साथ सांख्यिकीय रूप से जोड़ने के मामले में एलजीपी को संतुष्ट करने के लिए पर्याप्त है। हालांकि निष्पादन योग्य सांख्यिकीय रूप से जुड़ा हुआ है, ऑब्जेक्ट फ़ाइलों को प्रदान करने से अंतिम उपयोगकर्ता को लाइब्रेरी के विभिन्न संस्करण से लिंक करते हुए एप्लिकेशन को फिर से जोड़ने की अनुमति मिलती है।

क्या यह सही है, और यदि नहीं, तो क्यों?

जवाबों:


7

हां, आप पूरी तरह से सही हैं। आपके एप्लिकेशन के लिए ऑब्जेक्ट फ़ाइलें प्रदान करना LGPL को संतुष्ट करने के लिए पर्याप्त है क्योंकि यह उपयोगकर्ता को LGPL'd लाइब्रेरी को किसी अन्य संस्करण के साथ बदलने की अनुमति देता है यदि वे ऐसा चुनते हैं।

एफएसएफ यहां तक ​​कि उनके FAQ में भी स्पष्ट रूप से कहता है :

LGPL (किसी भी मौजूदा संस्करण: v2, v2.1 या v3) के अनुपालन के उद्देश्य से:

(1) यदि आप LGPL'd लाइब्रेरी के खिलाफ स्टेटिकली लिंक करते हैं, तो आपको अपने एप्लिकेशन को ऑब्जेक्ट (जरूरी नहीं कि स्रोत) प्रारूप में भी प्रदान करना होगा , ताकि एक उपयोगकर्ता के पास लाइब्रेरी को संशोधित करने और एप्लिकेशन को रिलेक्स करने का अवसर हो।

(2) यदि आप उपयोगकर्ता के कंप्यूटर पर पहले से मौजूद LGPL'd लाइब्रेरी के खिलाफ गतिशील रूप से लिंक करते हैं, तो आपको लाइब्रेरी के स्रोत को बताने की आवश्यकता नहीं है। दूसरी ओर, यदि आप अपने निष्पादन के साथ-साथ निष्पादन योग्य LGPL'd पुस्तकालय से अवगत कराते हैं, चाहे वह वैधानिक रूप से या गतिशील रूप से जुड़ा हो, तो आपको लाइब्रेरी के स्रोतों को भी बताना होगा, जिसमें से एक LGPL प्रदान करता है।


1
तो क्यूटी "अंदरूनी सूत्र" और कर्मचारी लगातार अन्यथा दावा क्यों कर रहे हैं? Qt का LGPL संशोधित है या कुछ और?
इवानबी

मैं क्यूटी स्थिति से परिचित नहीं हूं, लेकिन उनके लाइसेंसिंग पृष्ठों को स्किम करने से मुझे ऐसी कोई भाषा नहीं दिखती जो इस संभावना को स्पष्ट रूप से नकारती हो। मुझे लगता है कि वे केवल गतिशील लिंकिंग की सिफारिश करने के पक्ष में इसे छोड़ देते हैं (जो संभवतः अधिकांश उपयोगकर्ताओं के लिए सरल समाधान है)। मेरे द्वारा देखा जाने वाला सबसे प्रासंगिक शब्द है: "लाइब्रेरी के स्थैतिक लिंकिंग के मामले में, एप्लिकेशन अब" लाइब्रेरी का उपयोग करने वाला कार्य "नहीं हो सकता है और इस तरह LGPL के अधीन हो जाता है। इसे या तो गतिशील रूप से लिंक करने की सलाह दी जाती है, या प्रदान की जाती है। LGPL के तहत उपयोगकर्ता के लिए आवेदन स्रोत कोड। ", जो पूरी तरह से उचित है।
इक्ष्रेक

ऐसा भी लगता है कि क्यूटी के कुछ मॉड्यूल एलजीपीएल के बजाय केवल जीपीएल के तहत उपलब्ध हैं, अगर मैं इन पृष्ठों को सही से पढ़ रहा हूं, तो यह संभव है कि यदि उन्होंने वस्तुओं के विकल्प के साथ स्थैतिक लिंकिंग का उल्लेख किया है तो उन्हें भी निपटना होगा "जब तक आप X, Y, या Z का उपयोग नहीं करते हैं" और समान उबाऊ स्पर्शरेखा विवरण।
इक्ष्रेक

1
एक आदर्श दुनिया में, डायनेमिक लिंकिंग महान हो सकती है, लेकिन इस दुनिया में और जब Qt से निपटना हो, तो डायनेमिक लिंकिंग नरक है। 60+ मेगाबाइट की dlls की तरह, जिनमें से कई परिनियोजन उपकरण नहीं लाते हैं और निर्भरता वॉकर का पता नहीं लगाते हैं। अपने स्वयं के LGPL FAQ में मैं The LGPL allows you to keep the source code of your application private as long as it is “work that uses” the library. Dynamic linking is usually recommended here.अनिवार्य होने के बारे में कुछ नहीं देखता हूं ।
इवान बीबी

4
उनके एफएक्यू को पढ़ते हुए, ऐसा लगता है कि वे सिर्फ (झूठा) दावा करने से कतराते हैं कि एलजीपीएल मालिकाना अनुप्रयोगों को क्यूटी से सांख्यिकीय रूप से जोड़ने की अनुमति नहीं देता है, जबकि इसे लागू करने में बहुत मेहनती है।
इवानबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.