लाइसेंस बदलने के लिए जीपीएल कोड को फिर से लिखना


23

मुझे एक जीपीएल लाइब्रेरी (कोई दोहरा लाइसेंस नहीं) मिला है, जो मुझे ठीक वही चाहिए। दुर्भाग्य से, पुस्तकालय पर जीपीएल लाइसेंस मेरे द्वारा उपयोग किए जाने वाले एक अलग पुस्तकालय के लाइसेंस के साथ असंगत है। मैंने इसलिए GPL लाइब्रेरी को फिर से लिखने का फैसला किया है, इसलिए लाइसेंस को बदला जा सकता है।

मेरा प्रश्न है: लायसेंस को बदलने में सक्षम होने के लिए पुस्तकालय में परिवर्तनों का कितना व्यापक होना आवश्यक है? दूसरे शब्दों में, ऐसा करने का सबसे सस्ता तरीका क्या है?


3
जीपीएल लाइब्रेरी के लेखक को एक अलग लाइसेंस के तहत इसे जारी करने के लिए भुगतान करना सस्ता हो सकता है।
मात्रा_देव

3
यह पूछने के बजाय कि सबसे सस्ता तरीका क्या है, हमें पूरी कहानी क्यों नहीं बताएं और पूछें "क्या करना सही है?"
जॉन आर। स्ट्रॉहम

4
यदि अन्य लाइब्रेरी GPL के अनुकूल नहीं है, तो शायद यही वह लाइब्रेरी है जिसे आपको बदलने की आवश्यकता है।
पॉल बुचर

1
अन्य पुस्तकालय के पास क्या लाइसेंस है?
एंड्रेस एफ।

जवाबों:


34

मैं वकील नहीं हूँ, लेकिन AFAIK अगर आपने GPLed पुस्तकालय कोड को देखा है तो आपके द्वारा लिखा गया कोई भी अनुकरण पुस्तकालय दागी हो जाएगा और न्यायाधीश द्वारा एक व्युत्पन्न कार्य घोषित किया जा सकता है यदि यह उसकी प्रशंसा में समान है।

तो यह प्रक्रिया एक कार्यात्मक कल्पना लिखने के लिए होगी और कोई ऐसा व्यक्ति होगा जिसने GPLed कोड को लाइब्रेरी में नहीं देखा होगा।

संपादित करें: ध्यान दें कि जिस तरह से आप अपना प्रश्न तैयार करते हैं, "लायसेंस को बदलने में सक्षम होने के लिए पुस्तकालय में बदलावों की कितनी व्यापक आवश्यकता है?" उत्तर AFAIK स्पष्ट है: आप जो भी करते हैं, यदि आप बस पुस्तकालय को संशोधित करते हैं, तो आपको लाइसेंस की अवधि का सम्मान करना चाहिए जो आपको पहली बार में इसे संशोधित करने में सक्षम बनाता है।


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

1
आप रूसी रूले, अपनी पसंद पसंद कर सकते हैं। यदि किसी कारण से - एक या दूसरे तरीके से कोड को विरासत में मिला हो, या मुकदमे का वित्त करने का निर्णय लेने वाली प्रतियोगिता हो - तो आप पर मुकदमा चलाया जाता है और उसे दोषी ठहराया जाता है। यहां तक ​​कि अगर आप पर मुकदमा नहीं किया जाता है, अगर यह ज्ञात है कि खराब प्रतिष्ठा एक समस्या हो सकती है।
एपीग्रामग्राम

2
मुझे लगता है कि "दागी" मुद्दा ज्यादातर एनडीए पर लागू होता है। कॉपीराइट मुद्दों के लिए, यह मुश्किल से समझ में आता है। इस बात पर विचार करें कि कॉपीराइट पुस्तकों, नवागंतुकों, फिल्मों आदि पर भी लागू होता है। जॉर्ज लुकास ने शायद स्टार वार्स बनाने से पहले टीवी पर स्टार ट्रेक श्रृंखला देखी थी, क्या यह स्टार वार्स को एक व्युत्पन्न कार्य बनाता है? अगर कोई अखबार का रिपोर्टर रेडियो पर कुछ सुनता है, तो क्या वह उसे उसी घटना के बारे में लिखने से रोकता है?
user281377

6
स्वच्छ कमरे का दृष्टिकोण केवल यह साबित करने का एक तरीका है कि आपने कॉपीराइट कानून का उल्लंघन नहीं किया है। जैसा कि मैं इसे समझता हूं - और फिर से मैं वकील नहीं हूं - मूल काम के ज्ञान के बिना विकसित चीजें कॉपीराइट का उल्लंघन नहीं कर सकती हैं (लेकिन पेटेंट का उल्लंघन कर सकती हैं)। उस ज्ञान के साथ विकसित हुई चीजें कॉपीराइट का उल्लंघन कर सकती हैं या नहीं कर सकती हैं - यह साबित करना कठिन है कि समानताएं यादृच्छिक घटनाओं या समस्या की प्रकृति के कारण होती हैं जो एक दृष्टिकोण को स्वाभाविक बनाती हैं।
एपीग्रामग्राम

1
@ammoQ: अमेरिका में, बहुत समय पहले एक कॉपी उल्लंघन का मुकदमा था (एक सांख्यिकीय सॉफ्टवेयर पैकेज?) जहां एक कंपनी को उल्लंघन करने के लिए आयोजित किया गया था, भले ही कोड की प्रत्येक पंक्ति को फिर से लिखा गया था। ध्यान दें कि स्टार वार्स विशेष रूप से स्टार ट्रेक के समान नहीं है, और यह कि एक अखबार के रिपोर्टर ने सिर्फ रेडियो पर सुनाई गई चीजों से कहानी लिखने की कोशिश नहीं की है।
डेविड थॉर्नले

21

इस समस्या का सामान्य तरीका यह है कि पहले पुस्तकालय के मालिक से संपर्क करें और पूछें कि क्या वे इसे एक अलग लाइसेंस के तहत जारी करेंगे।

यदि आप एक ओपन सोर्स प्रोजेक्ट पर काम कर रहे हैं जहां जीपीएल संगत नहीं है, तो एक अच्छा मौका है कि वे ऐसा करेंगे, कुछ प्रोजेक्ट जीपीएल लाइसेंस के साथ समाप्त होते हैं, क्योंकि यह सबसे अच्छा विकल्प लगता है।

बेशक, यह दोनों पुस्तकालयों पर लागू होता है। कम अनुज्ञेय के तहत अनुमेय लाइसेंस दोहरे लाइसेंस प्राप्त करना एक समस्या नहीं होनी चाहिए।

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


8
यह एक शॉट के लायक है, लेकिन यह काम नहीं करता है यदि लाइब्रेरी के मालिक ने जीपीएलड के योगदान को स्वीकार या बनाया है, जो कई पुस्तकालयों के लिए मामला है।
ब्रायन

^ जब तक उनके पास "कंट्राइब्यूटर" समझौता नहीं था, जिसने कॉपीराइट को मूल लेखकों को वापस सौंप दिया: softwareengineering.stackexchange.com/a/225577/93511
जोनाथन

17

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

ये नियम सॉफ़्टवेयर के लिए विशिष्ट नहीं हैं, वे सभी प्रकार की कॉपीराइट योग्य चीज़ों पर लागू होते हैं।

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


4

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

अंत में, आपका सबसे अच्छा शर्त पुस्तकालय के लेखक से संपर्क करना है और आशा है कि आप उस पुस्तकालय के अधिक अनुज्ञेय लाइसेंस के लिए एक व्यवस्था पा सकते हैं।


1

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

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


या कम से कम पूछें कि क्या देयता एलजीपीएल भी हो सकती है।
जोहान

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

1

एकमात्र तरीका यह काम नहीं किया जाएगा, यदि आप किसी मूल कोड का उपयोग किए बिना पूरे कोड को फिर से लिखेंगे। जो शायद असरदार है।

GPL के आस-पास बहुत आसान तरीके हैं:

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

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


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

@AProgrammer: यहां तक ​​कि FSF का कहना है, कि अगर यह अलग प्रक्रिया है, तो ये अलग-अलग कार्यक्रम हैं, इस प्रकार काम को व्युत्पन्न नहीं किया जाता है। पूछे जाने वाले प्रश्न प्लगइन्स के बारे में है, लेकिन तर्क अभी भी लागू होता है: gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins
vartec

सवाल प्लग-इन के बारे में है और प्लग-इन प्रकृति के अनुसार अपरिहार्य नहीं हैं। मैं अपनी कंपनी को शर्त नहीं लगाऊंगा कि दो प्रक्रियाओं में एक प्रोग्राम को संरचित करना, एक GPLed क्योंकि यह GPLed पुस्तकालयों का उपयोग करता है अन्य इसलिए नहीं कि हम स्रोत को निजी रखना चाहते हैं वैध है। खासतौर पर तब जब दोनों को एक साथ बांटा गया हो। लेकिन वह तुम्हारी पुकार है।
एपीग्रामग्राम

1
@ ए: अन्य कार्यक्रमों के साथ वितरण "एकत्रीकरण" है, और जीपीएल द्वारा स्पष्ट रूप से अनुमति दी गई है। और नहीं, वह मेरी पुकार नहीं है। व्यक्तिगत रूप से, मैं 10 फीट लंबी छड़ी के साथ भी जीपीएल पुस्तकालय को नहीं छू पाऊंगा।
vartec

1

IANAL और, किसी भी मामले में, इसका कानूनी रूप से कुछ भी मतलब नहीं हो सकता है, लेकिन, मेरा मानना ​​है कि स्टीवन लेवी की पुस्तक "हैकर्स" में, वह बताते हैं कि कैसे, एक बिंदु पर, आरएमएस ने दिन के दौरान पैसे के लिए * निक्स कोड लिखा और रात में भी वही लिखा। घर पर सामान ताकि यह ... GNU का हिस्सा हो सके? ... यह लिनक्स से पहले था ... कुछ मुफ्त यूनिक्स प्रकार प्रणाली। मेरा मानना ​​है कि उसे होम-कोड को डे-कोड से अलग बनाना था, लेकिन वह मूल रूप से वही कर रहा था जो आप सुझा रहे हैं।

यह शायद कानूनी तौर पर या तो मायने नहीं रखता है, लेकिन ... मुझे यकीन नहीं है कि क्या Apple और / या Microsoft को अनुमति / लाइसेंस या कुछ और मिला है, लेकिन प्रयोगशालाओं ने डेस्कटॉप / आइकन / माउस इंटरफ़ेस का आविष्कार नहीं किया, जो Macs के लिए उपयोग किया गया था (या लिसा?) जो तब Microsoft द्वारा उपयोग की गई थी।


वह ज़ेरॉक्स PARC होगा, बेल लैब्स नहीं।
मार्नेन लाइबो-कोसर

और जॉब्स ने ज़ेरॉक्स के साथ एक सौदा किया जिसने ऐप्पल को पालो ऑल्टो में प्रयोगशाला को देखने की अनुमति दी। उस समय उस तकनीक के बारे में ज़ेरॉक्स की किसी को परवाह नहीं थी।
अल्दललगंडे

0

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


आप gnu.org/licenses/license-list.html पर लाइसेंसों की Gnu सूची प्राप्त कर सकते हैं और आप देखेंगे कि यह मुफ़्त GPL- संगत लाइसेंस, मुफ्त गैर-GPL- संगत लाइसेंस और नॉनफ्री लाइसेंस में विभाजित है। GPL की कुछ विशिष्ट आवश्यकताएं हैं जो अन्य लाइसेंस अक्सर अनुरूप नहीं होते हैं, और GPLv3 का एक लक्ष्य संगतता को आसान बनाना था।
डेविड थॉर्नले

0

लायसेंस को बदलने में सक्षम होने के लिए लायब्रेरी में परिवर्तनों को कितना व्यापक होना चाहिए?

दुनिया के अधिकांश हिस्सों में आपको स्क्रैच से शुरू करने और कुछ भी काटने और अतीत करने की आवश्यकता नहीं है। आपको फ़ंक्शंस / क्लासेस / वैरिएबल आदि आदि के लिए नए नामों की आवश्यकता है, और संरचना अलग होनी चाहिए। तब आप सुरक्षित हैं।

दूसरी ओर, यदि कोई विस्‍तार-उपकरण कोई समानता नहीं पाता है तो ...


2
यदि एक अलग उपकरण में कोई समानता नहीं मिलती है तो यह अभी भी एक कॉपीराइट का उल्लंघन हो सकता है। इसे एक गैर-प्रोग्रामिंग दृष्टिकोण से देखें: मैं एक किताब लिखता हूं, आप इसे स्वीडिश में अनुवाद करते हैं, और यूएस (और संभवतः स्वीडिश) कॉपीराइट कानून द्वारा आपने व्युत्पन्न कार्य किया है।
डेविड थॉर्नले

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