GitHub अनुज्ञापत्राणि – वयं किं वदामः? सॉफ्टवेयरस्य निर्माणार्थं न केवलं तत् लिखितव्यं, अपितु उपयोक्तृणां वा विकासकानां वा तस्मिन् किं कर्तुं अधिकारः अस्ति इति निर्णयः करणीयः । यदि कश्चित् सर्वेषां कृते निःशुल्कं कार्यक्रमं निर्माति तर्हि सः सत्कर्म करोति, परन्तु यः तस्य उपयोगं करोति सः तस्य उपयोगं कथं करोति इति न्याय्यं कर्तव्यं भविष्यति। यथा, यदि कश्चन कम्पनी स्वक्रियासु केनचित् निःशुल्ककार्यालयेन सह कार्यं करिष्यति (उदाहरणार्थं, LibreOffice), तर्हि सा निरीक्षकाणां समक्षं प्रमाणयितुं समर्था भवितुमर्हति यत् तस्य अधिकारः अस्ति एतत् कर्तुं समुचितं अनुज्ञापत्रं प्रस्तुतं कर्तुं पर्याप्तं भविष्यति। यदि विकासकः तस्य सूत्रीकरणं विस्मरति तर्हि कम्पनी कठिनस्थितौ भवितुम् अर्हति । अनुप्रयोगस्य निर्माणकाले विकासकः निर्णयं कर्तुं अर्हति यत् तस्य कार्यक्रमेन सह के के क्रियाः अनुमताः भविष्यन्ति, के न भविष्यन्ति इति। यथा, वयं न केवलं उपयोगस्य विषये, अपितु कार्यक्रमानां पाठानाम् अध्ययनस्य विषये वा सॉफ्टवेयर-उत्पादस्य स्वस्य समायोजनस्य विषये अपि वक्तुं शक्नुमः । GitHub इति सहकारिप्रकल्पविकासाय बृहत्तमेषु सेवासु अन्यतमम् अस्ति । तत्सह, ते अत्र न केवलं निःशुल्कं, अपितु वाणिज्यिकपरियोजनासु अपि कार्यं कर्तुं शक्नुवन्ति। समुचितं अनुज्ञापत्रं निर्दिश्य विकासकाः निर्मितस्य उत्पादस्य उपयोगं कथं कर्तव्यमिति अस्पष्टतां निवारयिष्यन्ति । समस्या अस्ति यत् अनेकविधाः अनुज्ञापत्राणि सन्ति, तथा च प्रकरणविशेषे कः विकल्पः चयनीयः इति निर्धारयितुं सर्वदा सुलभं न भवति । केषाञ्चन परियोजनासु अनुज्ञापत्रं नास्ति इति अपि असामान्यं न भवति ।
- GitHub इत्यत्र Open Source परियोजनाणां अनुज्ञापत्रं किमर्थं दातव्यम्
- के प्रकाराः अनुज्ञापत्राणि सन्ति
- Github license कथं चयनीयम्
- Github मध्ये license कथं योजयितुं शक्यते
- एकं अनुज्ञापत्रं चिनुत Github – Git Hub इत्यत्र लोकप्रियानाम् अनुज्ञापत्राणां उदाहरणानि
- जीपीएल
- एलजीपीएल
- ग्रहण सार्वजनिक अनुज्ञापत्र
- मोजिला सार्वजनिक अनुज्ञापत्र
- अपाचे अनुज्ञापत्र Github
- MIT अनुज्ञापत्रम्
- जलान्तरशिलाः
GitHub इत्यत्र Open Source परियोजनाणां अनुज्ञापत्रं किमर्थं दातव्यम्
आवश्यकं अनुज्ञापत्रं निर्दिशति सति विकासकः तस्मिन् निम्नलिखितम् प्रदातुं शक्नोति ।
- कार्यक्रमस्य उपयोगस्य शर्ताः . तेषु शुल्कं भवति अथवा केषुचित् वा सर्वेषु वा निःशुल्कप्रयोगस्य अनुमतिः भवति ।
- कदाचित् समुदायेन विकसितुं कार्यक्रमाः निर्मीयन्ते | अस्मिन् सति ये सर्वे कार्यक्रमग्रन्थानां परिचयं प्राप्तुम् इच्छन्ति तेषां कृते महत्त्वपूर्णम्।
- यदा कार्यक्रमस्य पाठाः उपलभ्यन्ते तदा केचन परिवर्तनं कृत्वा कार्यक्रमं कार्यात्मकं यथासम्भवं विश्वसनीयं च कर्तुं शक्नुवन्ति । कदाचित् लेखकः सर्वेभ्यः एतत् कर्तुं अनुमन्यते, अन्येषु सन्दर्भेषु सः परिवर्तनं तस्मै प्रेषयितुं प्रस्तावति, परियोजनायां स्वयमेव समायोजनं च करोति
- भवद्भिः निर्णयः करणीयः यत् तृतीयपक्षः परियोजनायां परिवर्तनं कृत्वा स्वपक्षतः प्रस्तावः कर्तुं शक्नोति वा इति। एतत् कुर्वन् भवद्भिः निर्दिष्टव्यं यत् तेषां उत्पादः केन अनुज्ञापत्रेण सह भवेत् ।
एतेषां तथा तत्सदृशानां प्रश्नानां समाधानं कृत्वा अनुप्रयोगस्य लेखकः वस्तुतः बहुधा स्वनिर्मितस्य सॉफ्टवेयर-उत्पादस्य भविष्यस्य भाग्यं निर्धारयति ।
के प्रकाराः अनुज्ञापत्राणि सन्ति
अनुज्ञापत्रम् एकः सम्झौता अस्ति यस्मिन् एकः पक्षः (अनुज्ञापत्रदाता) अन्यपक्षस्य (अनुज्ञापत्रधारकस्य) कृते स्वनिर्मितस्य उत्पादस्य उपयोगाय नियमं स्थापयति । व्यवहारे वयं पक्षैः दस्तावेजस्य हस्ताक्षरस्य विषये न वदामः, अपितु तस्य उपयोगे तत्सम्बद्धैः अधिकारैः दायित्वैः च सह स्वचालितसमझौतेः विषये वदामः अधिकाराणां दायित्वानाञ्च निर्दिष्टीकरणे व्यावहारिकरूपेण कोऽपि प्रतिबन्धः नास्ति । केवलं शर्तं यत् तेषां नियमस्य अनुपालनं करणीयम्। स्वस्य अनुज्ञापत्रस्य निर्माणं जटिलं कार्यम् अस्ति, यतः अन्यैः नियमैः सह सङ्गतं भवितुमर्हति । एतादृशानां दस्तावेजानां मानकविविधतासु एकं चयनं कृत्वा उपयोगं कर्तुं सर्वोत्तमः विकल्पः अस्ति । व्यवहारे बहुअनुज्ञापत्रस्य प्रयोगः अपि प्रचलति । प्रायः एतादृशेषु सति द्वौ अनुज्ञापत्रौ युगपत् उपयुज्यते । यद्यपि कार्यक्रमस्य लेखकस्य स्वतन्त्रतया नियमाः निर्मातुं अधिकारः अस्ति येषां अनुसरणं उपयोक्तृभिः अवश्यं करणीयम्, तथापि व्यवहारे बहूनां प्रकारस्य अनुज्ञापत्राणां उपयोगः विकसितः अस्ति, यस्मात् भवान् अधिकतया समीचीनं चयनं कर्तुं शक्नोति अधिकांशप्रसङ्गेषु Git Hub इत्यत्र उपयुज्यमानाः सर्वाधिकं लोकप्रियाः विकल्पाः निम्नलिखितरूपेण सन्ति । Git Hub इत्यत्र सर्वाधिकं प्रयुक्ताः अनुज्ञापत्राणि सन्ति :
प्रोग्रामरः स्वस्य योजनानां अनुरूपं एकं चयनं कर्तुं समर्थः भवितुम् अर्हति । एतत् सम्यक् कर्तुं भवद्भिः अवगन्तव्यं यत् कतिपयेषु जातिषु के के विशेषताः निहिताः सन्ति ।
यदि लेखकः दस्तावेजस्य सूत्रीकरणं कर्तुं नकारयति तर्हि अस्मिन् सन्दर्भे प्रतिलिपिधर्माः प्रवर्तन्ते, ये स्वदेशस्य विधानेन पूर्वनिर्धारितरूपेण प्रदत्ताः सन्ति एवं प्रकारेण अनुज्ञापत्रस्य अभावेन कार्यक्रमेन किमपि कर्तुं शक्यते इति न भवति । वस्तुतः एतादृशी स्थितिः अनुज्ञापत्रस्य एकः प्रकारः इति गणयितुं शक्यते ।
Github license कथं चयनीयम्
भवन्तः उपयुक्तं विकल्पं अन्वेष्टुं आरभ्यतुं पूर्वं आवश्यकं यत् प्रोग्रामरः स्वस्य आवश्यकताः सूत्रयतु, यस्मात् सः अग्रे अनुज्ञापत्रं दातुं गच्छति तदनन्तरं भवन्तः अनुरोधेन सह मेलनं कुर्वन्तः विशिष्टविकल्पैः सह परिचिताः भवेयुः । तदनन्तरं भवद्भिः कानूनीभाषायाः सावधानीपूर्वकं अध्ययनं कृत्वा अनुज्ञापत्रं किं भवेत् इति अन्तिमनिर्णयं करणीयम् भविष्यति । सूचितं विकल्पं कर्तुं भवद्भिः अवगन्तुं आवश्यकं यत् कस्यचित् विशेषप्रकारस्य अनुज्ञापत्रेण सह के के अधिकाराः दायित्वं च सम्बद्धाः सन्ति । समीचीनविकल्पं कर्तुं भवान् तुलनात्मकाः इति विशेषसेवानां उपयोगं कर्तुं शक्नोति । अत्र केचन उदाहरणानि सन्ति- १.
- https://choosealicense.com/ इति सञ्चिकां पश्यन्तु। अस्मिन् साइट् मध्ये समीचीनविकल्पस्य चयनार्थं प्रमुखप्रश्नाः सन्ति तथा च उपयोगस्य विशेषताः अवगन्तुं भवतः सहायतार्थं विस्तृतपरामर्शः अस्ति।
- https://opensource.org/licenses पृष्ठं विविधमुक्तसॉफ्टवेयरसमाधानसमीक्षाय समर्पितम् अस्ति ।
- https://tldrlegal.com/ इति स्थलं विविध-अनुज्ञापत्र-विकल्पानां कृते विश्वकोशरूपेण गणयितुं शक्यते । तत्र सटीककानूनीसूत्राणि विस्तृतटिप्पण्यानि च सन्ति ।
Github मध्ये license कथं योजयितुं शक्यते
व्यवहारे प्रभावी विश्वसनीयाः च सिद्धाः अनुज्ञापत्रविकल्पानां विस्तृतपरिचयस्य अभावेऽपि विकासकस्य स्वकीयाः विचाराः भवितुम् अर्हन्ति यत् सः निर्मितस्य कार्यक्रमस्य अनुज्ञापत्रं किं भवेत् इति अस्मिन् सति सेवा स्वस्य संस्करणं योजयितुं वा विद्यमानं समायोजयितुं वा क्षमताम् अयच्छति । Github मध्ये अनुज्ञापत्रं योजयितुं भवद्भिः एतानि पदानि अनुसरणं कर्तव्यं भविष्यति ।
- भवद्भिः स्वभण्डारस्य मुख्यपृष्ठं गन्तव्यम् ।
- भवन्तः सञ्चिकां योजयितुं बटन् नुदन्तु, ततः “Create new file” इति चिन्वन्तु ।
- तदनन्तरं भवद्भिः सञ्चिकानाम प्रविष्टव्यम् । अनुज्ञापत्रस्य कृते एतत् द्वयोः विकल्पयोः एकः भवितुम् अर्हति : LICENSE अथवा LICENCE.md । अत्र दीर्घाक्षराणां प्रयोगः अनिवार्यः अस्ति ।
- सञ्चिकानामनिवेशक्षेत्रस्य दक्षिणभागे, अनुज्ञापत्रसारूप्यं चिन्वितुं नुदन्तु ।
- पृष्ठस्य वामभागे मेनूमध्ये “Add a license to your project” इति पङ्क्तिं चिनोतु । अस्मिन् सति विद्यमानदस्तावेजानां मध्ये एकं रूपान्तरं चयनं भवति ।
- ततः “Review and submit” इति पङ्क्तिं नुदन्तु । ततः स्वस्य सम्झौताविवरणं प्रविशतु।
- तदनन्तरं किं किं परिवर्तनं परिवर्तनं वा कृतम् इति स्पष्टीकरणीयम् । तदनन्तरं चयनितं दस्तावेजं सम्यक् कृतम् अथवा अनुज्ञापत्रस्य अन्यसंस्करणस्य निर्माणविषये अस्ति वा इति सूचयन्तु ।
परिवर्तनस्य पुष्ट्यानन्तरं विकासकः Git Hub सेवायां अनुज्ञापत्रसूचौ परिवर्तनं कर्तुं प्रक्रियां सम्पन्नं करोति ।
एकं अनुज्ञापत्रं चिनुत Github – Git Hub इत्यत्र लोकप्रियानाम् अनुज्ञापत्राणां उदाहरणानि
निम्नलिखित विकल्पाः सन्ति ये सर्वाधिकं लोकप्रियाः सन्ति। तेषां सामर्थ्यं दुर्बलतां च अवगत्य प्रोग्रामरः समीचीनं विकल्पं ज्ञातुं वा कुशलतया अन्वेषणं कथं कर्तव्यमिति अवगन्तुं वा शक्नोति।
जीपीएल
एतत् अनुज्ञापत्रं लोकप्रियतमेषु अन्यतमम् इति वक्तुं शक्यते । ये निःशुल्कं सॉफ्टवेयरं निर्मान्ति तेषां कृते इदं शास्त्रीयम् अस्ति। अस्य दस्तावेजस्य एकः मुख्यः आवश्यकता अस्ति यत् एतत्
तृतीयपक्षेभ्यः कार्यक्रमं स्वतन्त्रतया परिवर्तयितुं शक्नोति , परन्तु तत्सहकालं तेषां केवलं समानानुज्ञापत्रेण एव परिणामं वितरितुं अधिकारः अस्ति। अस्य अनुज्ञापत्रस्य भिन्नाः संस्करणाः भवितुम् अर्हन्ति । एतेषु नवीनतमः तृतीयः अस्ति । GPL इत्यस्य उपयोगः Drupal web content management system, MariaDB database management system, InkSkape vector graphics editor, इत्यादीनां कार्यक्रमानां विकासकैः कृतः अस्ति इदं रोचकं यत् SQL न केवलं GPL इत्यस्य उपयोगं करोति, अपितु वाणिज्यिक-अनुज्ञापत्रस्य अपि उपयोगं करोति ।
एलजीपीएल
एतत् नाम “GNU GPL Lesser General Public License” इति अनुवादयति । केषाञ्चन विकासकानां कृते GPL उपयुक्तं नास्ति, यतः तेषां कृते एकस्मिन् एव अनुज्ञापत्रे परिवर्तितानि उत्पादनानि वितरितुं दायित्वं सृजति । अस्य विकल्पस्य अनुप्रयोगस्य विशेषताः प्रोग्रामरेण निर्मितानाम् पुस्तकालयानाम् उपयोगस्य अनुज्ञापत्रप्रक्रिया कथं भवति इति दर्शयितुं शक्यते । एवं सति निम्नलिखित त्रयः विकल्पाः विचार्यन्ते ।
- यदा पुस्तकालयः नूतनं कार्यक्षमतां प्रदाति यत्र अन्यः कोऽपि वाणिज्यिकपुस्तकालयः अपि तथैव कर्तुं न शक्नोति तदा GPL सर्वोत्तमः विकल्पः भवति ।
- निःशुल्कपुस्तकालये विकासकः पूर्वमेव विद्यमानं मानकं कार्यान्वितवान् अस्ति । अस्मिन् क्षेत्रे समानकार्ययुक्ताः वाणिज्यिकविकल्पाः सन्ति । अस्य कृते LGPL इत्यस्य चयनं सुलभं भविष्यति ।
- यदा नूतनमानकस्य विषयः आगच्छति यः वास्तवतः वाणिज्यिकेन सह स्पर्धां करोति तदा अपाचे अनुज्ञापत्रं एव मार्गः अस्ति ।
एतेन मानकेन
पुस्तकालयानाम् व्यावसायिकप्रयोगः भवति | यदि परिवर्तनं क्रियते तर्हि वितरणार्थं समानानि नियमाः शर्ताः च अवश्यं प्रयोक्तव्याः । परन्तु कोडस्य सरलप्रयोगेन शर्ताः परिवर्तयितुं शक्यन्ते ।
ग्रहण सार्वजनिक अनुज्ञापत्र
अयं दस्तावेजः
अन्येषां अनुज्ञापत्राणां अन्तर्गतं वितरणस्य अनुमतिं ददाति, यत्र वाणिज्यिकाः अपि सन्ति . मुख्या शर्तः अस्ति यत् परिवर्तितेषु कार्येषु नवीनताः पृथक् मॉड्यूले स्थापिताः भविष्यन्ति। जावा-देशे उत्पादानाम् विकासे अस्य अनुज्ञापत्रस्य लोकप्रियता प्राप्ता अस्ति । उदाहरणं Clojure प्रोग्रामिंग भाषा, जावा अनुप्रयोगानाम् परीक्षणार्थं ढांचा ।
मोजिला सार्वजनिक अनुज्ञापत्र
केचन एतत् दस्तावेजं GPL तथा वाणिज्यिक-अनुज्ञापत्रयोः मध्ये सम्झौतारूपेण पश्यन्ति । MPL कृते
कतिपयानां सञ्चिकानां मुक्तप्रवेशस्य आवश्यकता वर्तते . सॉफ्टवेयर उत्पादे अस्य अनुज्ञापत्रस्य अन्तर्गतं काश्चन सञ्चिकाः अन्ये च तद्विना भवितुं शक्नुवन्ति । परिवर्तनस्य अनन्तरं, आवश्यकं अनुज्ञापत्रं स्थापयितुं अनुमतिः अस्ति (उदाहरणार्थं, एतत् व्यावसायिकं भवितुम् अर्हति), परन्तु एतत् केवलं एतस्मिन् शर्ते एव सम्भवति यत् MPL अन्तर्गतं विमोचितानां सञ्चिकानां प्रवेशः अद्यापि उद्घाटितः भविष्यति अस्मिन् सति अन्त्यप्रयोक्त्रे मूलसॉफ्टवेयरस्य लेखकानां विषये सूचना अवश्यमेव प्रदातव्या । अस्य दस्तावेजस्य अनुरूपं LibreOffice कार्यालयं, Mozilla ब्राउजर् इत्यादीनि सॉफ्टवेयर-उत्पादनानि विमोचितानि ।
अपाचे अनुज्ञापत्र Github
ए एल उदार मुक्त अनुज्ञापत्र कहते हैं। एतत् विशेषता अस्ति यत्
पूर्ववत् समानेषु परिस्थितिषु व्युत्पन्नं उत्पादं विमोचयितुं आवश्यकता नास्ति | एतत् दस्तावेजं Apache Software Foundation द्वारा सक्रियरूपेण उपयुज्यते । प्रयोगे सति निम्नलिखितम् अनुमतम् अस्ति ।
- सॉफ्टवेयर उत्पादस्य व्यावसायिकप्रयोजनार्थं अधिकं उपयोगस्य अनुमतिः अस्ति।
- अनुप्रयोगसंशोधनस्य अनुमतिः अस्ति।
- तदनन्तर वितरणों में मूल लेखक का नाम शामिल होना चाहिए।
नूतनं रूपान्तरं निर्माय, अनुज्ञापत्रधारकाणां कृते मूल-उत्पादसङ्केतं प्रदातुं कोऽपि दायित्वं नास्ति । एतादृशस्य अनुज्ञापत्रस्य पर्याप्तं लोकप्रियता प्राप्ता अस्ति । एतत् सुप्रसिद्धानि सॉफ्टवेयर-उत्पादानाम् सूचीकरणेन प्रदर्शयितुं शक्यते ये एतादृशस्य अनुज्ञापत्रस्य अन्तर्गतं विमोचिताः सन्ति: एण्ड्रॉयड्-प्रचालन-प्रणाली, जावा-मध्ये उद्यम-अनुप्रयोगानाम् निर्माणं कुर्वन् एकः ढांचा, अपाचे-जाल-सर्वरः च https://youtu.be/wyZq-ईजओमयू
MIT अनुज्ञापत्रम्
केचन एतत् मुक्तसॉफ्टवेयर-अनुज्ञापत्र-विकल्पं सर्वाधिकं लोकप्रियं मन्यन्ते । अस्य मुख्यं लाभं केभ्यः विविधप्रकारस्य निःशुल्क-व्यापारिक-अनुज्ञापत्रैः सह उत्तम-सङ्गतिः इति मन्यते । अत्यन्तं महत्त्वपूर्णानि विशेषतानि सन्ति
कोडं परिवर्तयितुं क्षमता, तथैव परिवर्तनं कृतवान् तस्य चयनेन अन्येषां अनुज्ञापत्राणाम् अन्तर्गतं वितरणस्य अनुमतिः एतस्य दस्तावेजस्य उपयोगं कुर्वन्तः सॉफ्टवेयर-उत्पादाः सन्ति: JQuiery इति नामकं जावास्क्रिप्ट्-पुस्तकालयः, Atom-पाठ-सम्पादकः, AngularJS, जावास्क्रिप्ट्-विकास-रूपरेखा च ।
जलान्तरशिलाः
कदाचित् लेखकः प्रथमं अनुज्ञापत्रस्य एकं संस्करणं चिनोति, पश्चात् तत् परिवर्तयितुम् इच्छति । यदि सः एकः एव कार्यक्रमस्य निर्माणं करोति तर्हि एतादृशः परिवर्तनः कठिनः न स्यात्। परन्तु यत्र विकासे बहवः सहभागिनः आसन्, तत्र तेषां सहमतिम् विना एतत् कार्यं न करिष्यति। यथा, लिनक्सस्य निर्माता यद्यपि सः वस्तुतः प्रचालनतन्त्रस्य आधारं कृतवान् तथापि तेषां सर्वेषां प्रोग्रामराणां सहमतिम् विना अनुज्ञापत्रं परिवर्तयितुं न शक्नोति ये अग्रे विकासे भागं गृहीतवन्तः एमपीएल-अन्तर्गतं वितरणं कुर्वन् ये संहितायां परिवर्तनं कृतवन्तः ते भिन्न-अनुज्ञापत्रस्य अन्तर्गतं एमपीएल-अन्तर्गतं सञ्चिकाः प्रदातुं न शक्नुवन्ति । नूतनदस्तावेजस्य उपयोगः अन्येषां कार्यक्रममॉड्यूलानां सन्दर्भं करिष्यति ।