GitHub लाइसेंस कैसे चुनें और गलत चुनाव न करना क्यों महत्वपूर्ण है? गिटहब आईटी परियोजनाओं के संयुक्त विकास और उनके बाद की मेजबानी के लिए सबसे बड़ी सेवा है। इस वेब सेवा की मदद से, असीमित संख्या में लोग एक साथ किसी प्रोजेक्ट पर काम कर सकते हैं, साथ ही दुनिया में कहीं से भी। इसके अलावा GitHub में एक प्रबंधन प्रणाली या नियंत्रण है जो आपको किसी भी समय डेवलपर्स द्वारा किए गए सभी परिवर्तनों को देखने और नियंत्रित करने की अनुमति देता है, और यह आपको उस स्थिति में लौटने की भी अनुमति देता है जो परिवर्तनों से पहले हुई थी।
लेकिन इसे सीधे शब्दों में कहें तो, GitHub प्रोग्रामर और डेवलपर्स के लिए एक तथाकथित सोशल नेटवर्क है, जहां आप अन्य डेवलपर्स के कोड का उपयोग करके पा सकते हैं और फिर अभ्यास कर सकते हैं। आप अपने पोर्टफोलियो को गिटहब में भी स्टोर कर सकते हैं। कुल मिलाकर, GitHub एक ऐसी सेवा है जो नौसिखिए डेवलपर्स और अनुभवी प्रोग्रामर दोनों के लिए उपयुक्त है। हालांकि, इस सेवा के उपयोगकर्ताओं के पास कभी-कभी लाइसेंस चुनने के बारे में कुछ प्रश्न हो सकते हैं, क्योंकि उनकी पसंद काफी विविध है।
GitHub लाइसेंस क्या है
एक लाइसेंस एक विशेष दस्तावेज है जो राज्य के रूप में स्थापित किया गया था और एक निश्चित प्रकार की उद्यमशीलता गतिविधि में संलग्न होने की अनुमति देता है, जिसके लिए राज्य पार्टी से विशेष ध्यान देने की आवश्यकता होती है। लेकिन, अक्सर, व्यवहार में, केवल संक्षिप्त लाइसेंसिंग समझौतों का उपयोग किया जाता है या ऐसे समझौते जो निजी कानून लाइसेंस जारी करने के लिए प्रदान करते हैं। सामान्य तौर पर, लाइसेंस केवल एक का पीछा करता है, लेकिन सबसे महत्वपूर्ण लक्ष्य, यह लाइसेंसकर्ता और लाइसेंसधारी के बीच दायित्वों और अधिकारों पर एक समझौता है। ये कर्तव्य और अधिकार बिल्कुल कुछ भी हो सकते हैं, लेकिन केवल कानून के ढांचे के भीतर। एक उल्लेखनीय उदाहरण यह है कि लाइसेंसधारक द्वारा काम का उपयोग करते समय लाइसेंसकर्ता को कॉपीराइट धारक के नाम के अनिवार्य संकेत की आवश्यकता हो सकती है। या, उदाहरण के लिए, कार्य की प्रतिलिपि बनाने की अनुमति देने के लिए,लेकिन इसके किसी भी संशोधन को पूरी तरह से प्रतिबंधित करें। या, इस तरह की आवश्यकताओं को कम करने के लिए कि काम पूरी तरह से मूल के समान शर्तों पर बनाया जाना चाहिए, और इसी तरह, विभिन्न स्थितियों के बहुत सारे उदाहरण सामने रखे जा रहे हैं। [कैप्शन आईडी = “अटैचमेंट_12368” एलाइन = “एलाइनसेंटर” चौड़ाई = “780”]
अपाचे लाइसेंसों में से एक का एक उदाहरण [/ कैप्शन]
लेकिन, हमें यह भी नहीं भूलना चाहिए कि लाइसेंस न केवल लाइसेंसकर्ता, बल्कि लाइसेंसधारी के अधिकारों की भी रक्षा करता है। चूंकि इसमें आप काम के उपयोग की सभी शर्तों को स्पष्ट रूप से देख और पढ़ सकते हैं और इसलिए उन्हें इस बात से डरने की जरूरत नहीं है कि लाइसेंसकर्ता अचानक अपने काम के उपयोग के लिए किसी भी रॉयल्टी या किसी अन्य मुआवजे की मांग करेगा।
अगर आप किसी काम से जुड़े लाइसेंस से ऑप्ट आउट करते हैं, तो कॉपीराइट उस देश में लागू कानूनी नियमों के अनुसार अभी भी लागू होगा। सीधे शब्दों में कहें, लाइसेंस के अभाव का यह अर्थ नहीं है कि अन्य लेखक इस परियोजना का उपयोग अपनी इच्छानुसार कर सकते हैं। सब कुछ, बिल्कुल, इसके विपरीत, क्योंकि बिना किसी विशिष्ट लाइसेंस के, एक प्रोग्रामर किसी भी तरह से उन अधिकारों का त्याग नहीं करता है जो कानून द्वारा दिए गए थे। यह हमेशा याद रखना भी महत्वपूर्ण है कि लाइसेंस सभी अधिकारों और दायित्वों को नियंत्रित करता है। यह काम के मालिक को उपयोगकर्ता की अपेक्षाओं और किसी भी वारंटी के अर्थ से बचाने के लिए है। आखिर कोई नहीं चाहता कि उसका कोड किसी भी तरह कोर्ट में जाए।
कॉपीराइट क्या है
कॉपीराइट किसी व्यक्ति को तभी दिखाई देता है, जब बौद्धिक गतिविधि के परिणामस्वरूप, वह एक ऐसा कार्य बनाता है जो अद्वितीय होगा, लेकिन साथ ही उपयोगी होगा, उदाहरण के लिए, आप उसी कार्यक्रम के लेखन को ले सकते हैं। जब उपरोक्त सभी हो जाते हैं, तो व्यक्ति लेखक बन जाता है और अब उसके पास इस कार्य का पूर्ण कॉपीराइट है। यह भी कहा जाना चाहिए कि कॉपीराइट मालिकाना और गैर-मालिकाना हैं। उनका अंतर यह है कि संपत्ति के अधिकार किसी को भी हस्तांतरित किए जा सकते हैं, लेकिन संपत्ति के अधिकार हमेशा किसी भी स्थिति में लेखक के पास ही नहीं रहेंगे। आखिरकार, लेखक होना एक अहस्तांतरणीय और अहस्तांतरणीय अधिकार है।
ओपन सोर्स लाइसेंस किसके लिए है?
नौसिखिए डेवलपर्स और प्रोग्रामर के बीच यह भी एक काफी लोकप्रिय प्रश्न है, क्योंकि वे बस यह नहीं समझते हैं कि उन्हें अपनी परियोजनाओं के लिए कोई लाइसेंस क्यों संलग्न करना चाहिए, क्योंकि इसके बिना परियोजना भी आसानी से मौजूद हो सकती है। हालांकि, यह पूरी तरह से सच नहीं है, क्योंकि अगर, उदाहरण के लिए, कुछ नौसिखिए डेवलपर ने कुछ महत्वपूर्ण और उपयोगी कोड लिखा है, लेकिन लाइसेंस के साथ इसकी रक्षा नहीं की है, तो अन्य उपयोगकर्ताओं के पास प्रश्न हैं। और ठीक इसी वजह से, जब ग्राहक उसके पास आते हैं और अपने व्यावसायिक उद्देश्यों के लिए कोड के इस टुकड़े का उपयोग करना चाहते हैं, तो वे देखते हैं कि कोड के पास कोई लाइसेंस नहीं है और बस इसे मना कर देते हैं। यह इस तथ्य के कारण है कि कंपनियां बिना लाइसेंस के कोड का उपयोग नहीं करेंगी, क्योंकि उन्हें कानून और वकीलों के साथ समस्याओं की आवश्यकता नहीं है।
और इसीलिए, सबसे उपयोगी और सुविधाजनक परियोजना भी कभी साकार नहीं होगी। और जो डेवलपर कोड के इस टुकड़े को लेना चाहता था, उसे एक विकल्प की तलाश करनी होगी और उसका उपयोग करना होगा या उस कोड को पूरी तरह से फिर से लिखना होगा जो पहले से ही एक नौसिखिए डेवलपर द्वारा लिखा गया था। इसलिए, यह पहले से सुनिश्चित करना सबसे अच्छा होगा कि प्रोग्रामर सही, और सबसे महत्वपूर्ण, उपयुक्त लाइसेंस का उपयोग कर रहा है। 15 मिनट में एक वीडियो ट्यूटोरियल में GitHub को एक्सप्लोर करें: https://youtu.be/JfpCicDUMKc
कुछ शर्तों के लिए कौन सा GitHub लाइसेंस सही है – कैसे चुनें?
इस प्रश्न का कोई सटीक उत्तर नहीं हो सकता है, क्योंकि लाइसेंस का चुनाव केवल परियोजना के लक्ष्यों और स्वयं डेवलपर की व्यक्तिगत प्राथमिकताओं और इच्छाओं पर निर्भर करता है। जैसा कि आप देख सकते हैं, गिटहब पर बहुत सारे विभिन्न लाइसेंस हैं, और सबसे महत्वपूर्ण बात यह है कि वे सभी मुफ्त और सार्वजनिक रूप से उपलब्ध हैं, जिसका अर्थ है कि प्रत्येक प्रोग्रामर
ओपन सोर्स लाइसेंस ढूंढ सकता है जो उसकी परियोजना के लिए बिल्कुल उपयुक्त है। लेकिन, सबसे महत्वपूर्ण बात, हमें यह नहीं भूलना चाहिए कि ओपन सोर्स लाइसेंस केवल बिना लाइसेंस वाला कोड नहीं है। [कैप्शन आईडी = “अटैचमेंट_12367” एलाइन = “एलाइनसेंटर” चौड़ाई = “709”] गिटहब
पर लाइसेंस का परिवार [/ कैप्शन] थोड़ा शोध करने के बाद, आप सभी ओपन सोर्स लाइसेंस एकत्र कर सकते हैं और उन्हें तीन बड़े मुख्य समूहों में विभाजित कर सकते हैं:
- जोरदार सुरक्षात्मक।
- कमजोर बचाव।
- अनुमेय।
दृढ़ता से सुरक्षात्मक
अत्यधिक रक्षात्मक लाइसेंस अक्सर GPL के भिन्नरूप होते हैं। इन लाइसेंसों के लिए आवश्यक रूप से परियोजना के लाइसेंस के साथ-साथ स्रोत कोड के प्रकटीकरण की आवश्यकता होती है, भले ही किसी कोड या परियोजना का उपयोग कैसे किया जाएगा या पहले ही उपयोग किया जा चुका है।
कमजोर बचाव
कमजोर रक्षात्मक लाइसेंस अक्सर कम जीपीएल के रूपांतर होते हैं। जिसमें अनुमेय लाइसेंस से मुख्य अंतर यह है कि जीपीएल लाइसेंस के तहत कार्यक्रम को लाइसेंस देना आवश्यक है, साथ ही बिना असफलता के स्रोत कोड प्रदान करना है। इसके अलावा, अगर किसी प्रोग्रामर के प्रोजेक्ट में LGPL लाइसेंस के तहत लाइब्रेरी, यानी स्टेटिक लिंकिंग या डायनेमिक लिंकिंग शामिल है, तो यह प्रोग्रामर के किसी भी प्रोजेक्ट लाइसेंस के साथ भी संगत होगा। [कैप्शन आईडी = “अटैचमेंट_12364” एलाइन = “एलाइनसेंटर” चौड़ाई = “698”]
जहां गिटहब पर लाइसेंस के प्रकार का संकेत दिया गया है [/ कैप्शन]
अनुमोदक
बड़ी संख्या में अनुमेय लाइसेंस हैं, उनमें से सबसे लोकप्रिय लाइसेंस MIT, Apache 2.0 और BSD हैं। थोड़े बदलाव के साथ, इन लाइसेंसों में ओपन सोर्स प्रोजेक्ट्स और व्यावसायिक उद्देश्यों और परियोजनाओं दोनों में कोड के उपयोग की अनुमति देने की क्षमता है। लेकिन, इस मामले में, यह याद रखना महत्वपूर्ण है कि मूल कार्यक्रम के लेखकत्व को इंगित करना आवश्यक है।
अन्य लोकप्रिय GitHub लाइसेंस
लाइसेंस के इन तीन समूहों के अलावा, अन्य हैं, उदाहरण के लिए, क्लासपाथ एक्सटेंशन के साथ GPLv2 सबसे उपयोगी लाइसेंसों में से एक है। इस लाइसेंस का उपयोग ओपन सोर्स प्रोजेक्ट्स और वाणिज्यिक परियोजनाओं और उद्देश्यों दोनों में भी किया जा सकता है। इसकी सबसे लोकप्रिय उपस्थिति Oracle में है, यह कंपनी अपने ओपन सोर्स प्रोजेक्ट्स और समाधानों को लाइसेंस देने के लिए क्लासपाथ एक्सटेंशन के साथ GPLv2 का उपयोग करती है। यह लाइसेंस काफी महत्वपूर्ण और उपयोगी है, क्योंकि सामान्य जीपीएल लाइसेंस, उदाहरण के लिए, बाइटकोड को कभी भी संभाल नहीं सकते हैं। अर्थात्, उनके पास संकलन और लिंकिंग प्रक्रिया का एक विशेष विवरण है, जो अन्य व्याख्या की गई प्रोग्रामिंग भाषाओं के लिए पूरी तरह से अनुपयुक्त है, ऐसी भाषाओं में सबसे लोकप्रिय जावा भाषा शामिल है।ऐसे मामलों के लिए क्लासपाथ एक्सटेंशन के साथ एक विशेष GPLv2 लाइसेंस जारी किया गया था। आखिरकार, यह बहुत स्पष्ट और स्पष्ट रूप से कहता है कि इस लाइसेंस के तहत जारी किया गया पुस्तकालय वाणिज्यिक परियोजनाओं और उद्देश्यों में बिल्कुल किसी अन्य लाइसेंस के साथ उपयोग किया जा सकता है।
गिटहब लाइसेंस के बारे में आपको और क्या जानने की जरूरत है
।
लाइसेंस जोड़ना
अंतिम लाइसेंस के अंत में चुने जाने के बाद, जो कुछ बचा है वह इसे प्रोजेक्ट रूट में ही जोड़ना है। इस क्रिया को करने के लिए, आपको प्रोजेक्ट के निर्माण के दौरान या सामान्य रूप से किसी अन्य समय प्रोजेक्ट रूट के तहत चयनित लाइसेंस जोड़ने की आवश्यकता है। लेकिन इस कार्रवाई में भी, गिटहब वेब सेवा अपने उपयोगकर्ताओं की देखभाल करने में कामयाब रही और उन्होंने परियोजना की शुरुआत में ही अंतिम लाइसेंस जोड़ने का काफी सुविधाजनक तरीका बनाया।
हालांकि, दुर्भाग्य से यह सब नहीं है, क्योंकि डेवलपर या प्रोग्रामर को पूरी तरह से उन सभी निर्भरताओं की जांच करने की आवश्यकता है जो उनके विचार या परियोजना में उपयोग की गई थीं। यही है, भले ही निर्भरता में से एक जीपीएल लाइसेंस के तहत जारी किया गया हो, फिर भी पूरी तरह से डेवलपर की पूरी परियोजना जीपीएल संगत होनी चाहिए। इस तरह के सत्यापन के लिए, आमतौर पर इसके लिए पहले से बनाए गए प्रोग्राम या टूल का उपयोग किया जाता है। उदाहरण के लिए, इस https://github.com/pivotal/LicenseFinder के लिए एक टूल है:
हम कह सकते हैं कि लाइसेंसिंग एक समय लेने वाला कार्य है, लेकिन साथ ही किसी परियोजना के जीवन या प्रोग्रामर के किसी भी विचार के लिए एक आवश्यक कार्रवाई है। सही लाइसेंस चुनने के लिए, दुर्भाग्य से, आपको बहुत समय बिताना होगा, हालांकि, परियोजना के सफल होने के लिए यह इसके लायक है। प्रोग्राम लिखते समय लाइसेंस के चुनाव को पहले स्थान पर रखना सबसे अच्छा है, क्योंकि शुरुआत में ही ऐसा करने के बाद, आप अपने सभी प्रयासों को सही दिशा में निर्देशित कर सकते हैं और एक प्रोग्राम लिख सकते हैं जो अधिकांश के लिए सफल और सुविधाजनक होगा। उपयोगकर्ता।