ചോദ്യം ലൈസൻസിംഗിന്റേതായി വരുന്നു, പക്ഷേ ഉത്തരം ഒരു പട്ടികയോടെ ആരംഭിക്കുന്നു. ഒരു 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 ലൈബ്രറിയുടെ സ്വന്തം അറിയിപ്പുകൾ മറ്റെല്ലാത്തിനൊപ്പം രേഖപ്പെടുത്തുക.

തെളിവ് പാക്കേജ് ഒരുക്കുക

പാക്കേജിന് നാല് ഭാഗങ്ങളുണ്ട്: പതിപ്പുകളോടെയുള്ള ഫയൽ പട്ടിക, സംയോജനത്തിന്റെ വിവരണം, വ്യത്യാസങ്ങളോടെയുള്ള മാറ്റങ്ങളുടെ പട്ടിക, വിതരണം ചെയ്യുന്ന രൂപത്തിലുള്ള ലൈസൻസ് പാഠങ്ങൾ. നിങ്ങൾ വിതരണം ചെയ്യുന്ന അറിയിപ്പ് ഫയലും സോഴ്സ് കോഡ് വാഗ്ദാനം ചെയ്യുന്ന സ്ഥലവും ചേർക്കുക, നിങ്ങളുടെ ബാധ്യതകൾക്ക് വാഗ്ദാനം ആവശ്യമെങ്കിൽ.

പാക്കേജ് ഒരു ഉടമയുടെ കീഴിൽ സൂക്ഷിക്കുക, അതില്ലാതെ ഒരു റിലീസും പുറത്തുവരാതിരിക്കാൻ.

ഇവയൊന്നും ഒരു നിയമപരമായ ചോദ്യം തീരുമാനിക്കുന്നില്ല, അതാണ് കാര്യം: ആരോ ഓർമ്മയിൽ നിന്ന് കൂട്ടിയുണ്ടാക്കിയ സംഗ്രഹത്തിന് പകരം യോഗ്യതയുള്ള അവലോകകന് വസ്തുതകൾ നൽകുന്നു. ഒരു വിൽപ്പനക്കാരന്റെ മാർക്കറ്റിംഗ് വിവരണം അവരുടെ വാസ്തുവിദ്യയുടെ തെളിവല്ല, അതിനെക്കുറിച്ചുള്ള നിങ്ങളുടെ സ്വന്തം ഊഹവും തെളിവല്ല.

അനുബന്ധ ലേഖനങ്ങൾ