GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo’shish

Программирование

GitHub litsenziyalari – biz nima haqida gapirayapmiz? Dasturiy ta’minotni yaratish uchun uni nafaqat yozish, balki foydalanuvchilar yoki ishlab chiquvchilar u bilan nima qilish huquqiga ega ekanligini ham hal qilish kerak. Agar kimdir hamma uchun bepul dastur yaratsa, u xayrli ish qilgan bo’ladi, lekin kim undan foydalansa, uni qanday ishlatishini oqlashi kerak. Misol uchun, agar kompaniya o’z faoliyatida biron bir bepul ofis bilan ishlasa (masalan, LibreOffice), u inspektorlarga buni qilish huquqiga ega ekanligini isbotlay olishi kerak. Buning uchun tegishli litsenziyani taqdim etish kifoya. Agar ishlab chiquvchi uni shakllantirishni unutib qo’ysa, u holda kompaniya qiyin ahvolda bo’lishi mumkin. [ caption id=”attachment_11854″ align=”aligncenter” width=”1024″]
GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shishLitsenziyalar tasnifi va litsenziyalar turlari[/caption] Ilova yaratishda dasturchi oʻz dasturi bilan qaysi harakatlarga ruxsat berilishi va qaysi biri ruxsat etilmasligini hal qilishi kerak. Masalan, biz nafaqat foydalanish haqida, balki dasturlarning matnlarini o’rganish yoki dasturiy mahsulotga o’z tuzatishlaringizni kiritish haqida ham gapirishimiz mumkin. GitHub hamkorlikda loyihalarni ishlab chiqish uchun eng yirik xizmatlardan biridir. Shu bilan birga, ular bu yerda nafaqat bepul, balki tijorat loyihalarida ham ishlashlari mumkin. Tegishli litsenziyani ko’rsatib, ishlab chiquvchilar yaratilgan mahsulotdan foydalanish bo’yicha noaniqliklarni yo’q qiladi. Muammo shundaki, har xil turdagi litsenziyalar mavjud va muayyan holatda qaysi variantni tanlashni aniqlash har doim ham oson emas. Ba’zi loyihalarda litsenziya yo’qligi ham odatiy hol emas.
GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish

Nima uchun GitHub-da ochiq manbali loyihalarni litsenziyalashingiz kerak

Kerakli litsenziyani belgilashda ishlab chiquvchi unda quyidagilarni taqdim etishi mumkin:

  1. Dasturdan foydalanish shartlari . Ular to’lovni o’z ichiga olishi yoki ba’zi yoki barcha hollarda bepul foydalanishga ruxsat berishi mumkin.
  2. Ba’zan dasturlar hamjamiyat tomonidan ishlab chiqiladi . Bunday holda, dastur matnlari bilan tanishishni istagan har bir kishi muhim ahamiyatga ega.
  3. Dastur matnlari mavjud bo’lganda, ba’zilar dasturni funktsional va iloji boricha ishonchli qilish uchun o’zgartirishlar kiritishlari mumkin. Ba’zan muallif hammaga buni qilishga ruxsat berishi mumkin, boshqa hollarda u o’zgartirishni unga yuborishni taklif qiladi va loyihaga mustaqil ravishda tuzatishlar kiritadi.
  4. Uchinchi tomonlar loyihaga o’zgartirishlar kiritishi va ularning nomidan taklif qilishi mumkinligi haqida qaror qabul qilishingiz kerak . Buni amalga oshirayotganda, ularning mahsuloti qaysi litsenziyaga ega bo’lishi kerakligini ko’rsatishingiz kerak.

Ushbu va shunga o’xshash savollarni hal qilib, dastur muallifi aslida o’zi yaratgan dasturiy mahsulotning kelajakdagi taqdirini aniqlaydi.

Qanday turdagi litsenziyalar mavjud

Litsenziya – bu shartnoma bo’lib, unda bir tomon (litsenziar) boshqa tomon (litsenziat) o’zi yaratgan mahsulotdan foydalanish qoidalarini belgilaydi. Amalda biz tomonlarning hujjatni imzolashi haqida emas, balki undan foydalanish bo’yicha tegishli huquq va majburiyatlar bilan avtomatik kelishuv haqida gapiramiz. Huquq va majburiyatlarni belgilashda deyarli hech qanday cheklovlar yo’q. Yagona shart – ular qonunga rioya qilishlari kerak. O’z litsenziyalaringizni yaratish murakkab ishdir, chunki u boshqa qoidalarga mos kelishi kerak. Eng yaxshi variant – bunday hujjatlarning standart navlaridan birini tanlash va ulardan foydalanish. Amalda, ko’p litsenziyalashni qo’llash ham odatiy holdir. Ko’pincha, bunday hollarda ikkita litsenziya bir vaqtning o’zida ishlatiladi. Dastur muallifi foydalanuvchilar rioya qilishlari kerak bo’lgan qoidalarni mustaqil ravishda shakllantirish huquqiga ega bo’lsa-da, amalda ko’p sonli litsenziya turlaridan foydalanish rivojlangan, ulardan ko’p hollarda to’g’risini tanlashingiz mumkin. Quyida Git Hub-da ko’p hollarda ishlatiladigan eng mashhur variantlar keltirilgan. Git Hub-da eng ko’p ishlatiladigan litsenziyalar:
GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shishDasturchi o’z rejalariga mos keladigan birini tanlay olishi kerak. Buni to’g’ri bajarish uchun siz ma’lum turlarga qanday xususiyatlar xosligini tushunishingiz kerak.

Agar muallif hujjatni shakllantirishdan bosh tortsa, bu holda o’z mamlakatining qonunchiligida sukut bo’yicha ko’zda tutilgan mualliflik huquqlari qo’llaniladi. Shu tarzda litsenziyaning yo’qligi dastur bilan biror narsa qilish mumkinligini anglatmaydi. Aslida bunday holatni litsenziya turlaridan biri deb hisoblash mumkin.

Github litsenziyasini qanday tanlash mumkin

Kerakli variantni qidirishni boshlashdan oldin, dasturchi o’z talablarini shakllantirishi kerak, shundan keyingina litsenziyalashni davom ettiradi. Keyinchalik, so’rovga mos keladigan odatiy variantlar bilan tanishishingiz kerak. Shundan so’ng siz qonuniy tilni diqqat bilan o’rganishingiz va litsenziya nima bo’lishi kerakligi haqida yakuniy qaror qabul qilishingiz kerak bo’ladi. Aniq tanlov qilish uchun siz litsenziyaning ma’lum bir turi bilan qanday huquq va majburiyatlar bog’liqligini tushunishingiz kerak. To’g’ri tanlov qilish uchun siz komparatorlar deb ataladigan maxsus xizmatlardan foydalanishingiz mumkin. Mana bir nechta misollar:

  1. https://choosealicense.com/. Ushbu saytda to’g’ri variantni tanlash bo’yicha etakchi savollar va foydalanish xususiyatlarini tushunishga yordam beradigan batafsil maslahatlar mavjud.
  2. https://opensource.org/licenses sahifasi turli xil bepul dasturiy echimlarni ko’rib chiqishga bag’ishlangan.
  3. Https://tldrlegal.com/ sayti turli litsenziya variantlari uchun ensiklopediya sifatida qaralishi mumkin. Aniq huquqiy formulalar ham, batafsil sharhlar ham mavjud.
GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish
Litsenziyalarni https://choosealicense.com/ saytida taqqoslash
Biroq, tanlashning eng samarali usuli bu tegishli huquqiy hujjatlarni diqqat bilan o’qib chiqishdir. . Garchi biz ko’p mehnat talab qiladigan faoliyat haqida gapiradigan bo’lsak-da, shunga qaramay, matnlarni o’rganish ishlab chiquvchiga barcha kerakli javoblarni beradi.

Github-ga litsenziyani qanday qo’shish mumkin

Amalda samarali va ishonchli ekanligi isbotlangan litsenziya variantlarining keng tanloviga qaramay, ishlab chiquvchi o’zi yaratgan dastur uchun litsenziya nima bo’lishi kerakligi haqida o’z fikrlariga ega bo’lishi mumkin. Bunday holda, xizmat o’z versiyangizni qo’shish yoki mavjudini sozlash imkoniyatini beradi. Github-ga litsenziya qo’shish uchun siz quyidagi amallarni bajarishingiz kerak bo’ladi:

  1. Siz omboringizning asosiy sahifasiga o’tishingiz kerak.GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish
  2. Fayl qo’shish uchun tugmani bosishingiz kerak, keyin “Yangi fayl yaratish” ni tanlang.GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish
  3. Keyinchalik, fayl nomini kiritishingiz kerak. Litsenziya uchun bu ikkita variantdan biri bo’lishi mumkin: LICENSE yoki LICENCE.md. Bu erda katta harflardan foydalanish majburiydir.
  4. Fayl nomini kiritish maydonining o’ng tomonida litsenziya shablonini tanlash uchun bosing.GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish
  5. Sahifaning chap tomonidagi menyuda “Loyihangizga litsenziya qo’shish” qatorini tanlang. Bunday holda, mavjud hujjatlardan variant tanlanadi.GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish
  6. Keyin “Ko’rib chiqish va yuborish” qatoriga bosing. Keyin shartnoma tafsilotlarini kiriting.
  7. Shundan so’ng, qanday qo’shimchalar yoki o’zgartirishlar kiritilganligini aniqlashtirish kerak. Keyin tanlangan hujjat tuzatilganmi yoki litsenziyaning boshqa versiyasini yaratish haqidami yoki yo’qligini ko’rsating.GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish

O’zgarishlarni tasdiqlaganidan so’ng, ishlab chiquvchi Git Hub xizmatida litsenziyalar ro’yxatiga o’zgartirishlar kiritish tartibini yakunlaydi.

Github litsenziyasini tanlang – Git Hub-da mashhur litsenziyalar misollari

Quyida eng mashhur variantlar mavjud. Ularning kuchli va zaif tomonlarini tushunib, dasturchi to’g’ri variantni topa oladi yoki qanday qilib samarali qidirishni tushunadi.

GPL

Ushbu litsenziyani eng mashhurlaridan biri deb atash mumkin. Bu bepul dasturiy ta’minot ishlab chiqaruvchilar uchun klassik. Ushbu hujjatning asosiy talablaridan biri shundaki, u
uchinchi shaxslarga dasturni erkin o’zgartirish imkonini beradi , lekin ayni paytda ular natijani faqat bir xil litsenziya ostida tarqatish huquqiga ega. Ushbu litsenziya turli versiyalarga ega bo’lishi mumkin. Ulardan oxirgisi uchinchisi. GPL Drupal veb-kontentni boshqarish tizimi, MariaDB ma’lumotlar bazasini boshqarish tizimi, InkSkape vektor grafik muharriri va boshqalar kabi dasturlarni ishlab chiquvchilar tomonidan ishlatilgan. Shunisi qiziqki, SQL nafaqat GPL, balki tijorat litsenziyasidan ham foydalanadi.

LGPL

Bu nom “GNU GPL Lesser General Public License” deb tarjima qilingan. Ba’zi ishlab chiquvchilar uchun GPL mos kelmaydi, chunki u o’zgartirilgan mahsulotlarni bir xil litsenziya ostida tarqatish majburiyatini yaratadi. Ushbu variantni qo’llash xususiyatlarini dasturchi tomonidan yaratilgan kutubxonalardan foydalanishni litsenziyalash jarayoni qanday sodir bo’lishini ko’rsatish mumkin. Bunday holda, quyidagi uchta variant ko’rib chiqiladi:

  1. Agar kutubxona boshqa tijorat kutubxonalari buni qila olmaydigan yangi funksiyalarni taqdim qilsa, GPL eng yaxshi tanlovdir.
  2. Bepul kutubxonadagi ishlab chiquvchi allaqachon mavjud standartni amalga oshirgan. Ushbu sohada shunga o’xshash funktsiyalarga ega tijorat variantlari mavjud. Bu holda LGPL ni tanlash qulay bo’ladi.
  3. Tijoriy standart bilan raqobatlashadigan yangi standart haqida gap ketganda, Apache litsenziyasi borishning yo’lidir.

Ushbu standart
kutubxonalardan tijorat maqsadlarida foydalanish imkonini beradi . Agar o’zgartirishlar kiritilsa, tarqatish uchun bir xil shartlar qo’llanilishi kerak. Biroq, koddan oddiy foydalanish shartlarni o’zgartirishga imkon beradi.

Eclipse jamoat litsenziyasi

Ushbu hujjat
boshqa litsenziyalar, shu jumladan tijorat litsenziyalari bo’yicha tarqatishga ruxsat beradi . Asosiy shart – o’zgartirilgan ishlarda innovatsiyalar alohida modulga joylashtiriladi. Ushbu litsenziya Java-da mahsulotlarni ishlab chiqishda mashhurlikka erishdi. Bunga misol Clojure dasturlash tili, java ilovalarini sinash uchun asos.
GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish

Mozilla ommaviy litsenziyasi

Ba’zilar ushbu hujjatni GPL va tijorat litsenziyalari o’rtasidagi kelishuv sifatida ko’rishadi. MPL
ma’lum fayllarga ochiq kirishni talab qiladi . Dasturiy ta’minot mahsulotida ushbu litsenziya bo’yicha ba’zi fayllar bo’lishi mumkin, boshqalari esa unsiz. O’zgartirishdan so’ng, zarur bo’lgan litsenziyani qo’yishga ruxsat beriladi (masalan, u tijorat bo’lishi mumkin), ammo bu MPL ostida chiqarilgan fayllarga kirish hali ham ochiq bo’lishi sharti bilan mumkin. Bunday holda, oxirgi foydalanuvchiga original dasturiy ta’minot mualliflari haqida ma’lumot berilishi kerak. Ushbu hujjatga muvofiq, LibreOffice ofisi, Mozilla brauzeri va boshqa dasturiy mahsulotlar chiqarildi.

Apache litsenziyasi Github

AL liberal bepul litsenziya deb ataladi. Bu xususiyat,
oldingi kabi bir xil sharoitlarda hosilaviy mahsulotni chiqarish uchun hech qanday talab yo’qligi bilan bog’liq . Ushbu hujjat Apache Software Foundation tomonidan faol foydalaniladi. Foydalanishda quyidagilarga ruxsat beriladi:

  1. Dasturiy ta’minot mahsulotidan tijorat maqsadlarida foydalanishga ruxsat beriladi.
  2. Ilovani o’zgartirishga ruxsat beriladi.
  3. Keyingi tarqatishlar asl muallifning ismini o’z ichiga olishi kerak.

Yangi variantni yaratish orqali litsenziatlarning asl mahsulot kodini taqdim etish majburiyati yo’q. Bunday litsenziya katta mashhurlikka erishdi. Buni ushbu litsenziya turi bo’yicha chiqarilgan mashhur dasturiy mahsulotlarni sanab o’tish orqali ko’rsatish mumkin: Android operatsion tizimi, Java-da korporativ ilovalarni yaratuvchi ramka va Apache veb-server. https://youtu.be/wyZq-EazOmU

MIT litsenziyasi

Ba’zilar ushbu bepul dasturiy ta’minot litsenziyasi variantini eng mashhur deb bilishadi. Uning asosiy afzalligi ba’zilar tomonidan har xil turdagi bepul yoki tijorat litsenziyalari bilan yaxshi muvofiqligi deb hisoblanadi. Eng muhim xususiyatlar –
kodni o’zgartirish qobiliyati, shuningdek, o’zgartirishlar kiritgan shaxsning tanlovi bo’yicha boshqa litsenziyalar bo’yicha tarqatish ruxsati . Ushbu hujjatdan foydalanadigan dasturiy mahsulotlar quyidagilardir: JQuiery deb nomlangan JavaScript kutubxonasi, Atom matn muharriri, AngularJS, JavaScript ishlab chiqish ramkasi.

GitHub litsenziyalari haqida nimalarni bilishingiz kerak: qanday tanlash va qo'shish
Git Hub litsenziyasini taqqoslash

Suv osti toshlari

Ba’zan muallif dastlab litsenziyaning bitta versiyasini tanlaydi, keyin esa uni o’zgartirishni xohlaydi. Agar u dasturni yolg’iz yaratgan bo’lsa, unda bunday o’zgarish qiyin bo’lmaydi. Biroq, rivojlanishda ko’plab ishtirokchilar bo’lgan hollarda, ularning roziligisiz bu ishlamaydi. Misol uchun, Linux yaratuvchisi, garchi u aslida operatsion tizimning asosini yaratgan bo’lsa ham, keyingi rivojlanishda ishtirok etgan barcha dasturchilarning roziligisiz litsenziyani o’zgartira olmaydi. MPL bo’yicha tarqatishda kodga o’zgartirish kiritganlar boshqa litsenziya ostida MPL ostida fayllarni taklif qila olmaydi. Yangi hujjatdan foydalanish boshqa dastur modullariga tegishli bo’ladi.

info
Rate author
Add a comment