MIT बनाम GPL लाइसेंस [बंद]


122

MIT लाइसेंस GPL- संगत है। क्या जीपीएल लाइसेंस एमआईटी-संगत है? यानी मैं जीपीएल-लाइसेंस प्राप्त उत्पाद में एमआईटी-लाइसेंस प्राप्त कोड शामिल कर सकता हूं, लेकिन क्या मैं एमआईटी-लाइसेंस प्राप्त उत्पाद में जीपीएल-लाइसेंस प्राप्त कोड शामिल कर सकता हूं?

मुझे ऐसा लगता है कि MIT लाइसेंस और GPL के बीच मुख्य अंतर यह है कि MIT को संशोधनों की आवश्यकता नहीं है, जबकि GPL करता है। क्या वो सही है? क्या GPL MIT लाइसेंस से अधिक प्रतिबंधात्मक है?


1
en.wikipedia.org/wiki/MIT_License लाइसेंस भी GPL- संगत है, जिसका अर्थ है ...
माइकल पेट्रोत्ता

जवाबों:


76

मुझे ऐसा लगता है कि MIT लाइसेंस और GPL के बीच मुख्य अंतर यह है कि MIT को संशोधनों की आवश्यकता नहीं है, जबकि GPL करता है।

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

एमआईटी के साथ अंतर यह है कि भले ही आप वास्तव में अपने स्वामित्व कोड को वितरित करते हैं जो एमआईटी लाइसेंस प्राप्त कोड का उपयोग कर रहा है, आपको कोड को खुला स्रोत बनाने की आवश्यकता नहीं है। आप इसे एक बंद ऐप के रूप में वितरित कर सकते हैं जहां कोड एन्क्रिप्ट किया गया है या एक बाइनरी है। जब तक यह MIT लाइसेंस नोटिस ले जाता है, तब तक MIT- लाइसेंस प्राप्त कोड को एन्क्रिप्ट किया जा सकता है।

क्या GPL MIT लाइसेंस से अधिक प्रतिबंधात्मक है?

हां बिलकुल वही।


16
क्या मैं सिर्फ नोट कर सकता हूं, GPL सॉफ्टवेयर को "ओपन-सोर्स" नहीं बनाता है। GPL के तहत सॉफ़्टवेयर मुफ़्त हो जाता है (जैसा कि उसके उपयोगकर्ता की स्वतंत्रता की रक्षा में)। फ्री सॉफ्टवेयर एक आंदोलन है जो पुराने और खुले सामान की तुलना में अधिक सार्थक है। यहाँ मतभेदों के बारे में एक लेख दिया गया है: gnu.org/philosophy/open-source-misses-the-point.html । धन्यवाद
जॉर्ज Orpinel

11
उन्हीं कारणों से, कोई यह तर्क दे सकता है कि एमआईटी अधिक प्रतिबंधक है, क्योंकि यह उपयोगकर्ता के सभी फ्रीडम को सुरक्षित नहीं करता है और सॉफ्टवेयर निजीकरण (= उपयोगकर्ता द्वारा इसके नियंत्रण का प्रतिबंध और नुकसान) को जन्म दे सकता है। धन्यवाद फिर से
जॉर्ज ऑरपिनल

3
@tcurdt स्वतंत्रता के बारे में बात करने के लिए यह "सही जगह" क्यों नहीं है? आत्म-सेंसरशिप क्यों? और नहीं, दुर्भाग्य से इसका मतलब 'मुक्त' नहीं है। 'ओपन ’का मतलब भी नहीं है। बस स्पष्ट करने के लिए न तो एमआईटी और न ही जीपीएल लाइसेंस आपको "इसके साथ कुछ भी" करने देते हैं। बिना किसी लाइसेंस के केवल कोड उस श्रेणी में आ सकता है। चीयर्स
जॉर्ज ऑरपिनेल

3
फिर से, यह वही है जो स्टैकओवरफ्लो को माना जाता है कि स्टैकओवरफ्लो . com/help/on-topic के लिए है । किसी को यह सोच रहा है कि यह विषय नहीं है। बावजूद, मुझे अभिव्यक्ति की स्वतंत्रता है और यह एक सार्वजनिक स्थान की तरह है ... हाँ। आप सिर्फ गलत होने से नहीं निपट सकते। वास्तव में मैं आपकी और अन्य पाठकों की मदद करने की कोशिश कर रहा हूं अगर मैं कर सकता हूं। वैसे भी, सौभाग्य
जॉर्ज ऑरपिनल

8
@JorgeOrpinel "बिना किसी लाइसेंस के केवल कोड उस श्रेणी में गिर सकता है।" यह बहुत गलत है, बिना किसी लाइसेंस के कोड PROPRIETARY / "सभी अधिकार सुरक्षित हैं"। यदि आप चारों ओर जाते हैं और कोड को पुनर्वितरित करते हैं, जो अन्य लोगों ने बिना लाइसेंस के बनाया है, तो आप बहुत अधिक कानूनी परेशानी का सामना कर रहे हैं। आप कहते हैं कि आप "आपकी और अन्य पाठकों की मदद" करने की कोशिश कर रहे हैं, लेकिन पाठकों पर मुकदमा चलाना बिल्कुल मददगार नहीं है। सिर्फ आपकी जानकारी के लिए।
अर्धविराम

45

क्या मैं MIT लाइसेंस प्राप्त उत्पाद में GPL लाइसेंस कोड शामिल कर सकता हूं?

आप ऐसा कर सकते हैं। जीपीएल मुफ्त सॉफ्टवेयर है और साथ ही एमआईटी है, दोनों लाइसेंस आपको कोड को एक साथ लाने के लिए प्रतिबंधित नहीं करते हैं जहां "शामिल" हमेशा दो-तरफा होता है।

एक संयुक्त कार्य के लिए कॉपीराइट में (जो एक काम के साथ दो या दो से अधिक कार्य होते हैं), यह बहुत फर्क नहीं करता है कि क्या एक काम दूसरे की तुलना में "बड़ा" है या नहीं।

इसलिए यदि आप एक MIT लाइसेंस प्राप्त उत्पाद में GPL लाइसेंस कोड शामिल करते हैं, तो आप उसी समय GPL लाइसेंस कोड में MIT लाइसेंस प्राप्त उत्पाद भी शामिल करेंगे।

दूसरे मत के रूप में, OSI ने दोनों लाइसेंस (MIT और GPL) के लिए निम्न मापदंड (अधिक विस्तार से) सूचीबद्ध किए:

  1. मुक्त पुनर्वितरण
  2. सोर्स कोड
  3. व्युत्पन्न काम करता है
  4. लेखक के स्रोत कोड की अखंडता
  5. व्यक्तियों या समूहों के खिलाफ कोई भेदभाव नहीं
  6. एंडेवर के खेतों के खिलाफ कोई भेदभाव नहीं
  7. लाइसेंस का वितरण
  8. लाइसेंस एक उत्पाद के लिए विशिष्ट नहीं होना चाहिए
  9. लाइसेंस अन्य सॉफ्टवेयर को प्रतिबंधित नहीं करना चाहिए
  10. लाइसेंस टेक्नोलॉजी-न्यूट्रल होना चाहिए

दोनों संयुक्त कार्यों के निर्माण की अनुमति देते हैं, जो कि आप के लिए पूछ रहे हैं।

यदि दोनों कार्यों के संयोजन को व्युत्पन्न माना जाता है, तो यह दोनों लाइसेंसों के साथ ही प्रतिबंधित नहीं है।

और दोनों लाइसेंस सॉफ़्टवेयर को वितरित करने के लिए प्रतिबंधित नहीं करते हैं।

मुझे ऐसा लगता है कि MIT लाइसेंस और GPL के बीच मुख्य अंतर यह है कि MIT को संशोधनों की आवश्यकता नहीं है, जबकि GPL करता है।

जीपीएल को आपको केवल अपने संशोधनों को जारी करने की आवश्यकता नहीं है क्योंकि आपने उन्हें बनाया है। यह सटीक नहीं है।

आप इसे जीपीएल के तहत सॉफ्टवेयर की गड़बड़ी से जोड़ सकते हैं, जो कि आपने सीधे नहीं पूछा है।

क्या यह सही है - क्या GPL MIT लाइसेंस से अधिक प्रतिबंधात्मक है?

यह मैं इसे कैसे समझता हूं:

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

"प्रतिबंधात्मक" या "अधिक प्रतिबंधात्मक" / "कम प्रतिबंधात्मक" दृष्टिकोण पर बहुत अधिक निर्भर करता है। सॉफ्टवेयर-उपयोगकर्ता के लिए MIT सॉफ्टवेयर में परिणामित हो सकता है जो कि GPL के तहत उपलब्ध एक से अधिक प्रतिबंधित है, यहां तक ​​कि कुछ आजकल GPL को अधिक प्रतिबंधक कहते हैं। विशिष्ट में वह उपयोगकर्ता MIT को अधिक प्रतिबंधक कहेगा। ऐसा कहना केवल व्यक्तिपरक है और विभिन्न लोग आपको अलग-अलग उत्तर देंगे।

जैसा कि विभिन्न लाइसेंस के प्रतिबंधों के बारे में बात करना व्यक्तिपरक है, आपको इसके बारे में सोचना चाहिए कि आप इसके बजाय क्या हासिल करना चाहते हैं:

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

जब तक आप लेखक हैं यह आप तय कर सकते हैं।

इसलिए सबसे अधिक प्रतिबंधक व्यक्ति कभी भी लेखक होता है, चाहे वह किसी के भी लाइसेंस का विरोध कर रहा हो;)


1
"पैकेज के अंदर एमआईटी कोड अभी भी एमआईटी के तहत उपलब्ध होगा" इसके बारे में पूरी तरह से निश्चित नहीं है। GPL + MIT प्रोजेक्ट को MIT भाग सहित एक ओपन सोर्स प्रोजेक्ट में बदलना चाहिए। अन्य मामले के लिए, LGPL पूरे प्रोजेक्ट के लिए कम घुसपैठ है।
मैगलैन्स

13
यद्यपि आप अपने उत्तर में बाद में स्पष्ट करते हैं, यह कहकर शुरू करना बहुत भ्रामक है कि "आप कर सकते हैं" जीपीएल-लाइसेंस प्राप्त कोड को एमआईटी-लाइसेंस प्राप्त परियोजना में शामिल कर सकते हैं। एक परियोजना जो मूल रूप से एमआईटी-लाइसेंस प्राप्त थी, अब एमआईटी लाइसेंस के तहत एक पूरे के रूप में वितरित नहीं की जा सकती है, क्योंकि इसमें कोड शामिल है जो केवल बीपीएल के तहत उपलब्ध है।
एंटीअनोम

3
यह दावा करना भी भ्रामक है कि प्रतिबंधात्मक व्यक्तिपरक है। यह पूछने के लिए एक उचित और गैर-व्यक्तिपरक प्रश्न है कि "मेरे द्वारा प्राप्त की गई फ़ाइलों के साथ मैं कानूनी रूप से क्या कार्य कर सकता हूं?" जीपीएल के तहत, कार्रवाई का वह सेट वास्तव में एमआईटी के तहत उन कार्यों का एक उचित सबसेट है।
एंटीऑनोम

1
@ खकरा: एमआईटी-लाइसेंस प्राप्त परियोजना में जीपीएल-लाइसेंस प्राप्त कोड का समावेश संभव नहीं है, क्योंकि परिणामस्वरूप पूरा अब एमआईटी-लाइसेंस प्राप्त नहीं है, भले ही आप इसे वितरित न करें। (यदि यह थे, तो एमआईटी लाइसेंस की शर्तों के हैं आप इसे वितरित करने की अनुमति!)
antinome

9
tl; dr: एक MIT- लाइसेंस प्राप्त ऐप में GPL कोड शामिल हो सकता है लेकिन परिणामी ऐप MIT- लाइसेंस प्राप्त नहीं है।
एंटीइन

16

आप सही हैं कि जीपीएल एमआईटी लाइसेंस की तुलना में अधिक प्रतिबंधात्मक है।

आप MIT लाइसेंस प्राप्त उत्पाद में GPL कोड शामिल नहीं कर सकते। यदि आप एक संयुक्त कार्य वितरित करते हैं जो GPL और MIT कोड को जोड़ती है (कुछ विशेष स्थितियों को छोड़कर, जैसे 'मात्र एकत्रीकरण'), तो उस वितरण को GPL के अनुरूप होना चाहिए।

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

यदि आप GPL कोड के कॉपीराइट स्वामी हैं, तो आप निश्चित रूप से उस कोड को MIT लाइसेंस के तहत जारी करना चुन सकते हैं - उस स्थिति में यह आपका कोड है और आप इसे जितने चाहें उतने लाइसेंस के तहत प्रकाशित कर सकते हैं।


3
जब तक कि परियोजना दोहरे लाइसेंस के तहत न हो, उदाहरण के लिए jquery।
बगेडकॉम

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

AFAIK यह बिल्कुल सच नहीं है। एफएसएफ के अनुसार जीपीएल एमआईटी लाइसेंस के साथ संगत है [1] दुर्भाग्य से यह इस तथ्य को नहीं बदलता है कि परियोजना अब एमआईटी लाइसेंस के तहत पूरी तरह से कवर नहीं है ... जो कि लोग आमतौर पर उम्मीद करेंगे। अब आप कोड को जारी किए बिना परियोजना को व्यावसायिक संदर्भ में समग्र रूप से उपयोग नहीं कर पाएंगे। इस भ्रम से बचने के लिए MIT लाइसेंस प्राप्त परियोजना में GPL कोड को शामिल नहीं करना बेहतर है। हालांकि, आप गलत नहीं हो सकते। [१] gnu.org/licenses/license-list.html#SoftwareLicenses
tcurdt

... लेकिन मुझे लगता है कि यह निर्भर करता है कि आप "उत्पाद" के रूप में क्या परिभाषित करते हैं
tcurdt

2
MIT लाइसेंस प्राप्त उत्पाद (शायद 'बेहतर होगा' आवेदन) में GPL कोड शामिल नहीं हो सकता। आप MPL उत्पाद में GPL कोड जोड़ सकते हैं, लेकिन परिणामी आवेदन केवल GPL लाइसेंस के तहत वितरित किया जा सकता है। मैंने पहले कभी किसी को एक ऐसे एप्लिकेशन का वर्णन करते नहीं देखा है जो केवल जीपीएल की शर्तों के तहत 'एमआईटी लाइसेंस प्राप्त उत्पाद' के रूप में वितरित किया जा सकता है। यदि लाइसेंस "संगत" नहीं थे, तो आप एक संयुक्त काम का उत्पादन नहीं कर सकते थे - तथ्य यह है कि वे संगत साधन हैं आप एक संयुक्त काम का उत्पादन कर सकते हैं जिसे आप वितरित कर सकते हैं और जीपीएल लाइसेंस प्राप्त है।
जोसेफ

5

IANAL लेकिन जैसा कि मैं इसे देखता हूं ...।

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

जीपीएल निर्भरता जोड़ने से आपके कोड का लाइसेंस नहीं बदलता है लेकिन यह सीमित कर देगा कि लोग आपकी परियोजना की कलाकृतियों के साथ क्या कर सकते हैं। यही कारण है कि एएसएफ अपनी परियोजनाओं के लिए जीपीएल कोड पर निर्भरता की अनुमति नहीं देता है।

http://www.apache.org/licenses/GPL-compatibility.html


1
+1 वास्तव में Microsoft इस समस्या को पूरी तरह से इंगित करता है, जीपीएल वायरल है क्योंकि यह प्रत्येक परियोजना को खुले स्रोत में बदल देता है।
मैगलन

10
यह कोई समस्या नहीं है । जीपीएल डिजाइन द्वारा वायरल है। यह उन लोगों द्वारा उपयोग किए जाने का इरादा है, जो अन्य लोगों के लिए अपने कोड को मुफ्त में उपयोग करना चाहते हैं, हालांकि वे चाहते हैं, लेकिन यह भी आवश्यक है कि अन्य लोग जो उस सॉफ़्टवेयर या एक व्युत्पन्न सम्मान उपयोगकर्ताओं की प्रतियां उसी तरह से प्रकाशित करें । जीपीएल के उपयोगकर्ताओं के बारे में । यह राज्य द्वारा लागू एकाधिकार के माध्यम से लाभ को अधिकतम करने वाली कंपनियों के बारे में नहीं है, इसलिए यह तथ्य यह है कि यह पुनरावर्ती है वास्तव में इसकी सुंदरता और ताकत है, न कि एक 'समस्या' जिसे Microsoft 'पूरी तरह से' इंगित कर सकता है। यह पहचानने के लिए कोई विशेष अंतर्दृष्टि नहीं है कि जीपीएल वायरल है ~ विकिपीडिया पर्याप्त है।
कार्ल स्मिथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.