संक्षिप्त जवाब
एक्लिप्स पब्लिक लाइसेंस और एलजीपीएल का संयोजन यह सुनिश्चित करता है कि आप क्या चाहते हैं: आपके कोड के संशोधन उपलब्ध कराए जाने हैं, लेकिन किसी बड़े उत्पाद में कोड का उपयोग करने से बड़े उत्पाद को दोबारा उपयोग में नहीं लाया जाता है। संयोजन जीपीएल और गैर-जीपीएल दोनों परियोजनाओं में कोड का उपयोग करने की अनुमति देने के लिए आवश्यक है।
यह एक तरह से प्रोजेक्ट है जैसे कि JGraphT ने किया है। उन्होंने ईपीएल और एलजीपीएल के तहत अपनी परियोजना को फिर से लागू किया। उनकी विकी में प्रेरणा और प्रक्रिया का वर्णन किया गया है ।
लंबा जवाब
मुझे लगता है, मोज़िला पब्लिक लाइसेंस ( एमपीएल ) या एक्लिप्स पब्लिक लाइसेंस ( ईपीएल ) वह लाइसेंस है जिसकी आप तलाश कर रहे हैं, क्योंकि "यदि लाइब्रेरी से कोई व्युत्पन्न कार्य बनाया जाता है (उदाहरण के लिए लाइब्रेरी का कोई सुधार), तो यह है" ] उसी लाइसेंस के तहत सभी को उपलब्ध कराया गया। "
MPL और EPL लाइसेंस GPL और MIT के बीच है।
एमआईटी उपयोगकर्ता को इसके साथ सब कुछ करने की अनुमति देता है, जिसमें संशोधन करना, बेचना और समुदाय को संशोधित कोड वापस नहीं देना शामिल है।
जीपीएल उपयोगकर्ता को समुदाय के सभी कोड को दूर करने के लिए मजबूर करता है, भले ही आपका पुस्तकालय पूरे उत्पाद का केवल 1% हो।
LGPL उपयोगकर्ता को कोड के LGPL-part का संशोधन देने के लिए बाध्य करता है।
एमपीएल और ईपीएल एलजीपीएल के समान हैं: यह उपयोगकर्ता को संशोधित स्रोत उपलब्ध कराने के लिए भी मजबूर करता है। "संशोधित स्रोत" में केवल एमपीएल- / ईपीएल-कवर कोड का हिस्सा शामिल है। इसका मतलब है कि, उपयोगकर्ता आपके पुस्तकालय से बाहर एक नया उत्पाद बना सकता है। यदि वह MPL- / EPL- भाग का संशोधन करता है, तो उसे प्रकाशित करना होगा। उसके द्वारा नई चीजों को प्रकाशित करने की आवश्यकता नहीं है।
मुझे लगता है कि MPL / EPL अधिक उपयुक्त है, क्योंकि LGPL स्पष्ट रूप से "पुस्तकालयों" के बारे में बात करता है और MPL सिर्फ "कवर किए गए सॉफ़्टवेयर" (जो कि एक व्यापक गुंजाइश है) के बारे में बात करता है।
हालांकि, ईपीएल को चुनने से जीपीएल सॉफ्टवेयर के साथ सॉफ्टवेयर का मुकाबला करने में परेशानी होती है: ईपीएल जीपीएल के साथ संगत नहीं है । यह मामला नहीं है यदि आप सिर्फ एमपीएल का उपयोग करते हैं ।
यदि आप यह सुनिश्चित करना चाहते हैं कि आपका कोड जीपीएल और गैर-जीपीएल दोनों परियोजनाओं में उपयोग किया जा सकता है, तो एलजीपीएल और ईपीएल के तहत कोड को दोहरे लाइसेंस दें जैसा कि संक्षिप्त उत्तर में वर्णित है।
उदाहरण
- JGraphT
- logback
कुओक्सडू । वे "क्ओक्सडू लाइसेंसिंग शर्तों को सरल बनाने और आधुनिक बनाने के लिए योजना बना रहे हैं" और इस प्रकार वे दोहरी लाइसेंसिंग से एमआईटी में बदल जाते हैं।