कार्यस्थल में GPL?


12

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

मुद्दे को आगे नहीं दबाना चाहते (साक्षात्कार उस तरह के तर्कों के लिए जगह नहीं हैं), मैंने इसे स्लाइड करने दिया। हालाँकि, यह अभी भी मुझे व्यवसाय के उस विशेष अभ्यास के बारे में चिंतित करता है। जीपीएल लाइसेंस कोड पर आधिकारिक शब्द क्या है और इसे कैसे "खुला" होना चाहिए? क्या आपको इसे प्रकाशित करना है और "मेरी कंपनी ने इस लाइब्रेरी का उपयोग किया है, इसलिए यहां वह साइट है जहां आप हमारी खरीदारी और ऑर्डर पूर्ति प्रणाली एप्लिकेशन डाउनलोड कर सकते हैं जिसे बनाने के लिए हम लाखों डॉलर खर्च करते हैं।" इस स्थिति में, क्या ग्राहक के ज्ञान के बिना GPL कोड का उपयोग करने के लिए कंपनी सही है? क्या यह केवल "उन्हें स्रोत देने के लिए" पर्याप्त है?

जवाबों:


15

मानक अस्वीकरण लागू होते हैं: मैं एक वकील नहीं हूं और न ही आप हैं।

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

मैं अपने व्यक्तिगत उपयोग के लिए किसी भी संख्या में एप्लिकेशन लिख सकता हूं, GPL'd कोड में खींच सकता हूं, और कभी भी किसी को भी इसका स्रोत नहीं दे सकता। मैं अपनी कंपनी द्वारा आंतरिक उपयोग के लिए ऐसे ऐप लिख सकता हूं, और केवल मेरी कंपनी के भीतर उन लोगों को स्रोत प्रदान करने की आवश्यकता है जो प्रोग्राम का उपयोग करते हैं (व्यावहारिक रूप से बोलना, मुझे यह वैसे भी करना होगा यदि उनके पास इसका अनुरोध करने का कोई अच्छा कारण है)। यदि मैं किसी अन्य संस्था के लिए ऐसा कार्यक्रम लिखता हूं, तो मुझे केवल उन्हें कोड देना होगा (और यह स्पष्ट करना होगा कि कार्यक्रम GPL- लाइसेंस प्राप्त है) - यदि वे इसे वितरित करने के लिए जाते हैं, तो उन्हें भी स्रोत उपलब्ध कराना होगा, लेकिन मैं तस्वीर से बाहर हूं।

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


1
आप सही हैं, लेकिन AGPL उस पर और सख्त है

@ पियरे: सही, इस अर्थ में कि आप सर्वर एप्लिकेशन से चिपके हुए अपने उपयोगकर्ताओं को स्रोत प्रदान करने से बाहर नहीं निकल सकते।
शोग

1
दिलचस्प। इसलिए, मानक GPL में, यदि आप एक SaaS ऐप लिखते हैं, तो आपको स्रोत देने की आवश्यकता नहीं है क्योंकि आप तकनीकी रूप से आवेदन को "वितरित" नहीं कर रहे हैं?
रयान हेस

2
@ रयान: सही है। ठीक है, आपको इसे अपने उपयोगकर्ताओं को देने की आवश्यकता नहीं है । जो भी संकलित कोड प्राप्त करता है वह अभी भी स्रोत प्राप्त करता है।
शोग

7

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

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

दूसरा, अब हमारे पास MIT लाइसेंस और उसके कई रिश्तेदारों (जो यह स्पष्ट करते हैं कि व्यावसायिक उपयोग स्वीकार्य है) के लिए GPL से अधिक किसी भी संशोधन पर प्राथमिकता है। मेरे पास बग उत्पाद सुधार और संबंधित उत्पाद समुदायों पर वापस किए गए सुधारों को जारी करने के लिए कोई ग्राहक वस्तु नहीं थी। चूंकि लाइसेंस अनुज्ञेय है, मैं अपने एनडीए दायित्वों का पालन कर सकता हूं, अपने ग्राहक को खुश रख सकता हूं और संबंधित समुदायों में योगदान कर सकता हूं।


2

मुक्त स्रोत जरूरी मुक्त मतलब नहीं है।

IANAL या तो, लेकिन आम तौर पर GPL के लिए आवश्यकता को बोलना अपनी परियोजना के लिए स्रोत कोड प्रदान करना है। आप निश्चित रूप से किसी और को उत्पाद बेच सकते हैं। हालाँकि, मेरा मानना ​​है कि आप उन्हें इसे देने से नहीं रोक सकते। शायद यही वह है जो बीयर में अधिकांश GPL'd सॉफ्टवेयर को मुफ्त बनाता है। मुझे पूरा यकीन है कि आपको अपना कोड वर्ल्ड + डॉग पर सिर्फ इसलिए प्रकाशित नहीं करना है क्योंकि यह GPL'd है।

GPL की प्रस्तावना से v3 तक (मेरा अपना जोर):

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

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

( स्रोत )

इस स्थिति में, क्या ग्राहक के ज्ञान के बिना GPL कोड का उपयोग करने के लिए कंपनी सही है? क्या यह केवल "उन्हें स्रोत देने के लिए" पर्याप्त है?

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


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

@Rerteig स्पष्टीकरण के लिए धन्यवाद। मुझे लाइसेंस की शर्तों के माध्यम से खोदने में कुछ समय लगा है।
जॉर्ज मैरियन

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

-5

नहीं, आप सही हैं। यहाँ पर क्यों:

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

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

तब मालिकाना सॉफ्टवेयर GPL उत्पाद का उपयोग कर सकता था।


4
इसका कोई अर्थ नहीं निकलता। जीपीएल यह नहीं बताता है कि मालिकाना कोड इसका उपयोग नहीं कर सकता है। जीपीएल सभी वितरण के बारे में है, जैसा कि श्री सी का जवाब स्पष्ट रूप से है। संक्षेप में- आपको उस सॉफ़्टवेयर को वितरित करने की अनुमति नहीं है जो GPL कोड का उपयोग करता है जब तक कि आप संगत लाइसेंस के तहत उस सॉफ़्टवेयर के स्रोत कोड को वितरित नहीं करते हैं।
डैश-टॉम-बैंग

1
मालिकाना कोड GPL कोड का उपयोग नहीं कर सकता। लाइसेंस की मौजूदगी का कारण इसका हिस्सा है।
वैकल्पिक

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

@श्री। सी मालिकाना कोड से मेरा मतलब कोड है जो GPL के साथ असंगत है। और कोड क्लाइंट को वितरित किया जाता है ... लेकिन हाँ, मैं कोई वकील नहीं हूं इसलिए मैं गलत हो सकता हूं।
वैकल्पिक

2
-1, भ्रामक जवाब। यह "उपयोग" और "स्वामित्व" की कुछ परिभाषाओं के लिए ही सही है। उदाहरण के लिए, मैं एक एम्बेडेड लिनक्स उत्पाद बना सकता हूं, और केवल लिनक्स कर्नेल और कोड जारी कर सकता हूं जो सीधे कर्नेल कोड से लिंक करता है, लेकिन मेरा यूआई या अन्य ऐप नहीं जो सिर्फ GPLed कर्नेल पर चलने के लिए होता है। ऐसे कई रिश्ते मौजूद हैं। "स्वामित्व" के इस उपयोग में अस्पष्टता पहले से ही शामिल है। इसके अलावा, ज्यादातर न्यायालयों में, "काम पर रखने के लिए" केवल उस पार्टी को दिया जाता है जिसने एक डेवलपर को काम पर रखा है ताकि यह कोड वितरण के समान न हो। IANAL, आदि
हेजमैज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.