GPL और LGPL खुले स्रोत लाइसेंस प्रतिबंध [बंद]


108

मुझे ओपन सोर्स के उपयोग की अनुमति को समझने में परेशानी हो रही है। मैंने कहीं पढ़ा है कि GPL या LGPL उस सॉफ्टवेयर को लागू करता है जो GPL सॉफ्टवेयर का उपयोग करता है, उसे भी ओपन-सोर्स जारी किया जाना चाहिए। मैं एक एप्लिकेशन बनाना चाहता हूं जो कुछ ओपन-सोर्स इमेज मान्यता लाइब्रेरी का उपयोग करता है। क्या मैं इस एप्लिकेशन को बेच सकता हूं या क्या इसे खुला स्रोत होना चाहिए?

धन्यवाद!

जवाबों:


80

LGPL आपको अपने आवेदन के लिए स्रोत कोड जारी किए बिना अपने एप्लिकेशन के साथ ओपन सोर्स सॉफ़्टवेयर का उपयोग करने और वितरित करने की अनुमति देता है।

यदि आप अपने आवेदन के साथ जीपीएल लाइसेंस प्राप्त ओपन सोर्स सॉफ्टवेयर का उपयोग करना और वितरित करना चाहते हैं, तो जीपीएल आपको अपने आवेदन के स्रोत कोड को जारी करने की आवश्यकता है। दूसरे शब्दों में, आपके आवेदन को GPL के तहत लाइसेंस प्राप्त होना चाहिए।


14
ध्यान दें LGPL बताता है कि प्रयुक्त पुस्तकालय बदली जानी चाहिए। इस प्रकार स्थैतिक लिंकिंग संभव नहीं है।
डायकम

1
तो एक "डीएलएल" (डायनेमिक लिंक लाइब्रेरी) कानूनी, सही होगा?
रॉबर्ट हार्वे

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

49
  • जीपीएल

    अन्य डेवलपर्स कोड को उधार ले सकते हैं और संशोधित कर सकते हैं और इसे अपनी परियोजना के हिस्से के रूप में फिर से वितरित कर सकते हैं, केवल तभी जब उनकी पूरी परियोजना को जीपीएल के तहत लाइसेंस प्राप्त हो।

    यह कोड को मालिकाना सॉफ्टवेयर में उपयोग होने से रोकता है।

  • LGPL

    अन्य डेवलपर्स कोड को उधार ले सकते हैं और संशोधित कर सकते हैं और इसे अपनी परियोजना के हिस्से के रूप में फिर से वितरित कर सकते हैं, बशर्ते कि एलजीपीएल के तहत इस्तेमाल किया गया हिस्सा एलजीपीएल के तहत फिर से लाइसेंस प्राप्त हो। परियोजना के अन्य भागों में अनुमति है अन्य लाइसेंस हैं।

    यह कोड को अन्यथा स्वामित्व सॉफ़्टवेयर में उपयोग करने की अनुमति देता है।

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

ध्यान दें कि LGPL GPL के साथ संगत है: आप कोड को GPL में "अपग्रेड" करने का विकल्प चुन सकते हैं और इसे पूर्णतया GPL लाइसेंस प्राप्त परियोजना में शामिल कर सकते हैं जैसा कि आप चाहें तो मेरी पहली बुलेट पॉइंट में सेट कर सकते हैं। हालांकि आप दूसरे तरीके से नहीं जा सकते हैं और जीपीएल लाइसेंसधारी कोड को एलजीपीएल के रूप में फिर से लाइसेंस दे सकते हैं।


30

IANAL, लेकिन अवधारणाएं काफी सीधी हैं।

सबसे पहले, आपको और आपके वकील को जीपीएल और एलजीपीएल लाइसेंस पढ़ना चाहिए । दूसरा, आपको GPL FAQ पढ़ना चाहिए । जहाँ तक मैं समझता हूँ, आप इस तरह से GPL / LGPL पुस्तकालयों का उपयोग करने के बारे में सोच सकते हैं:

  • यदि आप एक GPL या LGPL लाइब्रेरी के साथ गतिशील या सांख्यिकीय रूप से लिंक करते हैं, तो आपने एक व्युत्पन्न कार्य बनाया है।
  • यदि आप एक लाइब्रेरी का उपयोग करते हैं जो कि जीपीएल है, और आप उस लाइब्रेरी के साथ लिंक करते हैं, तो आपके सॉफ़्टवेयर को एक संगत लाइसेंस के साथ जारी किया जाना चाहिए
  • यदि आप एक लाइब्रेरी का उपयोग करते हैं जो कि LGPL है, और आप गतिशील रूप से उस लाइब्रेरी के साथ लिंक करते हैं, तो आपके सॉफ़्टवेयर को एक संगत लाइसेंस के साथ जारी नहीं करना पड़ता है, लेकिन आपको अभी भी LGPL का अनुपालन करना होगा।
  • यदि आप एक पुस्तकालय का उपयोग करते हैं जो कि एलजीपीएल है, और आप उस पुस्तकालय के साथ सांख्यिकीय रूप से लिंक करते हैं, तो आपके सॉफ़्टवेयर को एक संगत लाइसेंस के साथ जारी किया जाना चाहिए।
  • जीपीएल / एलजीपीएल लाइसेंस का अर्थ है "फ्री" जैसा कि "फ्री स्पीच", "फ्री बीयर" नहीं । आप एक व्युत्पन्न कार्य बना सकते हैं और इसे बड़ी मात्रा में पैसे के लिए बेच सकते हैं, लेकिन आपको जीपीएल / एलजीपीएल का अनुपालन करना होगा।

29
"सबसे पहले, आपको और आपके वकील को जीपीएल और एलजीपीएल लाइसेंस पढ़ना चाहिए।" - मुझे अभी मार डालो
d512

10
"सरल"। तो वास्तव में सीधा है कि आपको एक वकील को संलग्न करने की आवश्यकता है, यह देखने के लिए कि क्या आप थोड़ा सा कोड का उपयोग कर सकते हैं । यही कारण है कि डेवलपर्स को कभी भी जीपीएल लाइसेंस का उपयोग नहीं करना चाहिए।
वोमबल

9

यदि आप अपने आवेदन में GPL'd कोड के खिलाफ कट और पेस्ट या लिंक करते हैं, तो आपके आवेदन को GPL के तहत लाइसेंस प्राप्त होना चाहिए और फिर आपको कोड जारी करने की आवश्यकता होगी।

हालांकि, आप अभी भी अपने आवेदन और एफैक बेच सकते हैं, एकमात्र बाधा यह है कि आप अपने ग्राहकों को सोर्सकोड जारी करते हैं।

यदि आप जिस लाइब्रेरी के खिलाफ लिंक करते हैं, वह लेसर ग्नू पब्लिक लाइसेंस उर्फ ​​एलजीपीएल है, तो आपको अपने स्वयं के एप्लिकेशन कोड को जारी करने की आवश्यकता नहीं है, लेकिन यदि आपने lgpl'd कोड को संशोधित किया है, तो आपको सभी संशोधनों को जारी करने की आवश्यकता है।


"अपने ग्राहकों को सोर्सकोड जारी करें" - वास्तव में? केवल उनके लिए? मैंने सोचा कि src को सार्वजनिक रूप से उपलब्ध कराना है?
रिलेस्कॉप

मैं नहीं देशी अंग्रेजी वक्ता और न ही वकील। gnu.org/licenses/gpl-faq.html#WhatDoesWrittenOfferV अमान्य बताता है कि कोई भी व्यक्ति उन सभी को स्रोत प्रदान करता है जिनके पास बाइनरी तक पहुंच है। यह नहीं कहता है कि कोई भी स्रोत का अनुरोध कर सकता है, लेकिन कोई भी जो बाइनरी के साथ प्रदान किया गया है, या तो सीधे आपसे या आपके प्रत्यक्ष ग्राहकों द्वारा।
रसजनी

यह सीधे ग्राहकों को बताता है ... "लेकिन यदि आप किसी तरह जनता के लिए संशोधित संस्करण जारी करते हैं, तो जीपीएल को आपको संशोधित स्रोत कोड को जीपीएल के तहत कार्यक्रम के उपयोगकर्ताओं के लिए उपलब्ध कराने की आवश्यकता होती है।"
रिलेस्कोप

7

जीपीएल आपको सॉफ्टवेयर बेचने से मना नहीं करता है। हालाँकि आपको सॉफ़्टवेयर को स्रोत उपलब्ध कराने होंगे।

उपयोग का प्रश्न थोड़ा अधिक जटिल है। जीएनयू / लिनक्स जीपीएल के तहत जारी किया गया है। आपके सॉफ्टवेयर के लाइसेंस की परवाह किए बिना लिनक्स के तहत चलने वाले सॉफ़्टवेयर को लिखने के लिए आपको कुछ भी करने से मना करता है। हालाँकि, आप अपने सॉफ़्टवेयर के साथ लिनक्स वितरित नहीं कर सकते। यह अक्सर पुस्तकालयों के साथ एक समस्या है जो एक कार्यक्रम का हिस्सा बनने की आवश्यकता है। यही LGPL लाइसेंस के लिए है। आप जीसीसी के साथ लिखने वाले एसी प्रोग्राम को संकलित कर सकते हैं (इसलिए एलजीपी से लाइसेंस प्राप्त रनटाइम रूटीन पुस्तकालयों का उपयोग करके) और फिर भी आपको जीपीएल के प्रतिबंध के बिना सॉफ़्टवेयर जारी करें।

मुझे लगता है कि यह सामान्य है। हालांकि, यह किसी भी तरह से कानूनी सलाह नहीं है। कानूनी सलाह के लिए आपको एक प्रमाणित वकील को रखना चाहिए जो आपको कानूनी सलाह दे सकता है जो आपके विशेष परिस्थितियों के लिए उपयुक्त हो।

उम्मीद है की यह मदद करेगा।


3

जीपीएल बनाम एलजीपीएल भेद यह निर्धारित करता है कि क्या आपको बाइनरी की प्रतिलिपि रखने वाले किसी व्यक्ति को अपने आवेदन के लिए स्रोत जारी करना है या नहीं। किसी भी तरह से आप अभी भी आवेदन बेच सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.