2009-07-11 11 views
86

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

धन्यवाद!

उत्तर

67

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

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

+11

एलजीपीएल राज्यों को नोट करें कि उपयोग की गई लाइब्रेरी को बदलने योग्य होना चाहिए। इस प्रकार स्थैतिक लिंकिंग संभव नहीं है। – Dykam

+1

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

+0

केवल तभी यदि आप उस डीएलएल के लिए स्रोत कोड प्रदान करते हैं, साथ ही साथ आवश्यक हेडर फाइल या दस्तावेज़ीकरण को शेष एप्लिकेशन के साथ इंटरफ़ेस करने में सक्षम होने के लिए, क्या किसी को भी भारी रूप से संशोधित करना चाहिए, या स्क्रैच से पुनः लिखना चाहिए, वह डीएलएल – thomasrutter

3

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

6

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

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

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

उम्मीद है कि इससे मदद मिलती है।

23

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

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

  • आप गतिशील रूप से या स्थिर एक GPL या LGPL पुस्तकालय के साथ लिंक हैं, तो आप व्युत्पन्न कार्य बनाया है।
  • यदि आप जीपीएल की लाइब्रेरी का उपयोग करते हैं, और आप उस लाइब्रेरी से लिंक करते हैं, तो compatible license के साथ आपका सॉफ़्टवेयर must be released
  • यदि आप एलजीपीएल की लाइब्रेरी का उपयोग करते हैं, और आप गतिशील रूप से उस लाइब्रेरी से लिंक करते हैं, तो आपके सॉफ़्टवेयर को संगत लाइसेंस के साथ रिलीज़ नहीं होना चाहिए, लेकिन आपको अभी भी एलजीपीएल का पालन करना होगा।
  • यदि आप एलजीपीएल की लाइब्रेरी का उपयोग करते हैं, और आप उस लाइब्रेरी के साथ स्थाई रूप से लिंक करते हैं, तो आपका सॉफ़्टवेयर एक संगत लाइसेंस के साथ जारी किया जाना चाहिए।
  • जीपीएल/एलजीपीएल लाइसेंस का मतलब है "मुक्त" "free speech", not "free beer" में। आप व्युत्पन्न कार्य बना सकते हैं और इसे बड़ी मात्रा में धन के लिए बेच सकते हैं, लेकिन आपको जीपीएल/एलजीपीएल का पालन करना होगा।
+15

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

+2

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

6

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

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

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

+0

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

+0

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

+0

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

30
  • जीपीएल

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

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

  • LGPL

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

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

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

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

संबंधित मुद्दे