Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambing

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

Paano pumili ng lisensya ng GitHub at bakit mahalagang gumawa ng tamang pagpili? Ang GitHub ay ang pinakamalaking serbisyo para sa pinagsamang pag-unlad ng mga proyekto sa IT at ang kanilang kasunod na pagho-host. Sa tulong ng serbisyo sa web na ito, ang isang walang limitasyong bilang ng mga tao ay maaaring gumawa ng isang proyekto nang sabay-sabay, gayundin mula sa ganap na kahit saan sa mundo. Ang GitHub ay mayroon ding management o control system na nagbibigay-daan sa iyong tingnan at kontrolin ang lahat ng pagbabagong ginawa ng mga developer sa paglipas ng panahon, at pinapayagan ka rin nitong bumalik sa estado na naganap bago ang mga pagbabago.
Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambingNgunit sa madaling salita, ang GitHub ay ang tinatawag na social network para sa mga programmer at developer, kung saan mahahanap mo, at pagkatapos ay magsanay sa mga code mula sa iba pang mga developer. Maaari mo ring iimbak ang iyong portfolio sa GitHub. Sa pangkalahatan, ang GitHub ay isang serbisyo na angkop para sa parehong mga baguhang developer at may karanasang programmer. Gayunpaman, ang mga gumagamit ng serbisyong ito ay maaaring minsan ay may ilang mga katanungan tungkol sa pagpili ng isang lisensya, dahil ang kanilang pagpili doon ay medyo magkakaibang.

Ano ang lisensya ng GitHub

Ang isang lisensya ay isang espesyal na dokumento na itinatag ng form ng estado at nagbibigay-daan sa iyo na makisali sa isang tiyak na uri ng aktibidad ng negosyante, na walang kabiguan ay nangangailangan ng espesyal na atensyon mula sa panig ng estado. Ngunit, kadalasan, sa pagsasagawa, ang mga pinaikling kasunduan sa lisensya o mga kasunduan na nagbibigay para sa pagpapalabas ng mga pribadong lisensya ng batas ang ginagamit. Sa pangkalahatan, isa lang ang hinahabol ng lisensya, ngunit ang pinakamahalagang layunin, ito ay isang kasunduan sa mga obligasyon at karapatan sa pagitan ng tagapaglisensya at ng may lisensya. Ang mga tungkulin at karapatan na ito ay maaaring maging anumang bagay, ngunit sa loob lamang ng balangkas ng batas. Ang isang kapansin-pansing halimbawa ay ang tagapaglisensya ay maaaring mangailangan ng pangalan ng may-ari ng copyright na kailanganin kapag ginagamit ang gawa ng lisensyado. O, halimbawa, payagan ang pagkopya, ngunit ganap na ipinagbabawal ang anumang pagbabago nito. O, upang mailabas ang mga naturang pangangailangan na ang trabaho ay mailabas sa eksaktong kaparehong mga kondisyon gaya ng orihinal, at iba pa, napakaraming halimbawa ng paglalagay ng iba’t ibang kundisyon.

Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambing
Isang halimbawa ng isa sa mga lisensya ng Apache

Ngunit, gayundin, hindi natin dapat kalimutan na pinoprotektahan ng lisensya ang mga karapatan hindi lamang ng tagapaglisensya, kundi pati na rin ng may lisensya. Dahil dito ay malinaw mong makikita at mabasa ang lahat ng mga kondisyon para sa paggamit ng trabaho, at samakatuwid ay hindi niya kailangang matakot na ang tagapaglisensya ay biglang humingi ng anumang mga pagbabawas o anumang iba pang kabayaran para sa paggamit ng kanyang trabaho.

Kung tumanggi kang gamitin ang lisensyang nauugnay sa gawa, nalalapat pa rin ang mga copyright alinsunod sa mga legal na alituntuning ipinapatupad sa isang partikular na bansa. Sa madaling salita, ang kawalan ng lisensya ay hindi nagpapahiwatig na maaaring gamitin ng ibang mga may-akda ang proyektong ito sa anumang paraan na gusto nila. Ang lahat ay eksaktong kabaligtaran, dahil nang walang anumang partikular na lisensya, ang programmer sa anumang kaso ay hindi inaalis ang mga karapatan na ipinagkaloob ng batas. Mahalaga rin na laging tandaan na ang lisensya ay namamahala sa lahat ng mga karapatan at obligasyon. Ito ay para protektahan ang may-ari ng trabaho mula sa mga inaasahan ng user at kung ano ang ipinahihiwatig ng anumang warranty. Pagkatapos ng lahat, walang gustong mapunta sa korte ang kanilang code sa anumang paraan.

Ang copyright ay lilitaw lamang sa isang tao kapag, bilang resulta ng intelektwal na aktibidad, lumikha siya ng isang tiyak na gawain na magiging kakaiba, ngunit sa parehong oras kapaki-pakinabang, halimbawa, maaari mong kunin ang pagsulat ng parehong programa. Kapag nagawa na ang lahat ng nasa itaas, ang tao ang magiging may-akda at ngayon ay mayroon na siyang ganap na lahat ng copyright sa gawaing ito. Dapat ding sabihin na ang mga copyright ay ari-arian at hindi ari-arian. Ang kanilang pagkakaiba ay ang mga karapatan sa ari-arian ay maaaring ilipat sa sinuman, ngunit ang mga karapatan na hindi ari-arian ay palaging mananatili lamang sa may-akda sa anumang sitwasyon. Pagkatapos ng lahat, ang pagiging isang may-akda ay isang hindi maililipat at hindi maiaalis na karapatan.

Para saan ang lisensya ng Open Source?

Ito rin ay isang medyo tanyag na tanong sa mga baguhan na developer at programmer, dahil hindi lang nila naiintindihan kung bakit ang isang lisensya ay dapat na naka-attach sa kanilang mga proyekto, dahil kung wala ito ang proyekto ay maaari ding umiral nang tahimik. Gayunpaman, hindi ito ganap na totoo, dahil kung, halimbawa, ang ilang baguhan na developer ay nagsulat ng ilang medyo mahalaga at kapaki-pakinabang na piraso ng code, ngunit hindi ito pinoprotektahan ng isang lisensya, kung gayon ang ibang mga gumagamit ay may mga katanungan. At tiyak na dahil dito, kapag ang mga kliyente ay lumapit sa kanya at gustong gamitin ang piraso ng code na ito para sa kanilang komersyal na layunin, nakikita nila na ang code ay walang anumang lisensya at tinatanggihan lamang ito. Ito ay dahil sa ang katunayan na ang mga kumpanya ay hindi gagamit ng code nang walang lisensya, dahil hindi nila kailangan ng mga problema sa batas at mga abogado.
Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambingAt iyon ang dahilan kung bakit kahit na ang pinaka-kapaki-pakinabang at maginhawang proyekto ay hindi kailanman maipapatupad. At ang developer na gustong kunin ang piraso ng code na ito ay kailangang maghanap at gumamit ng alternatibo, o ganap na muling isulat ang code na isinulat na ng baguhang developer kanina. Iyon ang dahilan kung bakit pinakamahusay na tiyakin nang maaga na ang programmer ay gumagamit ng tama, at higit sa lahat, angkop na lisensya. Pag-explore sa GitHub sa isang video tutorial sa loob ng 15 minuto: https://youtu.be/JfpCicDUMKc

Aling lisensya ng GitHub ang angkop sa ilang partikular na kundisyon – paano pumili?

Maaaring walang eksaktong sagot sa tanong na ito, dahil ang pagpili ng lisensya ay nakasalalay lamang sa mga layunin ng proyekto at sa mga personal na kagustuhan at kagustuhan ng developer mismo. Tulad ng nakikita mo, mayroong maraming iba’t ibang mga lisensya sa GitHub, at higit sa lahat, lahat sila ay libre at nasa pampublikong domain, na nangangahulugan na ang bawat programmer ay makakahanap ng lisensya ng
Open Source na tiyak na akma sa kanyang proyekto. Ngunit, ang pinakamahalaga, hindi natin dapat kalimutan na ang isang Open Source na lisensya ay hindi lamang isang code na walang lisensya.

Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambing
Pamilya ng lisensya ng GitHub
Sa kaunting pananaliksik, maaari mong kolektahin ang lahat ng lisensya ng Open Source at hatiin ang mga ito sa tatlong malalaking pangunahing grupo:
  1. Matindi ang proteksiyon.
  2. Mahina ang proteksyon.
  3. Permissive.

malakas na proteksiyon

Ang mahigpit na pagprotekta sa mga lisensya ay kadalasang mga variation ng GPL. Ang mga lisensyang ito ay nangangailangan ng paglilisensya ng proyekto pati na rin ang pagbubunyag ng mga source code, anuman ang anumang code o proyekto na gagamitin o nagamit na.

Mahina ang proteksyon

Ang mahinang pagprotekta sa mga lisensya ay kadalasang mga variation ng Lesser GPL. Kung saan ang pangunahing pagkakaiba mula sa mga permissive na lisensya ay na dito ay kinakailangan din na lisensyahan ang programa sa ilalim ng lisensya ng GPL, pati na rin ang pagbibigay ng mga source code nang walang kabiguan. Kasabay nito, kung mayroong isang library sa proyekto ng programmer, iyon ay, static na pag-link o dynamic na pag-link sa ilalim ng lisensya ng LGPL, kung gayon ito ay magiging tugma sa alinman sa mga lisensya ng proyekto ng programmer na ito.

Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambing
Kung saan tinukoy ang uri ng lisensya ng GitHub

permissive

Mayroong isang medyo malaking bilang ng mga permissive na lisensya, sa kanilang mga ranggo ang pinakasikat na mga lisensya ay MIT, Apache 2.0, at BSD. Sa kaunting pagkakaiba-iba, ang mga lisensyang ito ay may kakayahang payagan ang paggamit ng code sa parehong Open Source na mga proyekto at para sa komersyal na layunin at proyekto. Ngunit, sa kasong ito, mahalagang tandaan na kinakailangang ipahiwatig ang pagiging may-akda ng orihinal na programa.

Iba pang sikat na lisensya ng GitHub

Bilang karagdagan sa tatlong pangkat ng mga lisensyang ito, mayroon ding iba, halimbawa, ang isa sa mga pinakakapaki-pakinabang na lisensya ay ang GPLv2 na may mga extension ng classpath. Ang lisensyang ito ay maaari ding gamitin para sa parehong Open source na proyekto at komersyal na proyekto at layunin. Ang pinakasikat na hitsura nito ay sa Oracle, na gumagamit ng GPLv2 na may mga extension ng classpath para bigyan ng lisensya ang mga proyekto at solusyon sa Open Source nito. Ang lisensyang ito ay lubos na mahalaga at kapaki-pakinabang, dahil ang mga regular na lisensya ng GPL, halimbawa, ay hindi kailanman magagawang harapin ang bytecode. Iyon ay, mayroon silang isang espesyal na paglalarawan ng proseso ng compilation at pag-link, na ganap na hindi angkop para sa iba pang mga interpreted programming language, ang pinakasikat na wika ng Java ay kabilang sa mga naturang wika. Para sa mga ganitong kaso na may inilabas na espesyal na lisensyang GPLv2 na may mga extension ng classpath. Pagkatapos ng lahat, napakalinaw at malinaw nitong sinasabi na ang library na inilabas sa ilalim ng lisensyang ito ay maaaring gamitin para sa mga komersyal na proyekto at layunin na may ganap na anumang iba pang lisensya.
Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambingAno pa ang kailangan mong malaman tungkol sa mga
lisensya ng GitHub .

Pagdaragdag ng lisensya

Matapos mapili ang huling lisensya, nananatili lamang itong idagdag sa mismong ugat ng proyekto. Upang maisagawa ang pagkilos na ito, kailangan mong idagdag lamang ang napiling lisensya sa ilalim ng ugat ng proyekto sa panahon ng paggawa ng mismong proyekto o sa anumang iba pang oras. Ngunit kahit na sa pagkilos na ito, nagawa ng GitHub web service na pangalagaan ang mga user nito at gumawa sila ng medyo maginhawang paraan upang magdagdag ng panghuling lisensya kahit na sa simula ng mismong proyekto.
Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambingGayunpaman, sa kasamaang-palad, hindi lang ito, dahil kailangang suriin ng developer o programmer ang lahat ng mga dependency na ginamit sa kanyang ideya o proyekto. Iyon ay, kung kahit isa sa mga dependency na inilabas sa ilalim ng lisensya ng GPL, kung gayon ang buong proyekto ng developer ay dapat na tugma sa GPL. Para sa naturang pag-verify, ang mga dating idinisenyong programa o tool ay karaniwang ginagamit para dito. Halimbawa, mayroong isang tool para dito https://github.com/pivotal/LicenseFinder:
Aling lisensya ang pipiliin sa GitHub: mga uri, paghahambingMaaari nating sabihin na ang paglilisensya ay isang medyo matagal na gawain, ngunit sa parehong oras ay isang kinakailangang aksyon para sa buhay ng isang proyekto o anumang ideya ng isang programmer. Upang pumili ng tamang lisensya, sa kasamaang-palad, kailangan mong gumastos ng maraming oras, gayunpaman, sulit ito para sa proyekto na maging matagumpay. Pinakamainam na ilagay ang pagpili ng lisensya sa unang lugar kapag nagsusulat ng anumang programa, dahil sa paggawa nito sa pinakadulo simula, maaari mong ganap na idirekta ang lahat ng iyong mga pagsisikap sa tamang direksyon at magsulat ng isang programa na magiging matagumpay at maginhawa para sa karamihan. mga gumagamit.

info
Rate author