GitHub લાઇસન્સ કેવી રીતે પસંદ કરવું અને શા માટે યોગ્ય પસંદગી કરવી મહત્વપૂર્ણ છે? GitHub એ IT પ્રોજેક્ટ્સ અને તેના અનુગામી હોસ્ટિંગના સંયુક્ત વિકાસ માટે સૌથી મોટી સેવા છે. આ વેબ સેવાની મદદથી, અમર્યાદિત સંખ્યામાં લોકો એક જ સમયે પ્રોજેક્ટ પર કામ કરી શકે છે, તેમજ વિશ્વના કોઈપણ જગ્યાએથી. GitHub પાસે મેનેજમેન્ટ અથવા કંટ્રોલ સિસ્ટમ પણ છે જે તમને સમય જતાં વિકાસકર્તાઓ દ્વારા કરવામાં આવેલા તમામ ફેરફારોને જોવા અને નિયંત્રિત કરવાની મંજૂરી આપે છે, અને તે તમને ફેરફારો પહેલાં જે સ્થિતિમાં આવ્યા હતા તે સ્થિતિમાં પાછા આવવાની પણ મંજૂરી આપે છે.
પરંતુ તેને સરળ રીતે કહીએ તો, GitHub એ પ્રોગ્રામરો અને વિકાસકર્તાઓ માટે કહેવાતું સામાજિક નેટવર્ક છે, જ્યાં તમે અન્ય વિકાસકર્તાઓના કોડ્સ શોધી શકો છો અને પછીથી પ્રેક્ટિસ કરી શકો છો. તમે GitHub પર તમારો પોર્ટફોલિયો પણ સ્ટોર કરી શકો છો. સામાન્ય રીતે, GitHub એ એવી સેવા છે જે શિખાઉ વિકાસકર્તાઓ અને અનુભવી પ્રોગ્રામરો બંને માટે યોગ્ય છે. જો કે, આ સેવાના વપરાશકર્તાઓને કેટલીકવાર લાઇસન્સ પસંદ કરવા વિશે કેટલાક પ્રશ્નો હોઈ શકે છે, કારણ કે તેમની પસંદગી તદ્દન વૈવિધ્યસભર છે.
GitHub લાઇસન્સ શું છે
લાઇસન્સ એ એક વિશિષ્ટ દસ્તાવેજ છે જે રાજ્યના સ્વરૂપ દ્વારા સ્થાપિત કરવામાં આવ્યો હતો અને તમને ચોક્કસ પ્રકારની ઉદ્યોગસાહસિક પ્રવૃત્તિમાં જોડાવા દે છે, જેમાં નિષ્ફળ વિના રાજ્ય તરફથી વિશેષ ધ્યાનની જરૂર હોય છે. પરંતુ, મોટાભાગે, વ્યવહારમાં, ફક્ત સંક્ષિપ્ત લાયસન્સ કરારો અથવા કરારો કે જે ખાનગી કાયદાના લાઇસન્સ જારી કરવા માટે પ્રદાન કરે છે તેનો ઉપયોગ કરવામાં આવે છે. સામાન્ય રીતે, લાઇસન્સ ફક્ત એક જ અનુસરે છે, પરંતુ સૌથી મહત્વપૂર્ણ ધ્યેય, આ લાયસન્સર અને લાઇસન્સધારક વચ્ચેની જવાબદારીઓ અને અધિકારો પરનો કરાર છે. આ ફરજો અને અધિકારો સંપૂર્ણપણે કંઈપણ હોઈ શકે છે, પરંતુ માત્ર કાયદાના માળખામાં. એક નોંધપાત્ર ઉદાહરણ એ છે કે લાયસન્સધારક દ્વારા કામનો ઉપયોગ કરતી વખતે લાયસન્સર માટે કોપીરાઈટ ધારકનું નામ જરૂરી હોઈ શકે છે. અથવા, ઉદાહરણ તરીકે, નકલ કરવાના કામને મંજૂરી આપો, પરંતુ તેમાં કોઈપણ ફેરફાર કરવા પર સંપૂર્ણપણે પ્રતિબંધ. અથવા, એવી આવશ્યકતાઓ બહાર લાવવા માટે કે કાર્ય મૂળ જેવી જ શરતો પર પ્રકાશિત થાય, અને તેથી વધુ, વિવિધ શરતોને આગળ મૂકવાના ઘણા ઉદાહરણો છે. [કેપ્શન id=”attachment_12368″ align=”aligncenter” width=”780″]
અપાચે લાઇસન્સમાંથી એકનું ઉદાહરણ[/caption]
પરંતુ, એ પણ, આપણે એ ન ભૂલવું જોઈએ કે લાઇસન્સ માત્ર લાઇસન્સર જ નહીં, પણ લાઇસન્સધારકના અધિકારોનું પણ રક્ષણ કરે છે. તેમાં તમે કાર્યનો ઉપયોગ કરવા માટેની બધી શરતો સ્પષ્ટપણે જોઈ અને વાંચી શકો છો, અને તેથી તેને ડરવાની જરૂર નથી કે લાઇસન્સર તેના કામના ઉપયોગ માટે અચાનક કોઈ કપાત અથવા અન્ય કોઈ વળતરની માંગ કરશે.
જો તમે કાર્ય સાથે સંકળાયેલા લાયસન્સનો ઉપયોગ કરવાનો ઇનકાર કરો છો, તો કૉપિરાઇટ્સ હજી પણ ચોક્કસ દેશમાં લાગુ કાયદાકીય નિયમો અનુસાર લાગુ થાય છે. સરળ શબ્દોમાં કહીએ તો, લાયસન્સની ગેરહાજરીનો અર્થ એ નથી કે અન્ય લેખકો તેઓ ઇચ્છે તે રીતે આ પ્રોજેક્ટનો ઉપયોગ કરી શકે છે. બધું બરાબર વિરુદ્ધ છે, કારણ કે કોઈ ચોક્કસ લાઇસન્સ વિના, પ્રોગ્રામર કોઈ પણ સંજોગોમાં કાયદા દ્વારા આપવામાં આવેલા અધિકારોને છોડી દેતો નથી. તે હંમેશા યાદ રાખવું પણ મહત્વપૂર્ણ છે કે લાઇસન્સ તમામ અધિકારો અને જવાબદારીઓને નિયંત્રિત કરે છે. આ કામના માલિકને વપરાશકર્તાની અપેક્ષાઓથી અને કોઈપણ વોરંટી શું સૂચિત કરે છે તેનું રક્ષણ કરવા માટે છે. છેવટે, કોઈ પણ ઇચ્છતું નથી કે તેમનો કોડ કોઈપણ રીતે કોર્ટમાં સમાપ્ત થાય.
કોપીરાઈટ શું છે
કૉપિરાઇટ વ્યક્તિમાં ત્યારે જ દેખાય છે જ્યારે, બૌદ્ધિક પ્રવૃત્તિના પરિણામે, તે ચોક્કસ કાર્ય બનાવે છે જે અનન્ય હશે, પરંતુ તે જ સમયે ઉપયોગી છે, ઉદાહરણ તરીકે, તમે સમાન પ્રોગ્રામનું લેખન લઈ શકો છો. જ્યારે ઉપરોક્ત બધું થઈ જાય છે, ત્યારે વ્યક્તિ લેખક બની જાય છે અને હવે તેની પાસે આ કાર્યના સંપૂર્ણપણે તમામ કોપીરાઈટ છે. એવું પણ કહેવું જોઈએ કે કોપીરાઈટ મિલકત અને બિન-સંપત્તિ છે. તેમનો તફાવત એ છે કે મિલકત અધિકારો કોઈપણને સ્થાનાંતરિત કરી શકાય છે, પરંતુ બિન-સંપત્તિ અધિકારો હંમેશા કોઈપણ પરિસ્થિતિમાં લેખક પાસે જ રહેશે. છેવટે, લેખક બનવું એ બિન-તબદીલીપાત્ર અને અવિભાજ્ય અધિકાર છે.
ઓપન સોર્સ લાઇસન્સ શું છે?
શિખાઉ વિકાસકર્તાઓ અને પ્રોગ્રામરો વચ્ચે પણ આ એકદમ લોકપ્રિય પ્રશ્ન છે, કારણ કે તેઓ ફક્ત સમજી શકતા નથી કે તેમના પ્રોજેક્ટ્સ સાથે લાઇસન્સ શા માટે જોડવું જોઈએ, કારણ કે તેના વિના પ્રોજેક્ટ પણ શાંતિથી અસ્તિત્વમાં હોઈ શકે છે. જો કે, આ સંપૂર્ણ રીતે સાચું નથી, કારણ કે જો, ઉદાહરણ તરીકે, કેટલાક શિખાઉ વિકાસકર્તાએ કોડનો કેટલાક એકદમ મહત્વપૂર્ણ અને ઉપયોગી ભાગ લખ્યો, પરંતુ તેને લાયસન્સ સાથે સુરક્ષિત ન કર્યો, તો પછી અન્ય વપરાશકર્તાઓને પ્રશ્નો છે. અને ચોક્કસપણે આ કારણે, જ્યારે ગ્રાહકો તેમની પાસે આવે છે અને તેમના વ્યવસાયિક હેતુઓ માટે કોડના આ ભાગનો ઉપયોગ કરવા માંગે છે, ત્યારે તેઓ જુએ છે કે કોડ પાસે કોઈ લાઇસન્સ નથી અને ફક્ત તેનો ઇનકાર કરે છે. આ એ હકીકતને કારણે છે કે કંપનીઓ ફક્ત લાઇસન્સ વિના કોડનો ઉપયોગ કરશે નહીં, કારણ કે તેમને કાયદા અને વકીલો સાથે સમસ્યાઓની જરૂર નથી.
અને તેથી જ સૌથી ઉપયોગી અને અનુકૂળ પ્રોજેક્ટ પણ ક્યારેય અમલમાં આવશે નહીં. અને વિકાસકર્તા જે કોડનો આ ભાગ લેવા માંગતો હતો તેણે વૈકલ્પિક શોધ કરવી પડશે અને તેનો ઉપયોગ કરવો પડશે, અથવા શિખાઉ વિકાસકર્તા દ્વારા અગાઉ લખાયેલ કોડને સંપૂર્ણપણે ફરીથી લખવો પડશે. તેથી જ અગાઉથી ખાતરી કરવી શ્રેષ્ઠ છે કે પ્રોગ્રામર સાચો, અને સૌથી અગત્યનું, યોગ્ય લાઇસન્સનો ઉપયોગ કરી રહ્યો છે. 15 મિનિટમાં એક વિડિઓ ટ્યુટોરીયલમાં GitHub નું અન્વેષણ કરો: https://youtu.be/JfpCicDUMKc
ચોક્કસ પરિસ્થિતિઓમાં કયું ગિટહબ લાઇસન્સ યોગ્ય છે – કેવી રીતે પસંદ કરવું?
આ પ્રશ્નનો કોઈ ચોક્કસ જવાબ હોઈ શકતો નથી, કારણ કે લાઇસન્સની પસંદગી ફક્ત પ્રોજેક્ટના લક્ષ્યો અને વિકાસકર્તાની વ્યક્તિગત પસંદગીઓ અને ઇચ્છાઓ પર આધારિત છે. જેમ તમે જોઈ શકો છો, GitHub પર ઘણા બધા વિવિધ લાઇસન્સ છે, અને સૌથી અગત્યનું, તે બધા મફત અને જાહેર ડોમેનમાં છે, જેનો અર્થ છે કે દરેક પ્રોગ્રામર
ઓપન સોર્સ લાઇસન્સ શોધી શકે છે જે ચોક્કસપણે તેના પ્રોજેક્ટમાં ફિટ થશે. પરંતુ, સૌથી અગત્યનું, આપણે એ ન ભૂલવું જોઈએ કે ઓપન સોર્સ લાયસન્સ એ કોઈ લાઇસન્સ વિનાનો કોડ નથી. થોડા સંશોધન સાથે, તમે બધા ઓપન સોર્સ લાઇસન્સ એકત્રિત કરી શકો છો અને તેમને ત્રણ મોટા મુખ્ય જૂથોમાં વિભાજિત કરી શકો છો:
- મજબૂત રક્ષણાત્મક.
- નબળું રક્ષણાત્મક.
- અનુમતિ આપનારું.
મજબૂત રક્ષણાત્મક
મજબૂત રીતે રક્ષણ આપતા લાઇસન્સ મોટાભાગે GPL ની વિવિધતા હોય છે. આ લાઇસન્સ માટે પ્રોજેક્ટના લાયસન્સ તેમજ સ્રોત કોડના જાહેર કરવાની જરૂર પડે છે, પછી ભલેને કોઈપણ કોડ અથવા પ્રોજેક્ટનો ઉપયોગ કેવી રીતે કરવામાં આવશે અથવા તેનો ઉપયોગ કરવામાં આવ્યો છે.
નબળું રક્ષણાત્મક
નબળા રક્ષણાત્મક લાઇસન્સ મોટાભાગે લેસર જીપીએલની વિવિધતા હોય છે. જેમાં અનુમતિશીલ લાયસન્સનો મુખ્ય તફાવત એ છે કે અહીં GPL લાયસન્સ હેઠળ પ્રોગ્રામનું લાયસન્સ આપવું જરૂરી છે, સાથે સાથે નિષ્ફળ થયા વિના સ્રોત કોડ પ્રદાન કરવા પણ જરૂરી છે. તે જ સમયે, જો પ્રોગ્રામરના પ્રોજેક્ટમાં લાઇબ્રેરી હોય, એટલે કે, LGPL લાયસન્સ હેઠળ સ્ટેટિક લિંકિંગ અથવા ડાયનેમિક લિંકિંગ, તો તે આ પ્રોગ્રામરના પ્રોજેક્ટના કોઈપણ લાઇસેંસ સાથે પણ સુસંગત હશે.
પરવાનગી આપનારું
અનુમતિશીલ લાયસન્સ એકદમ મોટી સંખ્યામાં છે, તેમની રેન્કમાં સૌથી વધુ લોકપ્રિય લાઇસન્સ MIT, Apache 2.0 અને BSD છે. સહેજ ભિન્નતા સાથે, આ લાયસન્સ ઓપન સોર્સ પ્રોજેક્ટ્સ અને વ્યાપારી હેતુઓ અને પ્રોજેક્ટ્સ બંનેમાં કોડનો ઉપયોગ કરવાની મંજૂરી આપવાની ક્ષમતા ધરાવે છે. પરંતુ, આ કિસ્સામાં, તે યાદ રાખવું અગત્યનું છે કે મૂળ પ્રોગ્રામની લેખકતા સૂચવવી જરૂરી છે.
અન્ય લોકપ્રિય GitHub લાઇસન્સ
લાયસન્સના આ ત્રણ જૂથો ઉપરાંત, અન્ય પણ છે, ઉદાહરણ તરીકે, અન્ય સૌથી ઉપયોગી લાઇસન્સ વર્ગપાથ એક્સ્ટેન્શન્સ સાથે GPLv2 છે. આ લાયસન્સનો ઉપયોગ ઓપન સોર્સ પ્રોજેક્ટ્સ અને કોમર્શિયલ પ્રોજેક્ટ્સ અને હેતુઓ બંને માટે પણ થઈ શકે છે. તેનો સૌથી વધુ લોકપ્રિય દેખાવ ઓરેકલમાં છે, જે તેના ઓપન સોર્સ પ્રોજેક્ટ્સ અને સોલ્યુશન્સને લાઇસન્સ આપવા માટે ક્લાસપાથ એક્સ્ટેન્શન્સ સાથે GPLv2 નો ઉપયોગ કરે છે. આ લાઇસન્સ ખૂબ જ મહત્વપૂર્ણ અને ઉપયોગી છે, કારણ કે નિયમિત GPL લાયસન્સ, ઉદાહરણ તરીકે, ક્યારેય બાઈટકોડ સાથે વ્યવહાર કરી શકશે નહીં. એટલે કે, તેમની પાસે સંકલન અને લિંકિંગ પ્રક્રિયાનું વિશેષ વર્ણન છે, જે અન્ય અર્થઘટન કરાયેલ પ્રોગ્રામિંગ ભાષાઓ માટે સંપૂર્ણપણે અયોગ્ય છે, આવી ભાષાઓમાં સૌથી વધુ લોકપ્રિય જાવા ભાષા છે. તે આવા કિસ્સાઓ માટે છે કે વર્ગપાથ એક્સ્ટેન્શન્સ સાથેનું વિશિષ્ટ લાઇસન્સ GPLv2 બહાર પાડવામાં આવ્યું હતું. છેવટે, તે ખૂબ જ સ્પષ્ટ અને સ્પષ્ટપણે કહે છે કે આ લાયસન્સ હેઠળ જે લાઇબ્રેરી બહાર પાડવામાં આવી હતી તેનો ઉપયોગ વ્યવસાયિક પ્રોજેક્ટ્સ અને હેતુઓ માટે સંપૂર્ણપણે અન્ય કોઈપણ લાયસન્સ સાથે થઈ શકે છે.
તમારે GitHub લાઇસન્સ વિશે બીજું શું જાણવાની જરૂર છે
.
લાઇસન્સ ઉમેરવાનું
અંતિમ લાઇસન્સ છેલ્લે પસંદ કર્યા પછી, તે ફક્ત તેને પ્રોજેક્ટ રુટમાં ઉમેરવા માટે જ રહે છે. આ ક્રિયા કરવા માટે, તમારે ફક્ત પ્રોજેક્ટના નિર્માણ દરમિયાન અથવા અન્ય કોઈપણ સમયે પ્રોજેક્ટ રૂટ હેઠળ પસંદ કરેલ લાઇસન્સ ઉમેરવાની જરૂર છે. પરંતુ આ ક્રિયામાં પણ, GitHub વેબ સેવા તેના વપરાશકર્તાઓની સંભાળ રાખવામાં સફળ રહી અને તેઓએ પ્રોજેક્ટની શરૂઆતમાં પણ અંતિમ લાઇસન્સ ઉમેરવા માટે એકદમ અનુકૂળ રીત બનાવી.
જો કે, કમનસીબે, આ બધુ જ નથી, કારણ કે વિકાસકર્તા અથવા પ્રોગ્રામરને તેના વિચાર અથવા પ્રોજેક્ટમાં ઉપયોગમાં લેવાતી તમામ નિર્ભરતાને સંપૂર્ણપણે તપાસવાની જરૂર છે. એટલે કે, જો જીપીએલ લાયસન્સ હેઠળ રીલીઝ થયેલ નિર્ભરતાઓમાંથી એક પણ, તો સંપૂર્ણ વિકાસકર્તાનો પ્રોજેક્ટ જીપીએલ સુસંગત હોવો જોઈએ. આવી ચકાસણી માટે, સામાન્ય રીતે આ માટે અગાઉ રચાયેલ પ્રોગ્રામ્સ અથવા ટૂલ્સનો ઉપયોગ કરવામાં આવે છે. ઉદાહરણ તરીકે, આ https://github.com/pivotal/LicenseFinder માટે એક સાધન છે:
આપણે કહી શકીએ કે લાઇસન્સ આપવું એ સમય માંગી લેતું કાર્ય છે, પરંતુ તે જ સમયે પ્રોજેક્ટના જીવન અથવા પ્રોગ્રામરના કોઈપણ વિચાર માટે જરૂરી ક્રિયા. યોગ્ય લાઇસન્સ પસંદ કરવા માટે, કમનસીબે, તમારે ઘણો સમય પસાર કરવો પડશે, જો કે, પ્રોજેક્ટ સફળ થવા માટે તે યોગ્ય છે. કોઈપણ પ્રોગ્રામ લખતી વખતે લાયસન્સની પસંદગીને પ્રથમ સ્થાને રાખવું શ્રેષ્ઠ છે, કારણ કે આ ખૂબ જ શરૂઆતમાં કરવાથી, તમે તમારા બધા પ્રયત્નોને યોગ્ય દિશામાં દિશામાન કરી શકો છો અને એક પ્રોગ્રામ લખી શકો છો જે મોટાભાગના લોકો માટે સફળ અને અનુકૂળ હોય. વપરાશકર્તાઓ