VPN-interfaco, GPL-motoro kaj instalilo: kio estas liverata?
Mapu kio estas disdonata, kio estis ŝanĝita kaj kiel la partoj interparolas antaŭ ol decidi kiel la kondiĉoj de GPL kaj OpenSSL aplikiĝas al via VPN-interfaca pakaĵo.
La demando venas kiel licenca, sed la respondo komenciĝas per inventaro. VPN-interfaco, la OpenVPN-motoro kiun ĝi stiras, TLS-biblioteko kaj instalilo povas havi kvar malsamajn arojn da kondiĉoj, kaj la aspekto de la produkto diras al vi nenion pri tio, kiu dosiero apartenas al kiu aro. Trairu la artefaktojn laŭ la ordo en kiu ili estas liverataj, kaj la jura demando fariĝos multe pli mallarĝa ĝis vi transdonos ĝin al iu kvalifikita respondi ĝin. Ĉiu paŝo pli mallarĝigas ĝin: kio estas disdonata, kio estis ŝanĝita kaj kiel la partoj komunikas.
Komencu per tio, kion la instalilo metas sur la diskon
Prenu la eldonitan instalilon aŭ pakaĵon, ne evoluigan kopion, kaj listigu ĉiun dosieron, kiun ĝi metas sur puran maŝinon. Notu versiojn por la interfaco, la motoro kaj la TLS-biblioteko, kaj notu ĉu la motoro estas aparta plenumebla dosiero aŭ biblioteko ŝargita en la saman procezon.
Tiu lasta fakto formigas ĉion sekvan. Aparta plenumebla dosiero lanĉita tra ingo starigas alian aron da demandoj ol kodo kompilita en unu binaran dosieron, kaj instalilo, kiu nur metas ambaŭ unu apud la alian, ne decidas la aferon en iu ajn direkto. Faskigo estas decido pri pakaĵo, dum la rilato inter la programoj estas arkitektura.
Skribu la liston kun versioj alkroĉitaj, ĉar la kondiĉoj diferencas inter ĉefaj eldonoj.
dpkg -L openvpn | head -n 40
openssl version -aApartigu la interfacon de la motoro
La kopiiga dosiero de OpenVPN deklaras GPL-version 2 kaj dokumentas ligo-escepton por OpenSSL, kio estas specifa permeso kun difinita amplekso, ne ĝenerala licenco miksi kondiĉojn.
Kaptu la licencan tekston, kiu estas liverata kun via konstruo, ne tiun sur la projekta retejo hodiaŭ. Eldono, kiu fiksis pli malnovan branĉon, portas la dokumenton de tiu branĉo. Ekrankopioj de deponeja paĝo ne anstataŭas ĝin, ĉar la dosiero, kiun vi bezonas, estas tiu ene de la artefakto. Konservu ĝin apud la instalilo por ke la pakaĵo estu kompleta.
Poste priskribu la integriĝon honeste: ĉu la interfaco lanĉas la motoron kiel infanprocezon kaj parolas tekstan protokolon, aŭ ĉu ĝi ligas bibliotekon kaj interŝanĝas internajn strukturojn? La dua aranĝo estas intima tiel, kiel la unua ne estas, kaj tiu distingo estas tio, pri kio recenzisto unue demandos.
Notu, kiujn dosierojn vi ŝanĝis
Ŝanĝita fontkodo ŝanĝas la analizon pli ol iu ajn paka detaleto. Se vi flikis la motoron, la flikaĵo mem estas derivita verko, kaj la devo apartenas al tiu, kiu disdonas la rezulton.
Registru ĉiun flikaĵon, ĝian celon kaj ĉu ĝi estis sendita al la fonto, ĉar flikaĵo, kiu neniam forlasis vian deponejon, restas parto de tio, kion vi liveras, se vi liveras la binaran dosieron.
Agordaj dosieroj, etosoj kaj tradukoj kutime loĝas kun la interfaco, sed traduko, kiu enigas fontĉenojn de la motoro, estas malgranda memorigo, ke la limo estas laŭ dosiero, ne laŭ dosierujo. Konservu diferencon inter la fonta eldono kaj via konstruo por ke la respondo estu disponebla laŭpete anstataŭ rekonstruiĝi poste. Tiu diferenco ankaŭ estas la plej utila artefakto, kiam revizoro demandas, kio ŝanĝiĝis.
Kontrolu la version de OpenSSL aparte
OpenSSL 3.0 kaj pli novaj estas disdonataj sub Apache License 2.0, dum pli malnovaj eldonoj portas la kondiĉojn de OpenSSL/SSLeay. Tiuj estas malsamaj dokumentoj kun malsamaj devoj, kaj faskigita motoro povas ligi kiun ajn el ili, kiun trovis via konstrua sistemo.
Konfirmu la version efektive liveratan, ne tiun nomitan en konstrua skripto.
Dependeco de OpenVPN ne igas ĉiun modifon de OpenSSL GPL-kodo, kaj la ligo-escepto ne forigas la aliajn devojn, kiuj venas kun redistribuado de la biblioteko. Traktu la escepton kiel unu klaŭzon en pli granda analizo, kaj registru la proprajn avizojn de la TLS-biblioteko kune kun ĉio alia.
Kunmetu la pruvan pakaĵon
La pakaĵo havas kvar partojn: la dosierinventaron kun versioj, la priskribon de la integriĝo, la liston de modifoj kun diferencoj kaj la licencajn tekstojn tiel liveritajn. Aldonu la avizan dosieron, kiun vi disdonas, kaj la lokon, kie fontkodo estas ofertata, se viaj devoj postulas oferton.
Tenu la pakaĵon sub unu posedanto, por ke neniu eldono povu eliri sen ĝi.
Nenio el tio decidas juran demandon, kaj tio estas la punkto: ĝi donas al kvalifikita revizoro la faktojn anstataŭ resumon, kiun iu kunmetis el memoro. La merkatika priskribo de vendanto ne estas pruvo pri ĝia arkitekturo, kaj via propra konjekto pri ĝi ankaŭ ne estas pruvo.