GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslash

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

GitHub litsenziyasini qanday tanlash mumkin va nima uchun to’g’ri tanlov qilish muhim? GitHub IT-loyihalarni birgalikda ishlab chiqish va ularni keyinchalik xosting qilish uchun eng yirik xizmatdir. Ushbu veb-xizmat yordamida cheksiz ko’p odamlar bir vaqtning o’zida loyiha ustida ishlashlari mumkin, shuningdek, dunyoning mutlaqo istalgan nuqtasidan. GitHub shuningdek, vaqt o’tishi bilan ishlab chiquvchilar tomonidan kiritilgan barcha o’zgarishlarni ko’rish va nazorat qilish imkonini beruvchi boshqaruv yoki boshqarish tizimiga ega, shuningdek, o’zgarishlardan oldin sodir bo’lgan holatga qaytishga imkon beradi.
GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslashOddiy qilib aytganda, GitHub dasturchilar va ishlab chiquvchilar uchun ijtimoiy tarmoq deb ataladi, u erda siz boshqa ishlab chiquvchilarning kodlarini topishingiz va keyinroq mashq qilishingiz mumkin. Portfelingizni GitHub-da ham saqlashingiz mumkin. Umuman olganda, GitHub yangi ishlab chiquvchilar uchun ham, tajribali dasturchilar uchun ham juda mos bo’lgan xizmatdir. Biroq, ushbu xizmat foydalanuvchilarida litsenziyani tanlash bo’yicha ba’zi savollar paydo bo’lishi mumkin, chunki ularning tanlovi juda xilma-xildir.

GitHub litsenziyasi nima

Litsenziya – bu davlat tomonidan belgilangan va davlat tomonidan alohida e’tibor talab qiladigan tadbirkorlik faoliyatining muayyan turi bilan shug’ullanish imkonini beradigan maxsus hujjat. Ammo, ko’pincha, amalda faqat qisqartirilgan litsenziya shartnomalari yoki xususiy huquq litsenziyalarini berishni nazarda tutuvchi shartnomalar qo’llaniladi. Umuman olganda, litsenziya faqat bitta maqsadni ko’zlaydi, lekin eng muhim maqsad – bu litsenziat va litsenziat o’rtasidagi majburiyatlar va huquqlar to’g’risidagi shartnoma. Bu majburiyatlar va huquqlar mutlaqo har qanday bo’lishi mumkin, lekin faqat qonun doirasida. E’tiborli misol, litsenziat litsenziat tomonidan asardan foydalanishda mualliflik huquqi egasining nomi talab qilinishini talab qilishi mumkin. Yoki, masalan, nusxa ko’chirishga ruxsat bering, lekin uni har qanday o’zgartirishni mutlaqo taqiqlang. Yoki asar asl nusxadagi kabi shartlar asosida chiqarilishi va shunga o’xshash talablarni keltirib chiqarish uchun har xil shartlarni ilgari surishga juda ko’p misollar mavjud. [ caption id=”attachment_12368″ align=”aligncenter” width=”780″]
GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslashApache litsenziyalaridan biriga misol[/caption]

Lekin shuni ham unutmasligimiz kerakki, litsenziya nafaqat litsenziarning, balki litsenziatning ham huquqlarini himoya qiladi. Unda siz ishdan foydalanishning barcha shartlarini aniq ko’rishingiz va o’qishingiz mumkin, shuning uchun u litsenziar to’satdan o’z ishidan foydalanganlik uchun har qanday chegirmalar yoki boshqa kompensatsiyalarni talab qilishidan qo’rqmasligi kerak.

Agar asar bilan bog’liq litsenziyadan foydalanishni rad qilsangiz, mualliflik huquqlari ma’lum bir mamlakatda amaldagi qonuniy qoidalarga muvofiq amal qiladi. Oddiy qilib aytganda, litsenziyaning yo’qligi boshqa mualliflar ushbu loyihadan o’zlari xohlagan tarzda foydalanishlari mumkinligini anglatmaydi. Hammasi aksincha, chunki hech qanday maxsus litsenziyasiz dasturchi hech qanday holatda qonun bilan berilgan huquqlardan voz kechmaydi. Shuni ham yodda tutish kerakki, litsenziya barcha huquq va majburiyatlarni tartibga soladi. Bu ishning egasini foydalanuvchi kutganidan va har qanday kafolat nimani anglatishini himoya qilishdir. Axir, hech kim o’z kodi sudda biron-bir tarzda tugashini xohlamaydi.

Mualliflik huquqi nima

Mualliflik huquqi insonda faqat intellektual faoliyat natijasida noyob, ammo ayni paytda foydali bo’lgan ma’lum bir asar yaratganda paydo bo’ladi, masalan, siz xuddi shu dasturni yozishingiz mumkin. Yuqoridagilarning barchasi bajarilgandan so’ng, shaxs muallifga aylanadi va endi u ushbu asarning barcha mualliflik huquqlariga ega. Shuni ham aytish kerakki, mualliflik huquqi mulkiy va nomulkiydir. Ularning farqi shundaki, mulkiy huquqlar har kimga berilishi mumkin, ammo nomulkiy huquqlar har qanday vaziyatda hamisha faqat muallifda qoladi. Zero, muallif bo‘lish o‘zgalarga o‘tkazib bo‘lmaydigan va daxlsiz huquqdir.

Ochiq manba litsenziyasi nima uchun?

Bu, shuningdek, yangi ishlab chiquvchilar va dasturchilar orasida juda mashhur savol, chunki ular nima uchun litsenziyani o’z loyihalariga biriktirish kerakligini tushunmaydilar, chunki ularsiz loyiha tinchgina mavjud bo’lishi mumkin. Biroq, bu mutlaqo to’g’ri emas, chunki, masalan, ba’zi bir Ajam ishlab chiquvchi juda muhim va foydali kod qismini yozgan bo’lsa-da, lekin uni litsenziya bilan himoya qilmagan bo’lsa, unda boshqa foydalanuvchilarning savollari bor. Aynan shu sababli, mijozlar uning oldiga kelib, ushbu kod qismini o’zlarining tijorat maqsadlarida ishlatmoqchi bo’lganlarida, ular kodda litsenziya yo’qligini ko’rishadi va shunchaki rad etishadi. Buning sababi shundaki, kompaniyalar kodni litsenziyasiz ishlatmaydilar, chunki ular qonun va advokatlar bilan bog’liq muammolarga muhtoj emaslar.
GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslashVa shuning uchun ham eng foydali va qulay loyiha hech qachon amalga oshirilmaydi. Va ushbu kod qismini olishni istagan ishlab chiquvchi muqobilni izlashi va ishlatishi yoki avvalroq yangi ishlab chiquvchi tomonidan yozilgan kodni butunlay qayta yozishi kerak. Shuning uchun dasturchi to’g’ri va eng muhimi, tegishli litsenziyadan foydalanayotganiga oldindan ishonch hosil qilish yaxshidir. GitHub-ni 15 daqiqada bitta video darsda o’rganish: https://youtu.be/JfpCicDUMKc

Qaysi GitHub litsenziyasi ma’lum sharoitlarda mos keladi – qanday tanlash kerak?

Bu savolga aniq javob bo’lishi mumkin emas, chunki litsenziyani tanlash faqat loyihaning maqsadlariga va ishlab chiquvchining shaxsiy imtiyozlari va xohishlariga bog’liq. Ko’rib turganingizdek, GitHub-da juda ko’p turli xil litsenziyalar mavjud va eng muhimi, ularning barchasi bepul va jamoat mulki, ya’ni har bir dasturchi
o’z loyihasiga mos keladigan Open Source litsenziyasini topishi mumkin. Lekin, eng muhimi, shuni unutmasligimiz kerakki, Open Source litsenziyasi shunchaki litsenziyasiz kod emas.

GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslash
GitHub litsenziyasi oilasi
Bir oz izlanish bilan siz barcha Ochiq manba litsenziyalarini to’plashingiz va ularni uchta katta asosiy guruhga bo’lishingiz mumkin:
  1. Kuchli himoya.
  2. Zaif himoya.
  3. Ruxsat beruvchi.

kuchli himoya

Kuchli himoyalangan litsenziyalar ko’pincha GPLning o’zgarishi hisoblanadi. Ushbu litsenziyalar loyihani litsenziyalashni, shuningdek, har qanday kod yoki loyiha qanday ishlatilishidan yoki allaqachon ishlatilganidan qat’i nazar, manba kodlarini oshkor qilishni talab qiladi.

Zaif himoya

Zaif himoyalangan litsenziyalar ko’pincha Lesser GPLning o’zgarishi hisoblanadi. Bunda ruxsat beruvchi litsenziyalardan asosiy farq shundaki, bu erda dasturni GPL litsenziyasi bo’yicha litsenziyalash, shuningdek, manba kodlarini majburiy ravishda taqdim etish kerak. Shu bilan birga, agar dasturchi loyihasida kutubxona mavjud bo’lsa, ya’ni LGPL litsenziyasi bo’yicha statik bog’lanish yoki dinamik bog’lanish mavjud bo’lsa, u ushbu dasturchi loyihasining har qanday litsenziyasi bilan ham mos keladi.

GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslash
GitHub litsenziyasi turi ko’rsatilgan joy

ruxsat beruvchi

Juda ko’p ruxsat beruvchi litsenziyalar mavjud, ularning qatorida eng mashhur litsenziyalar MIT, Apache 2.0 va BSD. Kichkina o’zgarishlar bilan ushbu litsenziyalar koddan ochiq kodli loyihalarda ham, tijorat maqsadlarida va loyihalarda ham foydalanishga ruxsat berish qobiliyatiga ega. Ammo, bu holda, asl dasturning muallifligini ko’rsatish kerakligini yodda tutish kerak.

Boshqa mashhur GitHub litsenziyalari

Ushbu uchta litsenziya guruhiga qo’shimcha ravishda, boshqalar ham bor, masalan, eng foydali litsenziyalardan yana biri bu sinf yo’li kengaytmalari bilan GPLv2. Ushbu litsenziya ham ochiq manba loyihalari, ham tijorat loyihalari va maqsadlari uchun ishlatilishi mumkin. Uning eng mashhur ko’rinishi Oracle-da bo’lib, u ochiq manbali loyihalar va yechimlarni litsenziyalash uchun sinf yo’llari kengaytmalari bilan GPLv2 dan foydalanadi. Ushbu litsenziya juda muhim va foydalidir, chunki oddiy GPL litsenziyalari, masalan, bayt-kod bilan hech qachon ishlay olmaydi. Ya’ni, ular kompilyatsiya va bog’lash jarayonining maxsus tavsifiga ega bo’lib, bu boshqa talqin qilinadigan dasturlash tillari uchun mutlaqo mos kelmaydi, eng mashhur Java tili bunday tillar orasida. Aynan shunday holatlar uchun sinf yo’li kengaytmalari bilan maxsus GPLv2 litsenziyasi chiqarildi. Axir, bu litsenziya bo’yicha chiqarilgan kutubxonadan tijorat loyihalari va maqsadlarida mutlaqo boshqa litsenziyalar bilan foydalanish mumkinligi juda aniq va aniq aytilgan.
GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslashGitHub litsenziyalari haqida yana nimani bilishingiz kerak
.

Litsenziya qo’shish

Yakuniy litsenziya tanlab olingandan so’ng, uni loyiha ildiziga qo’shishgina qoladi. Ushbu amalni bajarish uchun siz loyihaning o’zi yoki boshqa istalgan vaqtda loyiha ildizi ostida tanlangan litsenziyani qo’shishingiz kerak. Ammo bu harakatda ham GitHub veb-xizmati o’z foydalanuvchilariga g’amxo’rlik qilishga muvaffaq bo’ldi va ular loyihaning boshida ham yakuniy litsenziyani qo’shishning juda qulay usulini yaratdilar.
GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslashAmmo, afsuski, bu hammasi emas, chunki ishlab chiquvchi yoki dasturchi o’z g’oyasi yoki loyihasida ishlatilgan barcha bog’liqliklarni mutlaqo tekshirishi kerak. Ya’ni, agar GPL litsenziyasi ostida chiqarilgan bog’liqliklardan biri bo’lsa ham, ishlab chiquvchining butun loyihasi GPLga mos kelishi kerak. Bunday tekshirish uchun odatda buning uchun avval ishlab chiqilgan dasturlar yoki vositalar qo’llaniladi. Masalan, bu https://github.com/pivotal/LicenseFinder uchun vosita mavjud:
GitHub-da qaysi litsenziyani tanlash kerak: turlari, taqqoslashAytishimiz mumkinki, litsenziyalash juda ko’p vaqt talab qiladigan ish, lekin ayni paytda loyihaning hayoti yoki dasturchining har qanday g’oyasi uchun zarur bo’lgan harakatdir. To’g’ri litsenziyani tanlash uchun, afsuski, siz juda ko’p vaqt sarflashingiz kerak, ammo loyiha muvaffaqiyatli bo’lishi uchun bunga arziydi. Har qanday dasturni yozishda litsenziyani tanlashni birinchi o’ringa qo’ygan ma’qul, chunki boshida buni qilish orqali siz barcha kuchlaringizni to’g’ri yo’nalishga yo’naltirishingiz va ko’pchilik uchun muvaffaqiyatli va qulay bo’lgan dastur yozishingiz mumkin. foydalanuvchilar.

info
Rate author
Add a comment