Kako odabrati GitHub licencu i zašto je važno napraviti pravi izbor? GitHub je najveći servis za zajednički razvoj IT projekata i njihovo naknadno hostovanje. Uz pomoć ovog web servisa, neograničen broj ljudi može raditi na projektu odjednom, kao i iz apsolutno bilo kojeg mjesta na svijetu. GitHub takođe ima sistem upravljanja ili kontrole koji vam omogućava da vidite i kontrolišete apsolutno sve promene koje su programeri napravili tokom vremena, a takođe vam omogućava da se vratite u stanje koje je bilo pre promena.
Ali pojednostavljeno rečeno, GitHub je takozvana društvena mreža za programere i programere, gdje možete pronaći i kasnije vježbati na kodovima drugih programera. Također možete pohraniti svoj portfolio na GitHub. Općenito, GitHub je usluga koja je pogodna i za početnike i za iskusne programere. Međutim, korisnici ovog servisa ponekad mogu imati pitanja u vezi sa odabirom licence, jer je njihov izbor tamo prilično raznolik.
Šta je GitHub licenca
Licenca je poseban dokument koji je uspostavljen državnim obrascem i omogućava vam da se bavite određenom vrstom poduzetničke djelatnosti, koja neminovno zahtijeva posebnu pažnju od strane države. Ali, najčešće se u praksi koriste samo skraćeni ugovori o licenci ili ugovori koji predviđaju izdavanje licenci privatnog prava. Generalno, licenca ima samo jedan, ali najvažniji cilj, a to je sporazum o obavezama i pravima između davaoca licence i korisnika licence. Te dužnosti i prava mogu biti apsolutno sve, ali samo u okviru zakona. Značajan primjer je da davalac licence može zahtijevati da se ime nosioca autorskog prava traži kada koristi djelo od strane korisnika licence. Ili, na primjer, dozvolite kopiranje rada, ali zabraniti apsolutno svaku njegovu modifikaciju. Ili, da se iznesu takvi zahtevi da delo bude objavljeno pod potpuno istim uslovima kao i originalno, i tako dalje, ima dosta primera postavljanja raznih uslova.
Ali, takođe, ne smijemo zaboraviti da licenca štiti prava ne samo davaoca licence, već i vlasnika licence. Budući da u njemu možete jasno vidjeti i pročitati sve uslove za korištenje djela, te stoga ne treba da se plaši da će davalac licence odjednom zahtijevati bilo kakve odbitke ili bilo koju drugu naknadu za korištenje njegovog djela.
Ako odbijete da koristite licencu koja je povezana sa djelom, autorska prava i dalje vrijede u skladu sa zakonskim propisima koji su na snazi u određenoj zemlji. Jednostavno rečeno, nedostatak licence ni na koji način ne znači da drugi autori mogu koristiti ovaj projekat na bilo koji način. Sve je upravo suprotno, jer se bez ikakve posebne licence programer ni u kom slučaju ne odriče prava koja su mu data zakonom. Također je važno uvijek imati na umu da licenca reguliše sva prava i obaveze. Ovim se želi zaštititi vlasnik djela od očekivanja korisnika i onoga što svaka garancija podrazumijeva. Uostalom, niko ne želi da njihov kodeks na bilo koji način završi na sudu.
Šta je autorsko pravo
Autorsko pravo se pojavljuje u osobi samo kada, kao rezultat intelektualne aktivnosti, stvori određeno djelo koje će biti jedinstveno, ali istovremeno korisno, na primjer, možete uzeti pisanje istog programa. Kada se sve ovo uradi, osoba postaje autor i sada ima apsolutno sva autorska prava na ovo djelo. Takođe treba reći da su autorska prava svojinska i neimovinska. Njihova razlika je u tome što se imovinska prava mogu prenijeti na bilo koga, ali će neimovinska prava uvijek ostati samo na autoru u svakoj situaciji. Uostalom, biti autor je neprenosivo i neotuđivo pravo.
Čemu služi licenca otvorenog koda?
Ovo je također prilično popularno pitanje među programerima i programerima početnicima, jer oni jednostavno ne razumiju zašto bi licenca trebala biti priložena njihovim projektima, jer bez nje projekt može i mirno postojati. Međutim, to nije sasvim tačno, jer ako je, na primjer, neki početnik programer napisao neki prilično važan i koristan dio koda, ali ga nije zaštitio licencom, onda drugi korisnici imaju pitanja. I upravo zbog toga, kada mu klijenti dođu i žele da iskoriste ovaj dio koda u svoje komercijalne svrhe, vide da kod nema nikakvu licencu i jednostavno ga odbijaju. To je zbog činjenice da kompanije jednostavno neće koristiti kodeks bez licence, jer im ne trebaju problemi sa zakonom i advokatima.
I zato čak ni najkorisniji i najprikladniji projekat nikada neće biti implementiran. A programer koji je želio uzeti ovaj dio koda morat će potražiti i koristiti alternativu, ili potpuno prepisati kod koji je početnik programer već napisao ranije. Zato je najbolje unaprijed se uvjeriti da programer koristi ispravnu, i što je najvažnije, odgovarajuću licencu. Istraživanje GitHuba u jednom video tutorijalu za 15 minuta: https://youtu.be/JfpCicDUMKc
Koja je GitHub licenca prikladna u određenim uvjetima – kako odabrati?
Ne može biti tačnog odgovora na ovo pitanje, jer izbor licence zavisi samo od ciljeva projekta i od ličnih preferencija i želja samog programera. Kao što vidite, na GitHubu postoji mnogo različitih licenci, a što je najvažnije, sve su besplatne i u javnom vlasništvu, što znači da svaki programer može pronaći
Open Source licencu koja će sigurno odgovarati njegovom projektu. Ali, što je najvažnije, ne smijemo zaboraviti da licenca otvorenog koda nije samo kod bez licence. Uz malo istraživanja, možete prikupiti sve licence otvorenog koda i podijeliti ih u tri velike glavne grupe:
- Jako zaštitni.
- Slabo zaštitno.
- Permissive.
snažno zaštitnički
Licence sa jakom zaštitom najčešće su varijacije GPL-a. Ove licence zahtijevaju licenciranje projekta kao i otkrivanje izvornih kodova, bez obzira na to kako će se bilo koji kod ili projekt koristiti ili je već korišten.
Slabo zaštitno
Licence sa slabom zaštitom najčešće su varijacije manjeg GPL-a. U čemu je glavna razlika od dopuštenih licenci ta što je ovdje jednostavno potrebno i licencirati program pod GPL licencom, kao i osigurati izvorne kodove bez greške. Istovremeno, ako postoji biblioteka u projektu programera, odnosno statičko povezivanje ili dinamičko povezivanje pod LGPL licencom, onda će i ona biti kompatibilna sa bilo kojom od licenci projekta ovog programera.
permisivan
Postoji prilično veliki broj dozvoljenih licenci, u njihovim redovima najpopularnije licence su MIT, Apache 2.0 i BSD. Uz male varijacije, ove licence imaju mogućnost da dozvole korištenje koda kako u projektima otvorenog koda, tako iu komercijalne svrhe i projekte. Ali, u ovom slučaju, važno je zapamtiti da je potrebno navesti autorstvo originalnog programa.
Druge popularne GitHub licence
Pored ove tri grupe licenci, postoje i druge, na primjer, još jedna od najkorisnijih licenci je GPLv2 sa ekstenzijama putanje klasa. Ova licenca se također može koristiti i za projekte otvorenog koda i za komercijalne projekte i svrhe. Njegovo najpopularnije pojavljivanje je u Oracleu, koji koristi GPLv2 sa ekstenzijama puteva do klasa za licenciranje svojih projekata i rješenja otvorenog koda. Ova licenca je veoma važna i korisna, pošto obične GPL licence, na primer, nikada neće moći da rade sa bajt kodom. Odnosno, imaju poseban opis procesa kompilacije i povezivanja, koji je potpuno neprikladan za druge interpretirane programske jezike, među tim jezicima najpopularniji je Java jezik. Za takve slučajeve je puštena posebna licenca GPLv2 sa ekstenzijama puteva do klasa. Na kraju krajeva, vrlo jasno i jasno stoji da se biblioteka koja je izdata pod ovom licencom može koristiti za komercijalne projekte i svrhe sa apsolutno bilo kojom drugom licencom.
Šta još trebate znati o
GitHub licencama .
Dodavanje licence
Nakon što je konačna licenca konačno odabrana, ostaje samo da je dodate u sam root projekta. Da biste izvršili ovu radnju, potrebno je jednostavno dodati odabranu licencu pod korijen projekta tokom kreiranja samog projekta ili u bilo koje drugo vrijeme. Ali i u ovoj akciji, GitHub web servis je uspio da se pobrine za svoje korisnike i napravili su prilično zgodan način dodavanja konačne licence čak i na samom početku projekta.
Međutim, nažalost, to nije sve, jer programer ili programer mora provjeriti apsolutno sve ovisnosti koje su korištene u njegovoj ideji ili projektu. Odnosno, ako čak i jedna od zavisnosti koja je objavljena pod GPL licencom, onda apsolutno ceo projekat programera mora biti GPL kompatibilan. Za takvu verifikaciju obično se koriste prethodno dizajnirani programi ili alati. Na primjer, postoji alat za ovo https://github.com/pivotal/LicenseFinder:
Možemo reći da je licenciranje prilično dugotrajan zadatak, ali u isto vrijeme neophodna radnja za život projekta ili bilo koje ideje programera. Da biste odabrali pravu licencu, nažalost, morate potrošiti dosta vremena, međutim, isplati se da projekat bude uspješan. Najbolje je pri pisanju bilo kojeg programa izbor licence staviti na prvo mjesto, jer tako na samom početku možete apsolutno sve svoje napore usmjeriti u pravom smjeru i napisati program koji će biti uspješan i pogodan za većinu korisnika.