क्या जीपीएलवी 2 कार्यक्रम अपाचे-लाइसेंस प्राप्त पुस्तकालयों पर भरोसा कर सकता है?


12

क्या कोई सॉफ्टवेयर प्रोग्राम जीपीएल (संस्करण 2) को लाइसेंस दे सकता है, जो जीपीएल के संचालन के बिना एपीएलवी 2 के तहत लाइसेंस प्राप्त पुस्तकालयों पर निर्भर हो सकता है? यहाँ की भाषा मुझे सुझाव देती है कि शायद नहीं।

अपने विशिष्ट मामले में मैं एक डेमन को देख रहा हूं जो कुछ APLv2- लाइसेंस प्राप्त बाहरी पुस्तकालयों का उपयोग करता है।

अद्यतन (उत्तर / टिप्पणियों के जवाब में)

  1. इस प्रश्न के उद्देश्य के लिए, मैं मुख्य कार्यक्रम (डेमॉन) का पुन: परीक्षण नहीं कर सकता
  2. मुख्य कार्यक्रम को कार्यक्षमता के साथ बढ़ाया गया है जो उपयोग करता है apr-utilऔर शायद अन्य एपीएलवी 2 घटक

मेरा सवाल यह है कि क्या मैं GPLv2 के तहत विस्तारित डेमॉन को जारी कर सकता हूं, या क्या यह कुछ है जिसे मुझे अपने आप को रखने की आवश्यकता है (और वितरण नहीं है) और / या फिर APLv2 के बिना फिर से लागू हो सकता है अगर मैं इस एक्सटेंशन को जारी करने के लिए (ए) के लिए प्रतिबद्ध हूं , और (ख) डेमन जीपीएलआईडी को रखना?


2
आपके द्वारा जोड़ा गया दस्तावेज़ स्पष्ट रूप से बताता है कि नहीं। हालाँकि, अधिकांश GPL कोड में "या, आपके विकल्प पर, किसी भी बाद के संस्करण" प्रावधान हैं, जिसका अर्थ है कि आप इसे GPLv3 के रूप में मान सकते हैं और यह ठीक है।
जनवरी को जन हुदेक

जवाबों:


7

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

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

जीपीएल एफएक्यू से , मेरा जोर।

इसका मतलब है कि अन्य लाइसेंस और जीएनयू जीपीएल संगत हैं; आप अन्य लाइसेंस के तहत जारी कोड को GNU GPL के तहत जारी कोड के साथ एक बड़े प्रोग्राम में जोड़ सकते हैं।
सभी GNU GPL संस्करण निजी तौर पर ऐसे संयोजनों की अनुमति देते हैं; वे इस तरह के संयोजनों के वितरण की भी अनुमति देते हैं बशर्ते कि संयोजन उसी GNU GPL संस्करण के तहत जारी किया गया हो

तो एक लाइसेंस GPL के साथ संगत है यदि इसकी शर्तें GPL के नीचे अवशोषित की जा सकती हैं।


तो आइए APLv2 और GPLv3 को देखें।

  • APLv2_Lib + GPLv3_Lib => GPLv3 के रूप में संयुक्त काम ठीक है।
  • APLv2_Lib + GPLv3_Lib => APLv2 के रूप में संयुक्त कार्य ठीक नहीं है।

और अपाचे यहाँ के रूप में ज्यादा कहते हैं :

हम GPLv3 सॉफ्टवेयर से बचते हैं क्योंकि इसे जोड़ने के लिए केवल GPLv3 लेखकों द्वारा एक व्युत्पन्न कार्य बनाने पर विचार किया जाता है। हम उनके लाइसेंस का सम्मान करना चाहते हैं।


लेकिन आप एक डीमन के साथ काम कर रहे हैं जिसे GPLv2 के तहत लाइसेंस दिया गया था, न कि v3।

एफएसएफ बहुत स्पष्ट है कि आप जो करना चाहते हैं वह सार्वजनिक वितरण के लिए स्वीकार्य नहीं है।

कृपया ध्यान दें कि यह लाइसेंस GPL संस्करण 2 के साथ संगत नहीं है, क्योंकि इसमें कुछ आवश्यकताएँ हैं जो उस GPL संस्करण में नहीं हैं। इनमें कुछ पेटेंट समाप्ति और क्षतिपूर्ति प्रावधान शामिल हैं।

तो, आपके प्रश्न का उत्तर देने के लिए:

नहीं , आप GPLv2 और APLv2 लाइसेंस प्राप्त सामग्री का उपयोग करके संयुक्त डेमन को वितरित नहीं कर सकते हैं
एफएसएफ स्पष्ट रूप से उस संयोजन को सार्वजनिक वितरण के लिए स्वीकार्य नहीं है।

विकल्प:

  1. आप कर रहे हैं यह निजी तौर पर इस्तेमाल करने की अनुमति।

  2. APLv2 कार्यक्षमता को फिर से लिखना और फिर GPLv2 कार्य के साथ अपने नए कार्य को संयोजित करना भी आपके लिए ठीक रहेगा।

  3. आप देख सकते हैं कि डेमन को GPLv3 में बदला जा सकता है या नहीं। यदि ऐसा है, तो आप तब APLv2 कार्य को अब GPLv3 डेमॉन में विलय करने के लिए स्पष्ट होंगे।


2

मेरा विचार ओपी के ASF लिंक के पाठ पर आधारित OP के साथ है।

ASF (Apache Software Foundation) ASFv2 कोड के किसी सिस्टम के किसी भी हिस्से के विचार को पसंद नहीं करता है जो GPLv2 का उपयोग करता है, आपके मामले की सीमित जानकारी और विभिन्न FOSS लाइसेंसों की मेरी समझ के आधार पर: भले ही छाता परियोजना GPLv2 हो , या छाता परियोजना GPLv2 है, ASFv2 को शामिल करने का प्रयास।

इसके अलावा ऐसा लगता है कि एक ASFv2 छाता परियोजना है जिसमें GPLv3 कोड नहीं होना चाहिए, लेकिन GPLv3 छाता परियोजना में ASFv2 कोड हो सकता है।

गुफा, शायद (गन्नू के अनुसार), यह है कि वे एक-दूसरे के साथ कैसे बातचीत करते हैं। यदि जुड़ा हुआ है, तो निष्पादन के दौरान डेटा की समान प्रतियां साझा करना, वे एक ही कार्यक्रम में एक हैं; हालाँकि, यदि वे अलग-अलग प्रक्रियाओं के बीच अलग-अलग प्रक्रियाओं (यानी। forked) के रूप में काम कर रहे हैं, तो आप जो कर रहे हैं वह अनुमेय हो सकता है क्योंकि वे हैं, उनके लिए, अलग-अलग कार्यक्रम। यदि यह निष्पादन के दौरान साझा डेटा-स्पेस का उपयोग करता है, और अलग-अलग प्रक्रियाओं के साथ काम नहीं करता है, तो आप जो कर रहे हैं वह अनुमति नहीं दी जा सकती है, क्योंकि उनके लिए, वे एक ही या बहुत कसकर अलग या स्वतंत्र होने के लिए युग्मित हैं।

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