પ્રશ્ન લાઇસન્સિંગનો આવે છે, પણ જવાબની શરૂઆત યાદી સાથે થાય છે. VPN ઇન્ટરફેસ, તે ચલાવતું OpenVPN એન્જિન, TLS લાઇબ્રેરી અને ઇન્સ્ટોલર—આ ચારની ચાર અલગ શરતસમૂહ હોઈ શકે, અને ઉત્પાદનનો દેખાવ તમને કંઈ જ કહેતો નથી કે કઈ ફાઇલ કયા સમૂહની છે. આર્ટિફેક્ટ્સને વિતરણના ક્રમમાં જુઓ, અને જ્યારે તમે તેને જવાબ આપવા લાયક વ્યક્તિને સોંપશો ત્યાં સુધી કાનૂની પ્રશ્ન ઘણો સાંકડો થઈ જશે. દરેક પગલું તેને વધુ સાંકડો કરે છે: શું વિતરિત થાય છે, શું બદલાયું છે અને ભાગો કેવી રીતે સંવાદ કરે છે.

ઇન્સ્ટોલર ડિસ્ક પર શું મૂકે છે તેનાથી શરૂ કરો

પ્રકાશિત ઇન્સ્ટોલર અથવા પેકેજ લો, ડેવલપમેન્ટ કોપી નહીં, અને સ્વચ્છ મશીન પર તે જે દરેક ફાઇલ મૂકે છે તેની યાદી બનાવો. ઇન્ટરફેસ, એન્જિન અને TLS લાઇબ્રેરીની આવૃત્તિઓ નોંધો, અને એ નોંધો કે એન્જિન અલગ એક્ઝિક્યુટેબલ છે કે તે જ પ્રક્રિયામાં લોડ થતી લાઇબ્રેરી.

આ છેલ્લી હકીકત આગળનું બધું ઘડે છે. સોકેટ દ્વારા શરૂ થતું અલગ એક્ઝિક્યુટેબલ એક જ બાઇનરીમાં કમ્પાઇલ થયેલા કોડ કરતાં અલગ પ્રશ્નો ઉભા કરે છે, અને ફક્ત બંનેને સાથે મૂકતું ઇન્સ્ટોલર કોઈપણ દિશામાં વિષય નક્કી કરતું નથી. બંડલિંગ એ પેકેજિંગનો નિર્ણય છે, જ્યારે પ્રોગ્રામ્સ વચ્ચેનો સંબંધ સ્થાપત્યનો નિર્ણય છે.

યાદી આવૃત્તિઓ સાથે લખો, કારણ કે મુખ્ય પ્રકાશનો વચ્ચે શરતો અલગ પડે છે.

dpkg -L openvpn | head -n 40
openssl version -a

ઇન્ટરફેસને એન્જિનથી અલગ કરો

OpenVPN નકલ ફાઇલ GPL આવૃત્તિ 2 જણાવે છે અને OpenSSL માટે લિંકિંગ અપવાદનું દસ્તાવેજીકરણ કરે છે, જે નિર્ધારિત વ્યાપવાળી ચોક્કસ પરવાનગી છે, શરતો મિશ્ર કરવાનું સામાન્ય લાઇસન્સ નહીં.

તમારા બિલ્ડ સાથે વિતરિત થતો લાઇસન્સ ટેક્સ્ટ કેપ્ચર કરો, આજે પ્રોજેક્ટ વેબસાઇટ પરનો નહીં. જૂની શાખા પિન કરનારું પ્રકાશન તે શાખાનું દસ્તાવેજ ધરાવે છે. રિપોઝિટરી પૃષ્ઠના સ્ક્રીનશોટ વિકલ્પ નથી, કારણ કે તમને જોઈતી ફાઇલ આર્ટિફેક્ટની અંદરની છે. પેકેજ પૂર્ણ રહે તે માટે તેને ઇન્સ્ટોલરની બાજુમાં રાખો.

પછી એકીકરણનું પ્રામાણિક વર્ણન કરો: ઇન્ટરફેસ એન્જિનને ચાઇલ્ડ પ્રોસેસ તરીકે શરૂ કરે છે અને ટેક્સ્ટ પ્રોટોકોલ બોલે છે, કે લાઇબ્રેરી લિંક કરે છે અને આંતરિક રચનાઓની આપલે કરે છે? બીજી ગોઠવણી એવી રીતે નજીક છે કે પહેલી નથી, અને સમીક્ષક પહેલા એ જ તફાવત પૂછશે.

તમે કઈ ફાઇલો બદલી છે તે નોંધો

બદલાયેલો સ્રોત કોડ કોઈપણ પેકેજિંગ વિગત કરતાં વધુ વિશ્લેષણ બદલે છે. જો તમે એન્જિનને પેચ કર્યું હોય, તો પેચ પોતે વ્યુત્પન્ન કાર્ય છે, અને જવાબદારી પરિણામ વિતરિત કરનાર પર આવે છે.

દરેક પેચ, તેનો હેતુ અને તે ઉપરના પ્રવાહમાં મોકલાયો કે નહીં તે નોંધો, કારણ કે તમારી રિપોઝિટરી ક્યારેય ન છોડનારો પેચ પણ તમે બાઇનરી વિતરિત કરો તો વિતરણનો ભાગ રહે છે.

રૂપરેખાંકન ફાઇલો, થીમ્સ અને અનુવાદો સામાન્ય રીતે ઇન્ટરફેસ સાથે રહે છે, પણ એન્જિનના સ્રોત સ્ટ્રિંગ્સ ઉમેરતો અનુવાદ એ યાદ અપાવે છે કે સીમા ડિરેક્ટરી પ્રમાણે નહીં, ફાઇલ પ્રમાણે છે. ઉપરના પ્રવાહના પ્રકાશન અને તમારા બિલ્ડ વચ્ચેનો તફાવત રાખો, જેથી જવાબ પછી ફરી બનાવવાને બદલે માંગ પર ઉપલબ્ધ હોય. એ જ તફાવત સૌથી ઉપયોગી આર્ટિફેક્ટ છે જ્યારે ઓડિટર પૂછે કે શું બદલાયું.

OpenSSL આવૃત્તિ અલગથી તપાસો

OpenSSL 3.0 અને પછીના સંસ્કરણો Apache License 2.0 હેઠળ વિતરિત થાય છે, જ્યારે જૂનાં પ્રકાશનો OpenSSL/SSLeay શરતો ધરાવે છે. આ અલગ જવાબદારીઓવાળા અલગ દસ્તાવેજો છે, અને બંડલ કરેલું એન્જિન તમારી બિલ્ડ સિસ્ટમને જે મળ્યું તે કોઈપણ એકને લિંક કરી શકે છે.

બિલ્ડ સ્ક્રિપ્ટમાં નામ આપેલી આવૃત્તિ નહીં, ખરેખર વિતરિત થતી આવૃત્તિની પુષ્ટિ કરો.

OpenVPN પરની નિર્ભરતા OpenSSLના દરેક ફેરફારને GPL કોડમાં ફેરવતી નથી, અને લિંકિંગ અપવાદ લાઇબ્રેરીના પુનઃવિતરણ સાથે આવતી બીજી જવાબદારીઓ દૂર કરતો નથી. અપવાદને મોટા વિશ્લેષણની એક કલમ ગણો, અને TLS લાઇબ્રેરીની પોતાની સૂચનાઓ બાકીની બધી સાથે નોંધો.

પુરાવા પેકેજ ભેગું કરો

પેકેજના ચાર ભાગ છે: આવૃત્તિઓ સાથે ફાઇલ યાદી, એકીકરણનું વર્ણન, તફાવતો સાથે ફેરફારોની યાદી અને વિતરિત થયા મુજબના લાઇસન્સ ટેક્સ્ટ. તમે વિતરિત કરતી સૂચના ફાઇલ અને સ્રોત કોડ જ્યાં ઓફર કરવામાં આવે છે તે સ્થાન ઉમેરો, જો તમારી જવાબદારીઓ ઓફરની માંગ કરે.

પેકેજને એક માલિક હેઠળ રાખો જેથી તેના વિના કોઈ પ્રકાશન બહાર ન નીકળે.

આમાંથી કંઈ પણ કાનૂની પ્રશ્ન નક્કી કરતું નથી, અને એ જ મુદ્દો છે: તે લાયક સમીક્ષકને કોઈએ યાદશક્તિથી જોડેલા સારાંશને બદલે તથ્યો આપે છે. વિક્રેતાનું માર્કેટિંગ વર્ણન તેમના સ્થાપત્યનો પુરાવો નથી, અને તેના વિશેની તમારી પોતાની ધારણા પણ પુરાવો નથી.

સંબંધિત લેખો