Як абраць GitHub ліцэнзію і чаму важна не памыліцца з выбарам? GitHub – гэта самы вялікі сэрвіс для сумеснай распрацоўкі IT – праектаў і іх наступнага хостынгу. З дапамогай гэтага вэб-сэрвісу над праектам можа працаваць адразу неабмежаваная колькасць чалавек, а таксама з абсалютна любой кропкі свету. Таксама ў GitHub ёсць сістэма кіравання ці ж кантролю, якая дазваляе праглядаць і кантраляваць абсалютна ўсе змены распрацоўнікаў на працягу якога-небудзь часу, а таксама ён дазваляе вяртацца да стану, які адбываецца да змен.
Але калі казаць па простым, то GitHub – гэта так званая сацыяльная сетка для праграмістаў і распрацоўшчыкаў, у якой можна знайсці, а ў далейшым патрэніравацца на кодах ад іншых распрацоўшчыкаў. Таксама ў GitHub можна захоўваць сваё партфоліё. Увогуле GitHub – гэта сэрвіс, які добра падыдзе як для пачаткоўцаў распрацоўшчыкаў, так і для вопытных праграмістаў. Аднак у карыстальнікаў дадзенага сэрвісу часам могуць узнікаць некаторыя пытанні наконт выбару ліцэнзіі, бо іх выбар там дастаткова разнастайны.
Што такое ліцэнзія на ГітХаб
Ліцэнзія – гэта спецыяльны дакумент, які быў устаноўлены дзяржаўнай формай і які дазваляе займацца пэўным відам прадпрымальніцкай дзейнасці, якая ў абавязковым парадку патрабуе асаблівай увагі ад дзяржаўнага боку. Але, часцей за ўсё, на практыцы выкарыстоўваюцца толькі скарочаныя ліцэнзійныя дамовы ці ж пагадненні, якія прадугледжваюць выдачу прыватнаправавых ліцэнзій. У цэлым ліцэнзія мае ўсяго толькі адну, але самую галоўную мэту, гэта дамова аб абавязках і правах паміж ліцэнзіярам і ліцэнзіятам. Гэтыя абавязкі і правы могуць быць абсалютна любымі, але толькі ў межах заканадаўства. Яскравым прыкладам, з’яўляецца тое, што ліцэнзіярам можа запатрабаваць абавязковае ўказанне імя праваўладальніка пры выкарыстанні працы ліцэнзіятам. Ці, напрыклад, дазволіць капіраванне працы, але забараніць абсалютна любую яе мадыфікацыю. Ці ж вывесці такія патрабаванні, каб праца выпускалася на абсалютна тых жа ўмовах, як і арыгінальная і гэтак далей, прыкладаў вылучэння розных умоў дастаткова вялікая колькасць.
Але таксама нельга забываць, што ліцэнзія абараняе правы не толькі ліцэнзіяра, але і ліцэнзіята. Бо ў ёй выразна можна ўбачыць і прачытаць усе ўмовы выкарыстання працы і таму яму не трэба баяцца тое, што ліцэнзіярам раптам запатрабуе якія-небудзь адлічэнні або любыя іншыя кампенсацыі за выкарыстанне яго працы.
Пры адмове ад выкарыстання ліцэнзіі, якая асацыюецца з працай, усё роўна дзейнічаюць аўтарскія правы ў адпаведнасць з юрыдычнымі правіламі, якія дзейнічаюць у пэўнай краіне. Прасцей кажучы, адсутнасць ліцэнзіі ні ў якім разе не мае на ўвазе тое, што іншыя аўтары могуць выкарыстоўваць гэты праект так, як яны захочуць. Усё, роўным лікам, наадварот, бо без якой-небудзь пэўнай ліцэнзіі праграміст ні ў якім разе не адмаўляецца ад правоў, якія былі дадзены законам. Таксама важна заўсёды памятаць, што ліцэнзія рэгулюе ўсе правы і абавязкі. Гэта трэба для таго, каб абараніць уладальніка працы ад карыстацкіх чаканняў і таго, што мае на ўвазе якая-небудзь гарантыя. Бо ніхто не хоча, каб ягоны код трапіў нейкім чынам у суд.
Што такое аўтарскае права
Аўтарскае права з’яўляецца ў чалавека толькі тады, калі ён у якасці выніку інтэлектуальнай дзейнасці стварае нейкі твор, які будзе ўнікальным, але ў той жа час карысным, за прыклад можна ўзяць напісанне той жа самай праграмы. Калі ўсё пералічанае выканана, чалавек становіцца аўтарам і зараз у яго ёсць абсалютна ўсе аўтарскія правы на дадзеную працу. Таксама трэба сказаць, што аўтарскія правы бываюць маёмаснымі і не маёмаснымі. Іх адрозненне ў тым, што маёмасныя правы можна перадаць каму заўгодна, а вось не маёмасныя правы заўсёды застануцца толькі за аўтарам у любой сітуацыі. Бо быць аўтарам – гэта невымоўнае і неадчужальнае права.
Для чаго патрэбна Open Source ліцэнзія
Гэта таксама досыць папулярнае пытанне ў пачаткоўцаў распрацоўнікаў і праграмістаў, бо ім проста не зразумела, для чаго на іх праекты прымацоўваць якую-небудзь ліцэнзію, бо без яе праект таксама можа спакойна існаваць. Аднак, гэта не зусім так, бо калі, напрыклад, які-небудзь пачатковец распрацоўнік напісаў які-небудзь досыць важны і карысны кавалак кода, але не абараніў яе ліцэнзіяй, то ўзнікаюць пытанні ў іншых карыстачоў. І менавіта з-за гэтага, калі да яго прыходзяць кліенты і жадаюць выкарыстоўваць дадзены кавалак кода ў сваіх камерцыйных мэтах, то яны бачаць тое, што код не мае ніякай ліцэнзіі і проста адмаўляюцца ад яго. Гэта адбываецца з-за таго, што кампаніі проста не будзе выкарыстоўваць код без ліцэнзіі, бо ім не патрэбны праблемы з законам і юрыстамі.
І менавіта таму нават самы карысны і зручны праект ніколі не будзе рэалізаваны. А таму распрацоўніку, які жадаў узяць гэты кавалак кода прыйдзецца шукаць і выкарыстоўваць альтэрнатыву ці ж цалкам перапісваць код, які быў ужо напісаны пачаткоўцам распрацоўнікам раней. Менавіта таму, лепш за ўсё будзе загадзя пераканацца ў тым, што праграміст выкарыстоўвае правільную, а галоўнае прыдатную ліцэнзію. Вывучэнне GitHub у адным відэа ўроку за 15 хвілін: https://youtu.be/JfpCicDUMKc
Якая GitHub ліцэнзія падыдзе ў тых ці іншых умовах – як абраць?
Дакладнага адказу на дадзенае пытанне быць не можа, бо выбар ліцэнзіі залежыць толькі ад мэт праекту і ад асабістых пераваг і жаданняў самога распрацоўніка. Як можна заўважыць, на GitHub дастаткова шмат разнастайных ліцэнзій, а галоўнае яны ўсе бясплатныя і знаходзяцца ў агульным доступе, а гэта азначае, што кожны праграміст можа знайсці тую
Open Source ліцэнзію, якая сапраўды падыдзе да яго праекту. Але, галоўнае нельга забываць, што Open Source ліцэнзія – гэта не проста код з адсутнасцю ліцэнзіі. Правёўшы невялікае даследаванне можна сабраць усе Open Source ліцэнзіі і падзяліць іх на тры вялікія асноўныя групы:
- Моцна якія абараняюць.
- Слаба якія абараняюць.
- Дазваляльныя.
Моцна якія абараняюць
Моцна якія абараняюць ліцэнзіі гэта часцей за ўсё розныя варыяцыі GPL. Гэтыя ліцэнзіі ў абавязковым парадку патрабуюць ліцэнзаванне праекту, а таксама расчыненне зыходных кодаў, нават не гледзячы на тое якім чынам будзе выкарыстоўвацца ці ўжо выкарыстаны які-небудзь код або праект.
Слаба якія абараняюць
Слаба якія абараняюць ліцэнзіі гэта часцей за ўсё розныя варыяцыі Lesser GPL. У якіх асноўнае адрозненне ад дазваляльных ліцэнзій, гэта тое, што тут проста неабходна таксама праводзіць ліцэнзаванне праграмы пад GPL ліцэнзіі, а таксама падаваць у абавязковым парадку зыходныя коды. Пры гэтым, калі ў праекце праграміста прысутнічае бібліятэка, гэта значыць статычнае лінкоўка або дынамічнае лінкоўка пад ліцэнзіяй LGPL, то яна таксама будзе сумяшчальная з любой з ліцэнзіяй праекта дадзенага праграміста.
Дазваляльныя
Дазваляльных ліцэнзій досыць вялікая колькасць, у іх шэрагах самыя папулярныя ліцэнзіі – гэта MIT, Apache 2.0, а таксама BSD. Пры невялікіх варыяцыях, дадзеныя ліцэнзіі маюць магчымасць дазваляць выкарыстоўваць код як у Open Source праектах, так і ў камерцыйных мэтах і праектах. Але, у гэтым выпадку важна памятаць, што трэба абавязкова ўказваць аўтарства арыгінальнай праграмы.
Іншыя папулярныя ліцэнзіі GitHub
Акрамя гэтых трох груп ліцэнзій ёсць таксама і іншыя, напрыклад, яшчэ адна з самых карысных ліцэнзій – гэта GPLv2 with classpath extensions. Дадзеная ліцэнзія таксама можа выкарыстоўвацца як у Open source праектах, так і ў камерцыйных праектах і мэтах. Самае папулярнае яе з’яўленне – гэта ў кампаніі Oracle, дадзеная капання выкарыстоўвае GPLv2 with classpath extensions для ліцэнзавання сваіх Open Source праектаў і рашэнняў. Дадзеная ліцэнзія даволі важная і карысная, бо звычайныя GPL ліцэнзіі, напрыклад, ніколі не змогуць зладзіцца з байт кодам. Гэта значыць, у іх ёсць адмысловае апісанне працэсу кампіляцыі і лінкоўкі, што зусім не падыходзіць для іншых інтэрпрэтаваных моў праграмавання, у ліку такіх моў як раз ткі і ўваходзіць папулярную мову Java. Менавіта для такіх выпадкаў і як раз была выпушчана спецыяльная ліцэнзія GPLv2 with classpath extensions. Бо яна лімітава выразна і ясна кажа аб тым, што бібліятэка, якая была выпушчана пад гэтай ліцэнзіяй можна выкарыстоўвацца ў камерцыйных праектах і мэтах з абсалютна любой іншай ліцэнзіяй.
Што яшчэ трэба ведаць пра
GitHub ліцэнзіі .
Даданне ліцэнзіі
Пасля таго як канчатковая ліцэнзія абрана, яе засталося толькі дадаць у сам корань праекта. Каб прарабіць дадзенае дзеянне, трэба яшчэ падчас стварэння самога праекту ці наогул у любы іншы час проста дадаць абраную ліцэнзію пад корань праекту. Але нават у гэтым дзеянні вэб-сэрвіс GitHub паспеў паклапаціцца пра сваіх карыстальнікаў і яны зрабілі дастаткова зручны спосаб дадання канчатковай ліцэнзіі яшчэ нават пры старце самога праекту.
Аднак, нажаль гэта яшчэ не ўсё, бо распрацоўніку ці праграмісту трэба праверыць абсалютна ўсе залежнасці, якія былі скарыстаны ў яго ідэі ці ж праекце. Гэта значыць, калі ж нават адна з залежнасцяў, якая выпушчана пад GPL ліцэнзіяй, то і абсалютна ўвесь праект распрацоўніка павінен быць GPL сумяшчальны. Для такой праверкі звычайна выкарыстоўваюцца для гэтага прызначаныя ранняе створаныя праграмы ці прылады. Напрыклад, для гэтага ёсць прылада https://github.com/pivotal/LicenseFinder:
Можна сказаць, што ліцэнзаванне – гэта досыць працаёмкая задача, але ў той жа час неабходнае дзеянне для жыцця праекта або які-небудзь ідэі праграміста. Для таго, каб выбраць правільную ліцэнзію, на жаль давядзецца выдаткаваць дастаткова вялікую колькасць часу, аднак, гэта варта таго, каб праект быў паспяховы. Лепш за ўсё выбар ліцэнзіі паставіць на першае месца пры напісанні якой-небудзь праграмы, бо зрабіўшы гэта ў самым пачатку, можна накіраваць абсалютна ўсе свае сілы ў патрэбнае рэчышча і напісаць такую праграму, якая будзе паспяховай і зручнай для большасці карыстальнікаў.