कैसे करें: एक ओपन सोर्स लाइसेंस चुनें (भाग 1)

  • Sep 26, 2023

यदि आप कोई कोड लिखते हैं तो ध्यान रखें कि यह आपका है और आपको यह तय करना है कि अन्य लोग इसका उपयोग कैसे, कैसे या किन परिस्थितियों में कर सकते हैं। मान लीजिए कि आपने अपना कोड "ओपन सोर्स" के रूप में जारी करने का निर्णय लिया है। इसका क्या मतलब है, ओपन सोर्स लाइसेंस क्या है और आप सही लाइसेंस कैसे चुनते हैं? यह प्रश्न हर समय उठता रहता है इसलिए मैंने सोचा कि मैं विकल्पों को समझाने के लिए एक सरल निर्णय वृक्ष लिखूंगा।

अद्यतन:भाग 2 अब उपलब्ध है. [पाठकों की टिप्पणियों के आधार पर कुछ चीजों को स्पष्ट करने के लिए 22जून06 को इस लेख में और अधिक अपडेट किए गए। -ईबब]

आपने अपना कोड "ओपन सोर्स" के रूप में जारी करने का निर्णय लिया है। ठीक है, इसका क्या मतलब है, ओपन सोर्स लाइसेंस क्या है, और आप सही लाइसेंस कैसे चुनते हैं? यह प्रश्न हर समय उठता रहता है इसलिए मैंने सोचा कि मैं विकल्पों को समझाने के लिए एक सरल निर्णय वृक्ष लिखूंगा।बहुत से लोग इसके निहितार्थ को समझे बिना या अन्य विकल्पों को समझे बिना जीपीएल का उपयोग करते हैं। यह कानूनी सलाह नहीं है, और मैं वकील नहीं हूं, और मैं शायद कुछ बिंदुओं को अत्यधिक सरल बना रहा हूं, लेकिन मुझे आशा है कि आपको यह उपयोगी लगेगा।

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

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

नोट: यहां उल्लिखित सभी लाइसेंसों का पाठ यहां पाया जा सकता है opensource.org.

निर्णय 1: क्या आप अपने कोड के उपयोग और वितरण के तरीके पर कोई नियंत्रण छोड़ना चाहते हैं?

यदि हाँ, तो इसका कॉपीराइट न करें, और इसका लाइसेंस न लें। इसे सार्वजनिक डोमेन में डालें, और हो गया. यह उदाहरणों, टेम्प्लेट और अन्य उदाहरण कोड के लिए एक अच्छा विकल्प है, जहां पूरी बात यह है कि आप चाहते हैं कि हर कोई आपके द्वारा लिखे गए का उपयोग करने के लिए स्वतंत्र महसूस करे।[चेतावनी पाठकों ने बताया कि "सार्वजनिक डोमेन" एक अच्छा विकल्प नहीं है क्योंकि कई न्यायालयों में आप अपना कॉपीराइट नहीं छोड़ सकते हैं। इसके बजाय एमआईटी/बीएसडी जैसे उदार लाइसेंस का उपयोग करें। -22जून/ईबीबी] उदाहरण: किसी पुस्तक या लेख में कोड सूची।

यदि नहीं, तो कोड को कॉपीराइट करें (उस पर कॉपीराइट नोटिस चिपकाएँ) और निर्णय 2 के साथ जारी रखें।

संकेत: यह सुनिश्चित करने के लिए कि आपका इरादा स्पष्ट है, या तो स्पष्ट कॉपीराइट नोटिस डालें, या स्पष्ट सूचना दें कि कोड सार्वजनिक डोमेन में है. कॉपीराइट वह तरीका है जिससे आप नियंत्रण बनाए रखते हैं। कॉपीराइट के बिना, कोई नियंत्रण नहीं है. [तकनीकी रूप से नोटिस आवश्यक नहीं हो सकते हैं लेकिन वे नुकसान नहीं पहुंचाते हैं और फिर भी अनुशंसित हैं। -22जून/ईबीबी]

निर्णय 2: क्या आप लोगों को गैर ओपन-सोर्स प्रोग्राम में अपने कोड का उपयोग करने की अनुमति देना चाहते हैं?

यदि हाँ, तो निर्णय 3 जारी रखें.

यदि नहीं, तो जीपीएल के तहत अपना कोड जारी करें, एक प्रतिबंधात्मक "मुफ़्त (मुक्त) सॉफ़्टवेयर" लाइसेंस जो प्रत्यक्ष वाणिज्यिक हितों की कीमत पर उपयोगकर्ता की पसंद को सक्रिय रूप से बढ़ावा देता है। अधिकांश भाग के लिए, GPL'd कोड का उपयोग केवल अन्य GPL'd कोड के साथ किया जा सकता है, और वास्तव में यदि आप इसका उपयोग करना शुरू करते हैं [और वितरण -22जून/ईबीबी] किसी प्रोग्राम में कुछ जीपीएल कोड आपने लिखा है तो आपको या तो अपना प्रोग्राम जीपीएल के तहत भी जारी करना होगा या उस कोड का उपयोग छोड़ना होगा। यही कारण है कि जीपीएल को कभी-कभी "वायरल" के रूप में वर्णित किया जाता है। उदाहरण: Emacs, Linux कर्नेल।

संकेत: इस विकल्प को तब तक न लें जब तक कि आप वास्तव में इसका मतलब न निकालें। बहुत से लोग इसके निहितार्थ को समझे बिना या अन्य विकल्पों को समझे बिना जीपीएल का उपयोग करते हैं, और इस प्रकार संभावित उपयोगकर्ताओं के पूरे वर्ग से कोड को लॉक कर दें, इसलिए कृपया बाकी विकल्पों को पढ़ें पहला।

निर्णय 3: यदि कोई आपके प्रोग्राम में आपके कोड का उपयोग करता है और पैसे के लिए अपना प्रोग्राम बेचता है, तो क्या आप उस पैसे में से कुछ चाहते हैं?

यदि हाँ, तो आपके पास दो विकल्प हैं. पहली पसंद (3ए) इसे खुले स्रोत के रूप में बिल्कुल भी जारी नहीं करना है, यानी बंद स्रोत का उपयोग करना है हो गया. इससे कोई भी आपके कोड को निःशुल्क (बिना किसी शुल्क के) पैकेज में उपयोग करने से वंचित हो जाएगा। और यह लोगों को वाणिज्यिक कार्यक्रमों में आपके कोड का उपयोग करने की अनुमति केवल तभी देगा जब वे पहली बार आपके पास आए और वाणिज्यिक लाइसेंस के लिए सौदा किया। ध्यान दें कि भले ही स्रोत "बंद" हो, आप अनुमति दे सकते हैं यदि आप चाहते हैं कि कुछ लोगों को स्रोत तक पहुंच मिले और इसे सीमित तरीकों से उपयोग किया जाए। उदाहरण: माइक्रोसॉफ्ट विंडोज़, सन जावा (प्रकार)।

दूसरी पसंद (3बी) है दोहरा लाइसेंस. मैं थोड़ी देर में लाइसेंस के बारे में अधिक बात करूंगा, लेकिन दोहरे लाइसेंस का मतलब केवल यह है कि आप लोगों को दो या दो से अधिक लाइसेंस के तहत अपने कोड का उपयोग करने की अनुमति देते हैं। आप मुफ़्त (बिना किसी लागत) कार्यक्रमों के लिए एक लाइसेंस (संभवतः जीपीएल) और वाणिज्यिक ($$$) कार्यक्रमों के लिए एक लाइसेंस चुनें। यदि आप कोड के लिए लाइसेंस शुल्क से जीविकोपार्जन करने का प्रयास कर रहे हैं तो यह एक अच्छा विकल्प है। उदाहरण: MySQL, जेबॉस, स्लीपीकैट। निर्णय 4 जारी रखें.

यदि नहीं, तो एक या अधिक "वाणिज्यिक अनुकूल" लाइसेंस के तहत दूसरों को अपना कोड उपयोग करने की अनुमति दें। यह एक अच्छा विकल्प है यदि आप चाहते हैं कि आपका कोड अधिक से अधिक लोगों के हाथों में पहुंचे और या तो आपको पैसे की परवाह नहीं है या आप अन्य तरीकों से पैसा कमाने की योजना बना रहे हैं, उदाहरण के लिए कोड का उपयोग करने वाले अपने स्वयं के प्रोग्राम बेचकर या परामर्श या समर्थन से। उदाहरण: अपाचे HTTPD, एक्लिप्स, फ़ायरफ़ॉक्स। निर्णय 4 जारी रखें.

निर्णय 4: यदि कोई उपयोग करता है [और -22जून/ईबीबी वितरित करता है] आपका कोड और उसमें सुधार करता है (बग ठीक करता है या सुविधाएँ जोड़ता है) क्या आप चाहते हैं कि वे आपको सुधार वापस दें ताकि आप भी उनका उपयोग कर सकें?

यदि हाँ, तो "पारस्परिक" लाइसेंस का उपयोग करें। आपके कोड में कोई भी संशोधन आपके मूल कोड के समान लाइसेंसिंग शर्तों के तहत उपलब्ध कराया जाना चाहिए। यह उपयोगी है यदि आप चिंतित हैं कि कोई आपका कोड ले लेगा और अपने निजी "फोर्क" पर चला जाएगा। उदाहरण: एक्लिप्स (ईपीएल), सोलारिस (सीडीडीएल), और फ़ायरफ़ॉक्स (एमपीएल)। हो गया।

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

में एक अनुवर्ती लेख मैं समझाऊंगा कि सबसे अधिक उपयोग किए जाने वाले ओपन सोर्स लाइसेंस "व्यावसायिक अनुकूल" और "पारस्परिक" जैसी श्रेणियों में कैसे आते हैं, और टिप्पणीकारों द्वारा उठाए गए किसी भी चिंता का समाधान करते हैं। तो चाहे आप उपरोक्त मेरी बातों से सहमत हों या असहमत, कृपया मुझे टॉकबैक अनुभाग में कुछ प्रतिक्रिया दें।

[नोट: यह केवल अनौपचारिक, सरलीकृत, शैक्षिक उद्देश्यों के लिए है। यह किसी योग्य कानूनी पेशेवर की सलाह का विकल्प नहीं है। -22जून/ईबीबी]