ఒక VPN ఇంటర్ఫేస్, ఒక GPL ఇంజిన్ మరియు ఒక ఇన్స్టాలర్: ఏమి పంపిణీ చేయబడుతుంది?
GPL మరియు OpenSSL నిబంధనలు మీ VPN ఇంటర్ఫేస్ బండిల్కు ఎలా వర్తిస్తాయో నిర్ణయించే ముందు ఏమి పంపిణీ చేయబడుతుంది, ఏమి మార్చబడింది మరియు భాగాలు ఎలా సంభాషిస్తాయో మ్యాప్ చేయండి.
ప్రశ్న లైసెన్సింగ్ విషయంగా వస్తుంది, కానీ సమాధానం జాబితాతో ప్రారంభమవుతుంది. 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 లైబ్రరీ యొక్క స్వంత నోటీసులను మిగతా అన్నింటితో పాటు నమోదు చేయండి.
సాక్ష్య ప్యాకేజీని సమకూర్చండి
ప్యాకేజీకి నాలుగు భాగాలు ఉన్నాయి: వెర్షన్లతో ఫైల్ జాబితా, ఇంటిగ్రేషన్ వివరణ, భేదాలతో మార్పుల జాబితా మరియు పంపిణీ చేయబడిన రూపంలో లైసెన్స్ వచనాలు. మీరు పంపిణీ చేసే నోటీసు ఫైల్ మరియు బాధ్యతలకు ఆఫర్ అవసరమైతే మూల కోడ్ అందించబడే స్థలాన్ని జోడించండి.
ప్యాకేజీని ఒక యజమాని కింద ఉంచండి, అది లేకుండా ఏ విడుదలా బయటకు రాకుండా.
వీటిలో ఏదీ చట్టపరమైన ప్రశ్నను నిర్ణయించదు, అదే ముఖ్యం: ఎవరో జ్ఞాపకం నుండి కూర్చిన సారాంశానికి బదులు అర్హత ఉన్న సమీక్షకుడికి వాస్తవాలను ఇస్తుంది. విక్రేత మార్కెటింగ్ వివరణ వారి నిర్మాణానికి సాక్ష్యం కాదు, దాని గురించి మీ స్వంత ఊహ కూడా సాక్ష్యం కాదు.