Kako izbrati licenco GitHub in zakaj je pomembna prava izbira? GitHub je največja storitev za skupni razvoj IT projektov in njihovo kasnejše gostovanje. S pomočjo te spletne storitve lahko na projektu dela neomejeno število ljudi naenkrat, pa tudi od kjerkoli na svetu. GitHub ima tudi sistem upravljanja oziroma nadzora, ki vam omogoča ogled in nadzor absolutno vseh sprememb, ki so jih skozi čas naredili razvijalci, omogoča pa tudi vrnitev v stanje, ki je bilo pred spremembami.
Poenostavljeno povedano, GitHub je tako imenovano socialno omrežje za programerje in razvijalce, kjer lahko najdete in kasneje vadite kode drugih razvijalcev. Svoj portfelj lahko shranite tudi na GitHub. Na splošno je GitHub storitev, ki je zelo primerna tako za razvijalce začetnike kot za izkušene programerje. Uporabniki te storitve pa imajo včasih lahko kakšna vprašanja glede izbire licence, saj je njihova izbira tam precej raznolika.
Kaj je licenca GitHub
Licenca je poseben dokument, ki ga izda državni obrazec in vam omogoča opravljanje določene vrste podjetniške dejavnosti, ki zagotovo zahteva posebno pozornost države. Najpogosteje pa se v praksi uporabljajo le skrajšane licenčne pogodbe ali pogodbe, ki predvidevajo izdajo licenc zasebnega prava. Na splošno velja, da licenca zasleduje le en, a najpomembnejši cilj, to je dogovor o obveznostih in pravicah med dajalcem in pridobiteljem licence. Te dolžnosti in pravice so lahko popolnoma vse, vendar le v okviru zakona. Pomemben primer je, da lahko dajalec licence zahteva, da se zahteva ime imetnika avtorskih pravic, ko pridobitelj licence uporablja delo. Ali na primer dovolite kopiranje, vendar absolutno prepove vsako njegovo spreminjanje. Oziroma, da bi izpostavili takšne zahteve, da se delo izda pod popolnoma enakimi pogoji, kot je izvirno, in tako naprej, obstaja kar nekaj primerov postavljanja različnih pogojev.
Vendar pa tudi ne smemo pozabiti, da licenca ščiti pravice ne le dajalca licence, ampak tudi pridobitelja licence. Ker v njem lahko jasno vidite in preberete vse pogoje za uporabo dela, in se mu zato ni treba bati, da bo dajalec licence nenadoma zahteval kakršne koli odbitke ali kakršno koli drugo nadomestilo za uporabo njegovega dela.
Če zavrnete uporabo licence, ki je povezana z delom, še vedno veljajo avtorske pravice v skladu s pravnimi pravili, ki veljajo v posamezni državi. Preprosto povedano, odsotnost licence nikakor ne pomeni, da lahko drugi avtorji uporabljajo ta projekt na kakršen koli način. Vse je ravno nasprotno, saj se brez posebne licence programer v nobenem primeru ne odpoveduje pravicam, ki mu jih daje zakon. Pomembno si je tudi zapomniti, da licenca ureja vse pravice in obveznosti. To je namenjeno zaščiti lastnika dela pred pričakovanji uporabnikov in pred tem, kar pomeni morebitna garancija. Navsezadnje si nihče ne želi, da bi njegova koda kakorkoli končala na sodišču.
Kaj je avtorska pravica
Avtorska pravica se pojavi pri osebi šele, ko kot rezultat intelektualne dejavnosti ustvari določeno delo, ki bo edinstveno, a hkrati uporabno, na primer lahko vzamete pisanje istega programa. Ko je vse zgoraj navedeno opravljeno, oseba postane avtor in zdaj ima absolutno vse avtorske pravice za to delo. Povedati je treba tudi, da so avtorske pravice premoženjske in nepremoženjske. Njihova razlika je v tem, da se lastninske pravice lahko prenesejo na kogarkoli, nepremoženjske pravice pa bodo vedno ostale samo pri avtorju v kateri koli situaciji. Navsezadnje je biti avtor neprenosljiva in neodtujljiva pravica.
Čemu je odprtokodna licenca?
To je tudi precej priljubljeno vprašanje med začetniki razvijalci in programerji, saj preprosto ne razumejo, zakaj je treba njihovim projektom priložiti licenco, saj lahko brez nje projekt tudi tiho obstaja. Vendar to ni povsem res, kajti če je na primer nek razvijalec začetnik napisal nekaj dokaj pomembnega in uporabnega dela kode, vendar ga ni zaščitil z licenco, potem imajo drugi uporabniki vprašanja. In ravno zaradi tega, ko stranke pridejo k njemu in želijo to kodo uporabiti v svoje komercialne namene, vidijo, da koda nima nobene licence in jo preprosto zavrnejo. To je posledica dejstva, da podjetja preprosto ne bodo uporabljala kode brez licence, ker ne potrebujejo težav z zakonom in odvetniki.
In zato tudi najbolj uporaben in priročen projekt ne bo nikoli izveden. In razvijalec, ki je želel vzeti ta del kode, bo moral poiskati in uporabiti alternativo ali popolnoma prepisati kodo, ki jo je že napisal začetnik razvijalec. Zato je najbolje, da se vnaprej prepričate, ali programer uporablja pravilno, predvsem pa ustrezno licenco. Raziskovanje GitHub v eni video vadnici v 15 minutah: https://youtu.be/JfpCicDUMKc
Katera licenca GitHub je primerna v določenih pogojih – kako izbrati?
Na to vprašanje ni mogoče dati natančnega odgovora, saj je izbira licence odvisna le od ciljev projekta ter od osebnih preferenc in želja razvijalca samega. Kot lahko vidite, je na GitHubu veliko različnih licenc, in kar je najpomembneje, vse so brezplačne in v javni lasti, kar pomeni, da lahko vsak programer najde
odprtokodno licenco, ki bo zagotovo ustrezala njegovemu projektu. Najpomembneje pa je, da ne smemo pozabiti, da odprtokodna licenca ni samo koda brez licence.Z malo raziskave lahko zberete vse odprtokodne licence in jih razdelite v tri velike glavne skupine:
- Močno zaščitno.
- Slabo zaščitno.
- Permisivno.
močno zaščitno
Licence z močno zaščito so najpogosteje različice GPL. Te licence zahtevajo licenciranje projekta kot tudi razkritje izvornih kod, ne glede na to, kako bo katera koli koda ali projekt uporabljen ali je že bil uporabljen.
Slabo zaščitno
Licence s šibko zaščito so najpogosteje različice nižje GPL. Pri čemer je glavna razlika od permisivnih licenc ta, da je tukaj preprosto potrebno tudi licencirati program pod licenco GPL, kot tudi obvezno zagotoviti izvorne kode. Hkrati, če obstaja knjižnica v projektu programerja, to je statično povezovanje ali dinamično povezovanje pod licenco LGPL, potem bo združljiva tudi s katero koli licenco projekta tega programerja.
permisiven
Permisivnih licenc je precej veliko, v njihovih vrstah so najbolj priljubljene licence MIT, Apache 2.0 in BSD. Z majhnimi spremembami lahko te licence dovolijo uporabo kode v odprtokodnih projektih ter v komercialne namene in projekte. Toda v tem primeru je pomembno vedeti, da je treba navesti avtorstvo izvirnega programa.
Druge priljubljene licence GitHub
Poleg teh treh skupin licenc obstajajo še druge, na primer še ena najbolj uporabnih licenc je GPLv2 z razširitvami classpath. To licenco je mogoče uporabiti tako za odprtokodne projekte kot za komercialne projekte in namene. Njegov najbolj priljubljen nastop je pri Oraclu, ki uporablja GPLv2 z razširitvami classpath za licenciranje svojih odprtokodnih projektov in rešitev. Ta licenca je precej pomembna in uporabna, saj običajne licence GPL na primer nikoli ne bodo mogle obravnavati bajtne kode. To pomeni, da imajo poseben opis postopka prevajanja in povezovanja, ki je popolnoma neprimeren za druge interpretirane programske jezike, med takimi jeziki je najbolj priljubljen jezik Java. Za takšne primere je bila izdana posebna licenca GPLv2 z razširitvami classpath. Navsezadnje zelo jasno in jasno piše, da se knjižnica, ki je bila izdana pod to licenco, lahko uporablja za komercialne projekte in namene s popolnoma katero koli drugo licenco.
Kaj še morate vedeti o
licencah GitHub .
Dodajanje licence
Ko je končna licenca končno izbrana, ostane le še, da jo dodate v sam koren projekta. Za izvedbo tega dejanja morate preprosto dodati izbrano licenco pod koren projekta med ustvarjanjem samega projekta ali kadar koli drugje. A tudi v tej akciji je spletna storitev GitHub poskrbela za svoje uporabnike in naredila dokaj priročen način za dodajanje končne licence že na začetku samega projekta.
Vendar na žalost to še ni vse, saj mora razvijalec ali programer preveriti absolutno vse odvisnosti, ki so bile uporabljene v njegovi ideji ali projektu. Se pravi, če je celo ena od odvisnosti, ki je izdana pod licenco GPL, mora biti absolutno celoten projekt razvijalca združljiv z GPL. Za tako preverjanje se navadno uporabljajo vnaprej izdelani programi ali orodja. Na primer, obstaja orodje za to https://github.com/pivotal/LicenseFinder:
Lahko rečemo, da je licenciranje precej zamudno opravilo, a hkrati nujno dejanje za življenje projekta ali kakršne koli zamisli programerja. Da bi izbrali pravo licenco, morate na žalost porabiti precej časa, vendar je vredno, da bo projekt uspešen. Najbolje je, da izbiro licence postavite na prvo mesto pri pisanju katerega koli programa, saj lahko s tem na samem začetku popolnoma vse svoje napore usmerite v pravo smer in napišete program, ki bo uspešen in primeren za večino uporabniki.