GPL और BSD लाइसेंस कोड को मिलाकर, प्रैक्टिस, लाइसेंस फ़ाइलों को कैसे प्रबंधित करें?


10

मैं कोड लिख रहा हूं जो GPL (LGPL नहीं) लाइसेंस के साथ एक पुस्तकालय का उपयोग करता है, और 3-खंड बीएसडी लाइसेंस के साथ । चूंकि मैं जीपीएल-लाइसेंस प्राप्त पुस्तकालय से जुड़ा हुआ हूं, इसलिए मेरे कोड को जीपीएल भी होना चाहिए। व्यवहार में, मुझे बीएसडी-लाइब्रेरी से मूल LICENSE.txt से कैसे निपटना चाहिए?

(ए) क्या मैं एक परियोजना वितरित कर सकता हूं ताकि मुख्य स्रोत कोड जीपीएल-लाइसेंस प्राप्त हो और फिर कुछ उपनिर्देशिका बीएसडी-लाइसेंस प्राप्त हो?

(बी) यदि मैं केवल पुस्तकालयों से लिंक करने के लिए नहीं था, लेकिन बीएसडी और जीपीएल कोड को अधिक सम्मिलित तरीके से उपयोग करने और संयोजित करने के लिए, तो LICENSE.txt के साथ क्या करना है?

3-खंड बीएसडी पाठ बताता है: "स्रोत कोड का पुनर्वितरण उपरोक्त कॉपीराइट नोटिस, शर्तों की सूची और निम्नलिखित अस्वीकरण को बनाए रखना चाहिए।" इसलिए स्पष्ट रूप से मुझे कॉपीराइट नोटिस, और शर्तों की सूची, कहीं रखनी चाहिए। लेकिन फिर मुझे कहीं न कहीं जीपीएल लाइसेंस txt-file डालने की आवश्यकता होगी।

इसके अलावा, जाहिरा तौर पर मुझे "पुनर्वितरण और स्रोत में और द्विआधारी रूपों में उपयोग को बनाए रखने की आवश्यकता नहीं है, संशोधन के साथ या बिना अनुमति दी जाती है, बशर्ते कि निम्नलिखित शर्तें पूरी हों:" बीएसडी लाइसेंस पाठ का हिस्सा, क्योंकि यह केवल मुझे बताता है अन्य भागों को बनाए रखें।

तो, कैसे, और किस पाठ फ़ाइलों में, मुझे व्यवहार में GPL लाइसेंस पाठ और BSD लाइसेंस और कॉपीराइट के कुछ हिस्सों को व्यवस्थित करना चाहिए जिन्हें मैं बनाए रखता हूं?

संपादित करें: इसलिए बी में, मैं 3-खंड बीएसडी लाइसेंस प्राप्त कोड ले जाऊंगा, और इसे जीपीएल के तहत पुनर्वितरित किया जाएगा, जिसे अनुमति दी गई है, क्योंकि 3-खंड बीएसडी लाइसेंस जीपीएल के साथ संगत ( एकतरफा ) है । मैं सिर्फ यह पूछ रहा हूं कि व्यवहार में लाइसेंस ग्रंथों और टेक्स्टफाइल्स से कैसे निपटें।


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

2
@ एंड्रे फिनेल: यह एक बुरा विचार क्यों है? एक घटक के बाद से पूरा उत्पाद जीपीएल है, लेकिन इसमें गलत क्या है? बीएसडी लाइसेंस प्राप्त पुस्तकालय अभी भी बीएसडी लाइसेंस प्राप्त है। लोग बीएसडी लाइसेंस का उपयोग नहीं करते हैं जब तक कि वे अपने सामान को उन लोगों द्वारा उपयोग करना चाहते हैं जो अधिक प्रतिबंधात्मक लाइसेंस का उपयोग करना चाहते हैं।
डेविड थार्नले

जवाबों:


1

सादगी के लिए, जीपीएल के तहत पूरी बात जारी करना सबसे अच्छा है। 3-खंड बीएसडी लाइसेंस में कॉपी-लेफ्ट का कोई रूप नहीं होता है, इसलिए जब तक आप इसके नोटिस को बनाए रखते हैं, तब तक इसे रद्द करने के आपके अधिकारों में अच्छी तरह से है।

आप दो प्रकार की फ़ाइलों को समाप्त करेंगे:

  • मूल रूप से बीएसडी फाइलें: दोनों हेडर की जरूरत होती है, आदेश मेरे ज्ञान के लिए महत्वपूर्ण नहीं है, बस वे वहां हैं
  • आपकी फ़ाइलें और मूल रूप से GPL फाइलें: GPL हेडर के लिए आवश्यक हैं

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

ध्यान दें कि मैं एक वकील नहीं हूं, और न ही मैं खुले स्रोत लाइसेंस, या सामान्य रूप से लाइसेंस देने में विशेषज्ञ हूं। मैं बस इस बात पर भरोसा कर रहा हूं कि दी गई लाइसेंसिंग की मेरी व्याख्या क्या दिखती है।


1

ठीक है, GPLv3 के सेक्शन 7 को पढ़ना , "अतिरिक्त अनुमतियों के लिए अनुमति देता है [कि] केवल कार्यक्रम के भाग पर लागू होता है" [1]। इसलिए बीएसडी लाइसेंस के तहत कुछ फाइलों या निर्देशिकाओं को रखना ठीक लगता है, क्योंकि मुझे लगता है कि बीएसडी लाइसेंस का "जो भी आप चाहते हैं" एक "अतिरिक्त अनुमति" है।

इसके अलावा, धारा 7 "इस लाइसेंस की शर्तों को शर्तों के साथ पूरक करने की अनुमति देता है:" (6 प्रकार की स्वीकार्य प्रकार की शर्तों की सूची), और बीएसडी लाइसेंस के सभी 3 खंड (+ अस्वीकरण) कवर किए गए हैं, इसलिए मामले में BSD और GPL कोड को एक ही फाइल में मिलाने पर, शायद मुझे बस ADDITIONAL_TERMS.txt डालना होगा, जिसमें BSD लाइसेंस से 3 क्लॉस + डिस्क्लेमर होगा।

(अतिरिक्त रूप से सटीक होने के लिए, हर समय जब मैंने बीएसडी लाइसेंस के बारे में बात की है, मेरा मतलब है 3-क्लॉज़ लाइसेंस AKA "न्यू BSD लाइसेंस" AKA "संशोधित BSD लाइसेंस", जिसे मैंने अपने प्रश्न में जोड़ा है।)

[१] जब तक कार्यक्रम के एक प्राप्तकर्ता को अतिरिक्त अनुमति को हटाने की अनुमति दी जाएगी यदि वह आगे पुनर्वितरित करता है। और बीएसडी लाइसेंस इसके लिए अनुमति देता है।


-1

यह केवल लाइसेंस शर्तों की कई व्याख्याओं के अनुसार संभव नहीं है।

gnu.org संस्करण 2 के लिए कहता है :

क्योंकि यह एक विशिष्ट आवश्यकता को लागू करता है जो GPL में नहीं है; अर्थात्, कार्यक्रम के विज्ञापनों पर आवश्यकता। GPL बताता है:

आप प्राप्तकर्ताओं के अधिकारों के प्रयोग पर आगे कोई प्रतिबंध नहीं लगा सकते हैं।

विज्ञापन खंड केवल इस तरह का एक और प्रतिबंध प्रदान करता है, और इस प्रकार GPL- असंगत है।

संशोधित बीएसडी लाइसेंस में विज्ञापन खंड नहीं है, जो समस्या को समाप्त करता है।

और GPL v3 के लिए :

मूल BSD लाइसेंस GPL के साथ असंगत क्यों है? (#OrigBSD)

क्योंकि यह एक विशिष्ट आवश्यकता को लागू करता है जो GPL में नहीं है; अर्थात्, कार्यक्रम के विज्ञापनों पर आवश्यकता। GPLv2 राज्यों की धारा 6:

आप प्राप्तकर्ताओं के अधिकारों के प्रयोग पर आगे कोई प्रतिबंध नहीं लगा सकते हैं।

GPLv3 धारा 10 में कुछ ऐसा ही कहता है। विज्ञापन खंड केवल इस तरह का प्रतिबंध प्रदान करता है, और इस प्रकार GPL- असंगत है।

संशोधित बीएसडी लाइसेंस में विज्ञापन खंड नहीं है, जो समस्या को समाप्त करता है।

अन्य वकील / न्यायाधीश, निश्चित रूप से, अलग-अलग राय हो सकते हैं।


1
क्या आप वाकई 4-खंड बीएसडी लाइसेंस के बारे में बात नहीं कर रहे हैं? "न तो <संगठन का नाम> और न ही इसके योगदानकर्ताओं के नाम का उपयोग विशिष्ट पूर्व लिखित अनुमति के बिना इस सॉफ़्टवेयर से प्राप्त उत्पादों को समर्थन या बढ़ावा देने के लिए किया जा सकता है।" वैसे भी आकार या रूप में विज्ञापन को संदर्भित नहीं करता है, और वास्तव में संगठन के ट्रेडमार्क से संबंधित है, स्रोत कोड के कॉपीराइट से नहीं।
ग्वेंटे

1
वास्तव में! अलग-अलग संशोधनों के बारे में मैं (फिर से) उलझन में था!
जोहान्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.