क्या एमआईटी के ओपन सोर्स लाइसेंस को सार्वजनिक (एमआईटी लाइसेंस के तहत) वर्क वर्क की आवश्यकता होती है?


9

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

दूसरे शब्दों में, मैं निम्नलिखित नैतिकता रखना चाहता हूं: "आप मुफ्त में इस काम से लाभान्वित होते हैं, और यदि आप इसे सुधारते हैं, तो मैं आपके सुधार को मुफ्त में भी लाभान्वित कर सकता हूं"। यह एक प्रकार का कैपेलेफ्ट लाइसेंस है जिसकी मुझे तलाश है।

MIT लाइसेंस एक संभावित समाधान की तरह दिखता है, लेकिन मेरे लिए यह स्पष्ट नहीं है कि क्या इस लाइसेंस द्वारा कवर किए गए कोड के व्युत्पन्न कार्य MUB सभी के लिए सार्वजनिक रूप से उपलब्ध होने चाहिए। क्या कोई इसे स्पष्ट / पुष्टि कर सकता है? अगर मेरी जरूरतों को पूरा करने वाला एक और उपयुक्त ओपन सोर्स लाइसेंस है, तो मुझे भी दिलचस्पी है। धन्यवाद।


थोड़ी और अधिक उन्नत चर्चा यहाँ है: प्रोग्रामर.स्टैकएक्सचेंज
com

जवाबों:


9

एमआईटी लाइसेंस के लिए आवश्यक नहीं है कि वह खुले कामों के लिए व्युत्पन्न काम करे। आप GPL की तलाश कर रहे हैं ।

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


1
जीपीएल उपयोगकर्ता को जीपीएल के तहत व्युत्पन्न कार्य प्रकाशित करने के लिए मजबूर करता है जो बहुत अधिक प्रतिबंध पर जोर दे रहा है। मैं केवल यह चाहता हूं कि मेरी लाइब्रेरी के संशोधन उपलब्ध कराए जाएं। क्या मुझे LGPL का उपयोग करना चाहिए?
जेरेम वर्स्ट्रिनेज

8
उस मामले में, हां - LGPL अधिक उपयुक्त है।
चींटी

ध्यान दें कि (L) GPL केवल पुनर्वितरण पर ट्रिगर होता है। एक अंत-उपयोगकर्ता जो केवल निजी उपयोग के लिए एक व्युत्पन्न कार्य बनाता है, वह (एल) जीपीएल दायित्वों से बाध्य नहीं है। यानी सख्ती से बोलना इस सवाल का जवाब नहीं है, क्योंकि यह पूरी तरह से गलत है।
10

7
@MSalters: मुझे लगता है कि यह जानना लगभग असंभव होगा कि किसी ने आपके कोड से कुछ प्राप्त किया था जब तक कि उन्होंने इसे किसी रूप में प्रकाशित नहीं किया था, जिससे यह मुद्दा कुछ हद तक गलत हो गया।
चींटी

6

संक्षिप्त जवाब

एक्लिप्स पब्लिक लाइसेंस और एलजीपीएल का संयोजन यह सुनिश्चित करता है कि आप क्या चाहते हैं: आपके कोड के संशोधन उपलब्ध कराए जाने हैं, लेकिन किसी बड़े उत्पाद में कोड का उपयोग करने से बड़े उत्पाद को दोबारा उपयोग में नहीं लाया जाता है। संयोजन जीपीएल और गैर-जीपीएल दोनों परियोजनाओं में कोड का उपयोग करने की अनुमति देने के लिए आवश्यक है।

यह एक तरह से प्रोजेक्ट है जैसे कि JGraphT ने किया है। उन्होंने ईपीएल और एलजीपीएल के तहत अपनी परियोजना को फिर से लागू किया। उनकी विकी में प्रेरणा और प्रक्रिया का वर्णन किया गया है ।

लंबा जवाब

मुझे लगता है, मोज़िला पब्लिक लाइसेंस ( एमपीएल ) या एक्लिप्स पब्लिक लाइसेंस ( ईपीएल ) वह लाइसेंस है जिसकी आप तलाश कर रहे हैं, क्योंकि "यदि लाइब्रेरी से कोई व्युत्पन्न कार्य बनाया जाता है (उदाहरण के लिए लाइब्रेरी का कोई सुधार), तो यह है" ] उसी लाइसेंस के तहत सभी को उपलब्ध कराया गया। "

MPL और EPL लाइसेंस GPL और MIT के बीच है।

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

जीपीएल उपयोगकर्ता को समुदाय के सभी कोड को दूर करने के लिए मजबूर करता है, भले ही आपका पुस्तकालय पूरे उत्पाद का केवल 1% हो।

LGPL उपयोगकर्ता को कोड के LGPL-part का संशोधन देने के लिए बाध्य करता है।

एमपीएल और ईपीएल एलजीपीएल के समान हैं: यह उपयोगकर्ता को संशोधित स्रोत उपलब्ध कराने के लिए भी मजबूर करता है। "संशोधित स्रोत" में केवल एमपीएल- / ईपीएल-कवर कोड का हिस्सा शामिल है। इसका मतलब है कि, उपयोगकर्ता आपके पुस्तकालय से बाहर एक नया उत्पाद बना सकता है। यदि वह MPL- / EPL- भाग का संशोधन करता है, तो उसे प्रकाशित करना होगा। उसके द्वारा नई चीजों को प्रकाशित करने की आवश्यकता नहीं है।

मुझे लगता है कि MPL / EPL अधिक उपयुक्त है, क्योंकि LGPL स्पष्ट रूप से "पुस्तकालयों" के बारे में बात करता है और MPL सिर्फ "कवर किए गए सॉफ़्टवेयर" (जो कि एक व्यापक गुंजाइश है) के बारे में बात करता है।

हालांकि, ईपीएल को चुनने से जीपीएल सॉफ्टवेयर के साथ सॉफ्टवेयर का मुकाबला करने में परेशानी होती है: ईपीएल जीपीएल के साथ संगत नहीं हैयह मामला नहीं है यदि आप सिर्फ एमपीएल का उपयोग करते हैं

यदि आप यह सुनिश्चित करना चाहते हैं कि आपका कोड जीपीएल और गैर-जीपीएल दोनों परियोजनाओं में उपयोग किया जा सकता है, तो एलजीपीएल और ईपीएल के तहत कोड को दोहरे लाइसेंस दें जैसा कि संक्षिप्त उत्तर में वर्णित है।

उदाहरण

  • JGraphT
  • logback
  • कुओक्सडू । वे "क्ओक्सडू लाइसेंसिंग शर्तों को सरल बनाने और आधुनिक बनाने के लिए योजना बना रहे हैं" और इस प्रकार वे दोहरी लाइसेंसिंग से एमआईटी में बदल जाते हैं।

क्या आप कृपया बता सकते हैं कि क्यों आपको लगता है कि एमपीएल उन मानदंडों को फिट करता है जो ओपी की तलाश में हैं?
maple_shaft

यदि आप GPL'd उत्पाद में इस सॉफ़्टवेयर का उपयोग करते हैं, तो 'दोहरी लाइसेंस' दिखना चाहिए? क्या कोई ऐसी परियोजनाएं हैं जो ऐसा काम करती हैं?
9000

@ 9000 जीएनयू में पूछे गए सवालों के अनुसार , कोड एमपीएल और जीएनयू दोनों द्वारा कवर किया गया है। दूसरा पैराग्राफ थोड़ा अजीब है और मुझे इसके निहितार्थ नहीं मिले।
कोपपर

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