GitHub لائسنس ڪيئن چونڊيو ۽ صحيح انتخاب ڪرڻ ڇو ضروري آهي؟ GitHub آئي ٽي منصوبن جي گڏيل ترقي ۽ انهن جي بعد ۾ ميزباني لاءِ سڀ کان وڏي خدمت آهي. هن ويب سروس جي مدد سان، لامحدود تعداد ۾ ماڻهو هڪ ئي وقت هڪ پروجيڪٽ تي ڪم ڪري سگهن ٿا، انهي سان گڏ دنيا جي ڪنهن به هنڌ کان. GitHub وٽ ھڪڙو انتظام يا ڪنٽرول سسٽم پڻ آھي جيڪو توھان کي ڏسڻ ۽ ڪنٽرول ڪرڻ جي اجازت ڏئي ٿو مڪمل طور تي سڀني تبديلين کي ڊولپرز طرفان وقت سان گڏ، ۽ اھو پڻ توھان کي رياست ڏانھن موٽڻ جي اجازت ڏئي ٿو جيڪا تبديلين کان اڳ واقع ٿي.
پر ان کي آسان ڪرڻ لاء، GitHub پروگرامر ۽ ڊولپرز لاء نام نهاد سماجي نيٽ ورڪ آهي، جتي توهان ڳولي سگهو ٿا، ۽ بعد ۾ ٻين ڊولپرز کان ڪوڊس تي مشق. توھان پڻ ذخيرو ڪري سگھو ٿا پنھنجو پورٽ فوليو GitHub تي. عام طور تي، GitHub هڪ خدمت آهي جيڪا نئين ڊولپرز ۽ تجربيڪار پروگرامر ٻنهي لاءِ موزون آهي. بهرحال، هن خدمت جي استعمال ڪندڙن کي ڪڏهن ڪڏهن لائسنس چونڊڻ بابت ڪجهه سوال هوندا، ڇاڪاڻ ته انهن جي پسند ڪافي متنوع آهي.
GitHub لائسنس ڇا آهي
هڪ لائسنس هڪ خاص دستاويز آهي جيڪو رياست جي فارم طرفان قائم ڪيو ويو آهي ۽ توهان کي هڪ خاص قسم جي ڪاروباري سرگرمي ۾ مشغول ڪرڻ جي اجازت ڏئي ٿو، جنهن کي ناڪام ٿيڻ کان سواء رياست طرفان خاص ڌيان جي ضرورت آهي. پر، اڪثر ڪري، عملي طور تي، صرف مختصر لائسنس جا معاهدا يا معاهدا جيڪي مهيا ڪن ٿا پرائيويٽ قانون لائسنس جاري ڪرڻ لاء استعمال ڪيا ويا آهن. عام طور تي، لائسنس صرف هڪ پيروي ڪري ٿو، پر سڀ کان اهم مقصد، اهو لائسنس ڏيندڙ ۽ لائسنس ڏيندڙ جي وچ ۾ ذميوارين ۽ حقن تي هڪ معاهدو آهي. اهي فرض ۽ حق بلڪل ڪجھ به ٿي سگهن ٿا، پر صرف قانون جي فريم ورڪ ۾. هڪ قابل ذڪر مثال اهو آهي ته لائسنس ڏيندڙ کي شايد ڪاپي رائيٽ هولڊر جو نالو گهربل هجي جڏهن لائسنس ڏيندڙ طرفان ڪم استعمال ڪيو وڃي. يا، مثال طور، نقل ڪرڻ جي ڪم جي اجازت ڏيو، پر ان جي ڪنهن به ترميم کي مڪمل طور تي منع ڪريو. يا، اهڙيون گهرجون پوريون ڪرڻ لاءِ ته ڪم اصل جي ساڳين شرطن تي جاري ڪيو وڃي، وغيره وغيره، مختلف شرطن کي اڳيان رکڻ جا ڪافي مثال آهن. [ڪيپشن id=”attachment_12368″ align=”aligncenter” width=”780″]
Apache لائسنس مان هڪ جو هڪ مثال[/caption]
پر، پڻ، اسان کي اهو نه وسارڻ گهرجي ته لائسنس نه رڳو لائسنس ڏيندڙ، پر لائسنس ڏيندڙ جي حقن جي حفاظت ڪري ٿو. جيئن ته ان ۾ توهان واضح طور تي ڪم کي استعمال ڪرڻ لاء سڀني شرطن کي ڏسي ۽ پڙهي سگهو ٿا، ۽ تنهن ڪري هن کي ڊپ ٿيڻ جي ضرورت ناهي ته لائسنس ڏيندڙ اوچتو پنهنجي ڪم جي استعمال لاء ڪنهن به ڪٽائي يا ڪنهن ٻئي معاوضي جو مطالبو ڪندو.
جيڪڏهن توهان لائسنس استعمال ڪرڻ کان انڪار ڪندا آهيو جيڪو ڪم سان لاڳاپيل آهي، ڪاپي رائيٽ اڃا تائين لاڳو ٿينديون آهن قانوني ضابطن جي مطابق هڪ خاص ملڪ ۾ لاڳو. سادي لفظ ۾، ڪنهن به طريقي سان لائسنس جي غير موجودگي جو مطلب اهو ناهي ته ٻيا ليکڪ هن منصوبي کي ڪنهن به طريقي سان استعمال ڪري سگهن ٿا جيڪي اهي چاهيندا. هر شيء بلڪل سامهون آهي، ڇاڪاڻ ته بغير ڪنهن مخصوص لائسنس جي، پروگرامر ڪنهن به صورت ۾ انهن حقن کي معاف نه ڪندو آهي جيڪي قانون طرفان ڏنل آهن. اهو پڻ هميشه ياد رکڻ ضروري آهي ته لائسنس سڀني حقن ۽ ذميدارين کي سنڀاليندو آهي. اهو ڪم جي مالڪ کي صارف جي اميدن کان بچائڻ لاءِ آهي ۽ ڪنهن به وارنٽي جو مطلب آهي. آخرڪار، ڪو به نٿو چاهي ته انهن جو ڪوڊ ڪنهن به طريقي سان عدالت ۾ ختم ٿئي.
ڪاپي رائيٽ ڇا آهي
حق اشاعت صرف هڪ شخص ۾ ظاهر ٿئي ٿو جڏهن، دانشورانه سرگرمي جي نتيجي ۾، هو هڪ خاص ڪم ٺاهي ٿو جيڪو منفرد هوندو، پر ساڳئي وقت مفيد، مثال طور، توهان ساڳئي پروگرام جي لکڻين کي وٺي سگهو ٿا. جڏهن مٿيون سڀ ڪم ڪيو ويندو آهي، اهو شخص ليکڪ بڻجي ويندو آهي ۽ هاڻي هن وٽ هن ڪم جا سڀ حق اشاعت آهن. اهو پڻ چوڻ گهرجي ته ڪاپي رائيٽ ملڪيت ۽ غير ملڪيت آهن. انهن جو فرق اهو آهي ته ملڪيت جا حق ڪنهن کي به منتقل ٿي سگهن ٿا، پر غير جائداد جا حق هميشه ڪنهن به صورت ۾ ليکڪ وٽ ئي رهندا. آخرڪار، ليکڪ هجڻ هڪ غير منتقلي ۽ ناقابل قبول حق آهي.
ڇا لاءِ اوپن سورس لائسنس آهي؟
اهو پڻ هڪ تمام مشهور سوال آهي نئين ڊولپرز ۽ پروگرامرز جي وچ ۾، ڇاڪاڻ ته اهي صرف اهو نه ٿا سمجهن ته لائسنس انهن جي پروجيڪٽ سان ڳنڍڻ گهرجي، ڇو ته ان کان سواء پروجيڪٽ پڻ خاموشيء سان موجود ٿي سگهي ٿو. بهرحال، اهو مڪمل طور تي درست ناهي، ڇاڪاڻ ته جيڪڏهن، مثال طور، ڪجهه نوان ڊولپر ڪوڊ جو ڪجهه انتهائي اهم ۽ مفيد ٽڪرا لکيو، پر ان کي لائسنس سان محفوظ نه ڪيو، پوء ٻيا صارف سوال آهن. ۽ خاص طور تي ان جي ڪري، جڏهن گراهڪ هن وٽ ايندا آهن ۽ ڪوڊ جي هن ٽڪري کي پنهنجي تجارتي مقصدن لاء استعمال ڪرڻ چاهيندا آهن، اهي ڏسندا آهن ته ڪوڊ جو ڪو به لائسنس ناهي ۽ صرف ان کي رد ڪري ٿو. اهو حقيقت جي ڪري آهي ته ڪمپنيون صرف ڪوڊ استعمال نه ڪنديون بغير لائسنس جي، ڇو ته انهن کي قانون ۽ وڪيلن سان مسئلن جي ضرورت ناهي.
۽ اهو ئي سبب آهي ته سڀ کان وڌيڪ مفيد ۽ آسان منصوبو ڪڏهن به لاڳو نه ڪيو ويندو. ۽ ڊولپر جيڪو ڪوڊ جو هي ٽڪرو وٺڻ چاهيندو هو ان کي ڳولڻو پوندو ۽ متبادل استعمال ڪرڻ، يا مڪمل طور تي ڪوڊ ٻيهر لکندو جيڪو اڳ ۾ ئي نئين ڊولپر پاران لکيل هو. انهي ڪري اهو بهتر آهي ته اڳ ۾ ئي پڪ ڪريو ته پروگرامر صحيح استعمال ڪري رهيو آهي، ۽ سڀ کان اهم، مناسب لائسنس. 15 منٽن ۾ هڪ وڊيو ٽيوٽوريل ۾ GitHub جي ڳولا ڪريو: https://youtu.be/JfpCicDUMKc
ڪهڙو GitHub لائسنس ڪجهه حالتن ۾ مناسب آهي – ڪيئن چونڊيو؟
هن سوال جو ڪو به صحيح جواب نه ٿو ٿي سگهي، ڇو ته لائسنس جو انتخاب صرف منصوبي جي مقصدن ۽ ڊولپر جي ذاتي ترجيحن ۽ خواهش تي منحصر آهي. جئين توهان ڏسي سگهو ٿا، GitHub تي ڪيترائي مختلف لائسنس آهن، ۽ سڀ کان اهم، اهي سڀئي مفت ۽ عوامي ڊومين ۾ آهن، جنهن جو مطلب آهي ته هر پروگرامر
اوپن سورس لائسنس ڳولي سگهي ٿو جيڪو ضرور هن جي منصوبي کي پورو ڪندو. پر، سڀ کان اهم، اسان کي اهو نه وسارڻ گهرجي ته هڪ اوپن سورس لائسنس صرف هڪ ڪوڊ ناهي جنهن جو ڪو لائسنس ناهي. ٿورڙي تحقيق سان، توهان سڀني اوپن سورس لائسنس گڏ ڪري سگهو ٿا ۽ انهن کي ٽن وڏن مکيه گروپن ۾ ورهائي سگهو ٿا:
- سخت حفاظتي.
- ڪمزور حفاظتي.
- اجازت ڏيڻ وارو.
سخت حفاظتي
مضبوط طور تي حفاظتي لائسنس اڪثر ڪري GPL جي مختلف تبديليون آهن. انهن لائسنسن کي پروجيڪٽ جي لائسنسنگ جي ضرورت آهي ۽ انهي سان گڏ سورس ڪوڊز جي ظاهر ڪرڻ جي، قطع نظر ته ڪو به ڪوڊ يا منصوبو ڪيئن استعمال ڪيو ويندو يا اڳ ۾ ئي استعمال ڪيو ويو آهي.
ڪمزور حفاظتي
ڪمزور تحفظ واري لائسنس اڪثر ڪري گھٽ GPL جي مختلف تبديليون آهن. جنهن ۾ اجازت ڏيڻ واري لائسنس مان بنيادي فرق اهو آهي ته هتي اهو صرف ضروري آهي ته پروگرام کي پڻ GPL لائسنس جي تحت لائسنس ڏيو، ۽ انهي سان گڏ مهيا ڪيل سورس ڪوڊ بغير ناڪام ٿيڻ جي. ساڳئي وقت، جيڪڏهن پروگرامر جي پروجيڪٽ ۾ هڪ لائبريري آهي، يعني، جامد لنڪنگ يا متحرڪ لنڪنگ LGPL لائسنس تحت، ته اهو پڻ انهي پروگرامر جي پروجيڪٽ جي ڪنهن به لائسنس سان گڏ هوندو.
اجازت ڏيڻ وارو
اجازت ڏيڻ واري لائسنس جو ڪافي تعداد آھي، انھن جي صفن ۾ سڀ کان وڌيڪ مقبول لائسنس آھن MIT، Apache 2.0، ۽ BSD. ٿورڙي تبديلين سان، انهن لائسنسن ۾ ڪوڊ جي استعمال جي اجازت ڏيڻ جي صلاحيت آهي ٻنهي اوپن سورس منصوبن ۽ تجارتي مقصدن ۽ منصوبن لاءِ. پر، هن معاملي ۾، اهو ياد رکڻ ضروري آهي ته اهو ضروري آهي ته اصل پروگرام جي ليکڪ کي ظاهر ڪرڻ ضروري آهي.
ٻيا مشهور GitHub لائسنس
لائسنس جي انهن ٽن گروپن کان علاوه، ٻيا به آهن، مثال طور، ٻيو سڀ کان وڌيڪ مفيد لائسنس آهي GPLv2 ڪلاس پاٿ ايڪسٽينشن سان. اهو لائسنس ٻنهي اوپن سورس منصوبن ۽ تجارتي منصوبن ۽ مقصدن لاءِ پڻ استعمال ٿي سگهي ٿو. ان جو سڀ کان وڌيڪ مشهور ظهور Oracle تي آهي، جيڪو GPLv2 استعمال ڪري ٿو ڪلاس پاٿ ايڪسٽينشن سان ان جي اوپن سورس منصوبن ۽ حلن کي لائسنس ڏيڻ لاءِ. هي لائسنس ڪافي اهم ۽ مفيد آهي، ڇاڪاڻ ته باقاعده GPL لائسنس، مثال طور، ڪڏهن به بائيٽ ڪوڊ سان معاملو ڪرڻ جي قابل نه هوندا. اهو آهي، انهن وٽ هڪ خاص وضاحت آهي تاليف ۽ ڳنڍڻ واري عمل جو، جيڪو مڪمل طور تي ٻين تشريح ٿيل پروگرامنگ ٻولين لاء مناسب ناهي، انهن ٻولين ۾ سڀ کان وڌيڪ مشهور جاوا ٻولي آهي. اهو اهڙين ڪيسن لاء آهي ته هڪ خاص لائسنس GPLv2 ڪلاس پاٿ ايڪسٽينشن سان جاري ڪيو ويو. آخرڪار، اهو بلڪل صاف ۽ واضح طور تي چوي ٿو ته لائبريري جيڪا هن لائسنس تحت جاري ڪئي وئي هئي، تجارتي منصوبن ۽ مقصدن لاء بلڪل ڪنهن ٻئي لائسنس سان استعمال ڪري سگهجي ٿي.
GitHub لائسنس بابت توهان کي ٻيو ڇا ڄاڻڻ جي ضرورت آهي
.
لائسنس شامل ڪرڻ
حتمي لائسنس جي چونڊ ٿيڻ کان پوء، اهو صرف ان کي شامل ڪرڻ لاء رهي ٿو پروجيڪٽ جي روٽ ۾. ھن عمل کي انجام ڏيڻ لاءِ، توھان کي صرف پروجيڪٽ جي ٺاھڻ دوران يا ڪنھن ٻئي وقت پروجيڪٽ جي روٽ تحت منتخب ٿيل لائسنس شامل ڪرڻ جي ضرورت آھي. پر هن عمل ۾ به، GitHub ويب سروس پنهنجي استعمال ڪندڙن جو خيال رکڻ ۾ ڪامياب ٿي وئي ۽ انهن منصوبي جي شروعات ۾ پڻ حتمي لائسنس شامل ڪرڻ لاءِ ڪافي آسان رستو اختيار ڪيو.
بهرحال، بدقسمتي سان، اهو سڀ ڪجهه نه آهي، ڇو ته ڊولپر يا پروگرامر کي مڪمل طور تي سڀني انحصار کي جانچڻ جي ضرورت آهي جيڪي هن جي خيال يا منصوبي ۾ استعمال ڪيا ويا آهن. اھو آھي، جيڪڏھن ھڪڙو انحصار جيڪو GPL لائسنس جي تحت جاري ڪيو ويو آھي، پوء بلڪل مڪمل ڊولپر جي منصوبي کي GPL مطابقت ھئڻ گھرجي. اهڙي تصديق لاءِ، اڳ ۾ ٺهيل پروگرام يا اوزار عام طور تي هن لاءِ استعمال ٿيندا آهن. مثال طور، ھن لاء ھڪڙو اوزار آھي https://github.com/pivotal/LicenseFinder:
اسان اهو چئي سگهون ٿا ته لائسنس ڏيڻ هڪ بلڪه وقت سازي وارو ڪم آهي، پر ساڳئي وقت هڪ منصوبي جي زندگي يا پروگرامر جي ڪنهن به خيال لاء هڪ ضروري عمل. صحيح لائسنس چونڊڻ لاء، بدقسمتي سان، توهان کي گهڻو وقت خرچ ڪرڻو پوندو، جڏهن ته، اهو ان جي قابل آهي منصوبي جي ڪامياب ٿيڻ لاء. اهو بهتر آهي ته ڪنهن به پروگرام کي لکڻ وقت لائسنس جي چونڊ کي پهرين جاءِ تي رکجي، ڇو ته شروع ۾ ئي ائين ڪرڻ سان، توهان پنهنجي سموري ڪوشش کي صحيح رخ ۾ سڌو ڪري سگهو ٿا ۽ هڪ اهڙو پروگرام لکي سگهو ٿا جيڪو ڪامياب ۽ گهڻن لاءِ آسان هوندو. استعمال ڪندڙ.