एक 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 पुस्तकालयका आफ्नै सूचनाहरू अरू सबैसँगै अभिलेख गर्नुहोस्।
प्रमाण प्याकेज जम्मा गर्नुहोस्
प्याकेजका चार भाग छन्: संस्करणसहित फाइल सूची, एकीकरणको वर्णन, फरकसहित परिवर्तनको सूची र वितरित रूपमा इजाजतपत्र पाठ। तपाईंले वितरण गर्ने सूचना फाइल र जिम्मेवारीले प्रस्ताव माग्ने भए स्रोत कोड प्रस्ताव गरिने स्थान थप्नुहोस्।
प्याकेजलाई एक मालिकको अधीनमा राख्नुहोस्, ताकि त्यसबिना कुनै प्रकाशन बाहिर ननिस्कियोस्।
यीमध्ये कुनैले पनि कानुनी प्रश्न टुंगो लगाउँदैन, र त्यही मुख्य कुरा हो: यसले योग्य समीक्षकलाई कसैले सम्झनाबाट जोडेको सारांशको सट्टा तथ्य दिन्छ। विक्रेताको मार्केटिङ वर्णन उनीहरूको वास्तुकलाको प्रमाण होइन, र यसबारे तपाईंको आफ्नै अनुमान पनि प्रमाण होइन।