Leseni za GitHub – tunazungumza nini? Ili kuunda programu, mtu haipaswi tu kuandika, lakini pia kuamua ni watumiaji gani au watengenezaji wana haki ya kufanya nayo. Ikiwa mtu anaunda programu ya bure kwa kila mtu, anafanya kitendo kizuri, lakini yeyote anayetumia atalazimika kuhalalisha jinsi anavyotumia. Kwa mfano, ikiwa kampuni katika shughuli zake itafanya kazi na baadhi ya ofisi ya bure (kwa mfano, LibreOffice), basi ni lazima iweze kuthibitisha kwa wakaguzi kwamba ina haki ya kufanya hivyo. Kwa kufanya hivyo, itakuwa ya kutosha kuwasilisha leseni inayofaa. Ikiwa msanidi programu atasahau kuiunda, basi kampuni inaweza kuwa katika hali ngumu. [kitambulisho cha maelezo = “attach_11854″ align=”aligncenter” width=”1024″]
Uainishaji wa leseni na aina za leseni[/caption] Wakati wa kuunda programu, msanidi lazima aamue ni hatua gani zitaruhusiwa na programu yake na ni zipi hazitaruhusiwa. Kwa mfano, hatuwezi kuzungumza tu kuhusu kutumia, lakini pia kuhusu kujifunza maandiko ya programu au kufanya marekebisho yako mwenyewe kwa bidhaa ya programu. GitHub ni mojawapo ya huduma kubwa zaidi za maendeleo ya mradi shirikishi. Wakati huo huo, wanaweza kufanya kazi hapa sio bure tu, bali pia kwenye miradi ya kibiashara. Kwa kubainisha leseni inayofaa, wasanidi programu wataondoa utata katika jinsi ya kutumia bidhaa iliyoundwa. Shida ni kwamba kuna aina nyingi za leseni, na sio rahisi kila wakati kuamua ni chaguo gani cha kuchagua katika kesi fulani. Pia ni kawaida kwa baadhi ya miradi kutokuwa na leseni.
- Kwa nini unahitaji kutoa leseni kwa miradi ya Open Source kwenye GitHub
- Ni aina gani za leseni zilizopo
- Jinsi ya kuchagua leseni ya Github
- Jinsi ya kuongeza leseni kwa Github
- Chagua leseni ya Github – mifano ya leseni maarufu kwenye Git Hub
- GPL
- LGPL
- Leseni ya Umma ya Eclipse
- Leseni ya Umma ya Mozilla
- Github ya Leseni ya Apache
- Leseni ya MIT
- Miamba ya chini ya maji
Kwa nini unahitaji kutoa leseni kwa miradi ya Open Source kwenye GitHub
Wakati wa kubainisha leseni inayohitajika, msanidi programu anaweza kutoa yafuatayo ndani yake:
- Masharti ya matumizi ya programu . Wanaweza kuhusisha ada au, katika baadhi au hali zote, kuruhusu matumizi ya bure.
- Wakati mwingine programu huundwa ili kuendelezwa na jumuiya . Katika kesi hii, ni muhimu kwamba kila mtu ambaye anataka kufahamiana na maandishi ya programu.
- Wakati maandishi ya programu yanapatikana, wengine wanaweza kufanya mabadiliko ili kufanya programu ifanye kazi na ya kuaminika iwezekanavyo. Wakati mwingine mwandishi anaweza kuruhusu kila mtu kufanya hivyo, katika hali nyingine hutoa kutuma mabadiliko kwake, na kufanya marekebisho kwa mradi peke yake.
- Unahitaji kuamua ikiwa wahusika wengine wanaweza kufanya mabadiliko kwenye mradi na kutoa kwa niaba yao. Wakati wa kufanya hivyo, unahitaji kutaja leseni ambayo bidhaa zao zinapaswa kuwa nazo.
Kutatua maswali haya na sawa, mwandishi wa programu huamua kwa kiasi kikubwa hatima ya baadaye ya bidhaa ya programu aliyounda.
Ni aina gani za leseni zilizopo
Leseni ni makubaliano ambapo mhusika mmoja (mtoa leseni) anaweka sheria kwa upande mwingine (mwenye leseni) kutumia bidhaa iliyoundwa naye. Kwa mazoezi, hatuzungumzii juu ya kusaini hati na wahusika, lakini juu ya makubaliano ya moja kwa moja na haki zinazolingana na majukumu juu ya matumizi yake. Kwa kweli hakuna vikwazo juu ya kubainisha haki na wajibu. Sharti pekee ni kwamba lazima wafuate sheria. Kuunda leseni zako mwenyewe ni kazi ngumu, kwani lazima iendane na kanuni zingine. Chaguo bora ni kuchagua na kutumia moja ya aina za kawaida za hati hizo. Katika mazoezi, pia ni desturi kutumia leseni nyingi. Mara nyingi, katika hali kama hizi, leseni mbili hutumiwa wakati huo huo. Ingawa mwandishi wa programu ana haki ya kuunda kwa uhuru sheria ambazo watumiaji wanapaswa kufuata, hata hivyo, katika mazoezi, matumizi ya idadi kubwa ya aina ya leseni imeundwa, ambayo unaweza kuchagua moja sahihi katika hali nyingi. Zifuatazo ni chaguzi maarufu zaidi zinazotumiwa kwenye Git Hub katika hali nyingi. Leseni zinazotumiwa sana kwenye Git Hub ni:
Mpangaji programu atalazimika kuchagua moja ambayo italingana na mipango yake. Ili kufanya hivyo kwa usahihi, unahitaji kuelewa ni sifa gani za asili katika aina fulani.
Ikiwa mwandishi anakataa kuunda hati, basi katika kesi hii hakimiliki zitatumika, ambazo hutolewa kwa default na sheria ya nchi yake. Kutokuwepo kwa leseni kwa njia hii haimaanishi kuwa chochote kinaweza kufanywa na programu. Kwa kweli, hali kama hiyo inaweza kuzingatiwa kama moja ya aina za leseni.
Jinsi ya kuchagua leseni ya Github
Kabla ya kuanza kutafuta chaguo linalofaa, ni muhimu kwamba mtayarishaji atengeneze mahitaji yake, ambayo ataendelea na utoaji wa leseni zaidi. Ifuatayo, unapaswa kujijulisha na chaguzi za kawaida zinazofanana na ombi. Baada ya hapo, utahitaji kusoma kwa uangalifu lugha ya kisheria na kufanya uamuzi wa mwisho juu ya kile leseni inapaswa kuwa. Ili kufanya chaguo sahihi, unahitaji kuelewa ni haki na wajibu gani unaohusishwa na aina fulani ya leseni. Ili kufanya chaguo sahihi, unaweza kutumia huduma maalum zinazoitwa compators. Hapa kuna baadhi ya mifano:
- https://choosealicense.com/. Tovuti hii ina maswali yanayoongoza kwa kuchagua chaguo sahihi na ushauri wa kina ili kukusaidia kuelewa vipengele vya matumizi.
- Ukurasa wa https://opensource.org/licenses umejitolea kukagua suluhu mbalimbali za programu zisizolipishwa.
- Tovuti ya https://tldrlegal.com/ inaweza kuchukuliwa kama ensaiklopidia kwa chaguo mbalimbali za leseni. Kuna uundaji sahihi wa kisheria na maoni ya kina.
Hata hivyo, njia bora zaidi ya kuchagua ni kusoma kwa makini hati husika za kisheria. . Ingawa tunazungumza juu ya shughuli zinazohitaji nguvu kazi kubwa, hata hivyo, kusoma maandishi kutampa msanidi majibu yote muhimu.
Jinsi ya kuongeza leseni kwa Github
Licha ya uchaguzi wa kina wa chaguzi za leseni ambazo zimeonekana kuwa za ufanisi na za kuaminika katika mazoezi, msanidi programu anaweza kuwa na mawazo yake kuhusu kile leseni ya programu aliyounda inapaswa kuwa. Katika kesi hii, huduma hutoa uwezo wa kuongeza toleo lako mwenyewe au kurekebisha lililopo. Ili kuongeza leseni kwa Github, utahitaji kufuata hatua hizi:
- Unahitaji kwenda kwenye ukurasa kuu wa hazina yako.
- Unahitaji kubofya kitufe ili kuongeza faili, kisha uchague “Unda faili mpya”.
- Ifuatayo, unahitaji kuingiza jina la faili. Kwa leseni, hii inaweza kuwa mojawapo ya chaguo mbili: LESENI au LICENCE.md. Hapa matumizi ya herufi kubwa ni ya lazima.
- Upande wa kulia wa sehemu ya kuingiza jina la faili, bofya ili kuchagua kiolezo cha leseni.
- Katika menyu upande wa kushoto wa ukurasa, chagua mstari “Ongeza leseni kwa mradi wako”. Katika kesi hii, lahaja huchaguliwa kutoka kwa hati zilizopo.
- Kisha bofya kwenye mstari “Kagua na uwasilishe”. Kisha ingiza maelezo ya makubaliano yako.
- Baada ya hayo, ni muhimu kufafanua ni nini nyongeza au mabadiliko yalifanywa. Ifuatayo, onyesha ikiwa hati iliyochaguliwa ilirekebishwa au ikiwa inahusu kuunda toleo lingine la leseni.
Baada ya kuthibitisha mabadiliko, msanidi hukamilisha utaratibu wa kufanya mabadiliko kwenye orodha ya leseni kwenye huduma ya Git Hub.
Chagua leseni ya Github – mifano ya leseni maarufu kwenye Git Hub
Zifuatazo ni chaguzi ambazo ni maarufu zaidi. Kwa kuelewa uwezo na udhaifu wao, mpangaji programu ataweza kupata chaguo sahihi au kuelewa jinsi ya kutafuta kwa ufanisi.
GPL
Leseni hii inaweza kuitwa moja ya maarufu zaidi. Ni classic kwa wale wanaozalisha programu ya bure. Moja ya mahitaji makuu ya hati hii ni kwamba
inaruhusu vyama vya tatu kwa uhuru kurekebisha mpango , lakini wakati huo huo wana haki ya kusambaza matokeo tu chini ya leseni sawa. Leseni hii inaweza kuwa na matoleo tofauti. Ya hivi punde kati ya haya ni ya tatu. GPL imetumiwa na watengenezaji wa programu kama vile mfumo wa usimamizi wa maudhui ya wavuti wa Drupal, mfumo wa usimamizi wa hifadhidata wa MariaDB, kihariri cha picha za vekta ya InkSkape, na zingine. Inafurahisha kutambua kwamba SQL haitumii GPL tu, bali pia leseni ya kibiashara.
LGPL
Jina hili linatafsiriwa kuwa “GNU GPL Lesser General Public License”. Kwa wasanidi wengine, GPL haifai, kwa kuwa inawawekea wajibu wa kusambaza bidhaa zilizorekebishwa chini ya leseni sawa. Vipengele vya utumiaji wa chaguo hili vinaweza kuonyeshwa kwa jinsi mchakato wa kutoa leseni ya utumiaji wa maktaba iliyoundwa na mtayarishaji unafanyika. Katika kesi hii, chaguzi tatu zifuatazo zinazingatiwa:
- Wakati maktaba hutoa utendakazi mpya ambapo hakuna maktaba nyingine ya kibiashara inayoweza kufanya hivyo, basi GPL ndilo chaguo bora zaidi.
- Msanidi programu katika maktaba ya bure tayari ametekeleza kiwango kilichopo. Katika eneo hili, kuna chaguzi za kibiashara na kazi sawa. Kwa kesi hii, itakuwa rahisi kuchagua LGPL.
- Linapokuja suala la kiwango kipya ambacho kinashindana na kile cha kibiashara, leseni ya Apache ndiyo njia ya kwenda.
Kiwango hiki
kinaruhusu matumizi ya kibiashara ya maktaba . Ikiwa marekebisho yanafanywa, sheria na masharti sawa lazima yatumike kwa usambazaji. Hata hivyo, matumizi rahisi ya kanuni inaruhusu hali kubadilika.
Leseni ya Umma ya Eclipse
Hati hii
inaruhusu usambazaji chini ya leseni zingine, zikiwemo za kibiashara . Hali kuu ni kwamba katika kazi zilizobadilishwa, ubunifu utawekwa kwenye moduli tofauti. Leseni hii imepata umaarufu katika ukuzaji wa bidhaa katika Java. Mfano ni lugha ya programu ya Clojure, mfumo wa kujaribu programu za java.
Leseni ya Umma ya Mozilla
Wengine wanaona hati hii kama maelewano kati ya GPL na leseni za kibiashara. MPL inahitaji
ufikiaji wazi kwa faili fulani . Bidhaa ya programu inaweza kuwa na faili zingine chini ya leseni hii na zingine bila hiyo. Baada ya marekebisho, inaruhusiwa kuweka leseni ambayo inahitajika (kwa mfano, inaweza kuwa ya kibiashara), lakini hii inawezekana tu kwa hali ya kuwa upatikanaji wa faili zilizotolewa chini ya MPL bado utafunguliwa. Katika kesi hii, mtumiaji wa mwisho lazima apewe habari kuhusu waandishi wa programu ya awali. Kwa mujibu wa hati hii, ofisi ya LibreOffice, kivinjari cha Mozilla na bidhaa nyingine za programu zilitolewa.
Github ya Leseni ya Apache
AL inaitwa leseni huria ya bure. Kipengele hiki ni kutokana na ukweli kwamba
hakuna mahitaji ya kutoa bidhaa derivative chini ya hali sawa na awali . Hati hii inatumiwa kikamilifu na Apache Software Foundation. Inapotumiwa, zifuatazo zinaruhusiwa:
- Bidhaa ya programu inaruhusiwa kutumika zaidi kwa madhumuni ya kibiashara.
- Marekebisho ya programu yanaruhusiwa.
- Usambazaji unaofuata unapaswa kujumuisha jina la mwandishi asilia.
Kwa kuunda lahaja mpya, hakuna wajibu kwa wenye leseni kutoa msimbo asili wa bidhaa. Leseni kama hiyo imepata umaarufu mkubwa. Hili linaweza kuonyeshwa kwa kuorodhesha bidhaa za programu zinazojulikana ambazo hutolewa chini ya aina hii ya leseni: mfumo wa uendeshaji wa Android, mfumo unaounda programu za biashara katika Java, na seva ya wavuti ya Apache. https://youtu.be/wyZq-EazOmU
Leseni ya MIT
Wengine wanaona chaguo hili la leseni ya programu ya bure kuwa maarufu zaidi. Faida yake kuu inachukuliwa na wengine kuwa utangamano mzuri na aina mbalimbali za leseni za bure au za kibiashara. Vipengele muhimu zaidi ni
uwezo wa kurekebisha msimbo, pamoja na ruhusa ya kusambaza chini ya leseni zingine kwa chaguo la yule aliyefanya mabadiliko . Bidhaa za programu zinazotumia hati hii ni: maktaba ya JavaScript iitwayo JQuiery, kihariri maandishi cha Atom, AngularJS, mfumo wa ukuzaji wa JavaScript.
Miamba ya chini ya maji
Wakati mwingine mwandishi mara ya kwanza anachagua toleo moja la leseni, na baadaye anataka kulibadilisha. Ikiwa aliunda programu peke yake, basi mabadiliko kama haya hayatakuwa ngumu. Hata hivyo, katika hali ambapo kulikuwa na washiriki wengi katika maendeleo, basi bila idhini yao hii haitafanya kazi. Kwa mfano, muundaji wa Linux, ingawa kwa kweli alifanya msingi wa mfumo wa uendeshaji, hataweza kubadilisha leseni bila idhini ya watengenezaji programu wote ambao walishiriki katika maendeleo zaidi. Wakati wa kusambaza chini ya MPL, wale waliofanya mabadiliko kwenye msimbo hawawezi kutoa faili chini ya MPL chini ya leseni tofauti. Matumizi ya hati mpya yatarejelea moduli zingine za programu.