Savol litsenziya masalasi sifatida keladi, ammo javob inventarizatsiyadan boshlanadi. VPN interfeysi, uni boshqaradigan OpenVPN dvigateli, TLS kutubxonasi va o'rnatuvchi to'rt xil shartlar to'plamiga ega bo'lishi mumkin, va mahsulot ko'rinishi qaysi fayl qaysi to'plamga tegishli ekanini aytmaydi. Artefaktlarni tarqatilish tartibida ko'rib chiqing, va javob berishga vakolatli kishiga topshirganingizda huquqiy savol ancha torayadi. Har bir qadam uni yanada toraytiradi: nima tarqatiladi, nima o'zgartirildi va qismlar qanday muloqot qiladi.

O'rnatuvchi diskka nima qo'yishidan boshlang

Chiqarilgan o'rnatuvchi yoki paketni oling, ishlab chiqish nusxasini emas, va toza mashinaga qo'yadigan har bir faylni sanab chiqing. Interfeys, dvigatel va TLS kutubxonasi versiyalarini yozib oling, dvigatel alohida bajariladigan fayl yoki shu jarayonga yuklanadigan kutubxona ekanini belgilang.

Bu oxirgi fakt keyingi barcha narsani shakllantiradi. Soket orqali ishga tushiriladigan alohida bajariladigan fayl bitta ikkilik faylga kompilyatsiya qilingan koddan boshqa savollar tug'diradi, va ikkalasini faqat yonma-yon qo'yadigan o'rnatuvchi masalani hech bir tomonga hal qilmaydi. Birlashtirish paketlash qarori, dasturlar orasidagi munosabat esa arxitektura qarori.

Ro'yxatni versiyalar bilan yozing, chunki shartlar asosiy nashrlar orasida farq qiladi.

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

Interfeysni dvigateldan ajrating

OpenVPN nusxa fayli GPL 2-versiyasini ko'rsatadi va OpenSSL uchun bog'lash istisnosini hujjatlashtiradi, bu belgilangan qamrovga ega maxsus ruxsat, shartlarni aralashtirish uchun umumiy litsenziya emas.

Loyihaning bugungi veb-saytidagi emas, binoingiz bilan tarqatiladigan litsenziya matnini oling. Eski tarmoqni qadagan nashr o'sha tarmoq hujjatini olib yuradi. Repozitoriya sahifasining skrinshotlari o'rinbosar emas, chunki sizga kerakli fayl artefakt ichidagi fayldir. Paket to'liq bo'lishi uchun uni o'rnatuvchining yonida saqlang.

Keyin integratsiyani halol tasvirlang: interfeys dvigatelni bola jarayon sifatida ishga tushirib matn protokolida gapiradimi, yoki kutubxonani bog'lab ichki tuzilmalar almashadimi? Ikkinchi tartib birinchisida yo'q darajada yaqin, va sharhlovchi birinchi navbatda aynan shu farqni so'raydi.

Qaysi fayllarni o'zgartirganingizni qayd eting

O'zgartirilgan manba kodi tahlilni har qanday paketlash tafsilotidan ko'ra ko'proq o'zgartiradi. Agar dvigatelga yamoq qo'llagan bo'lsangiz, yamoqning o'zi hosilaviy asar, va majburiyat natijani tarqatuvchiga yuklanadi.

Har bir yamoqni, uning maqsadini va yuqoriga yuborilganini qayd eting, chunki repozitoriyingizdan hech qachon chiqmagan yamoq ham ikkilik faylni tarqatsangiz tarqatishingizning bir qismi bo'lib qoladi.

Konfiguratsiya fayllari, mavzular va tarjimalar odatda interfeys bilan yashaydi, ammo dvigatel manba satrlarini joylashtirgan tarjima chegara katalog bo'yicha emas, fayl bo'yicha ekanini eslatadi. Yuqori oqim nashri va binongiz o'rtasidagi farqni saqlang, shunda javob keyin qayta qurish o'rniga so'rov bo'yicha tayyor bo'ladi. O'sha farq auditor nima o'zgarganini so'raganda ham eng foydali artefaktdir.

OpenSSL versiyasini alohida tekshiring

OpenSSL 3.0 va undan keyingilar Apache License 2.0 bo'yicha tarqatiladi, eski nashrlar esa OpenSSL/SSLeay shartlarini olib yuradi. Bular turli majburiyatlarga ega turli hujjatlar, va birlashtirilgan dvigatel binoningiz tizimi topgan har qaysi birini bog'lashi mumkin.

Qurish skriptida nomlanganini emas, haqiqatda tarqatiladigan versiyani tasdiqlang.

OpenVPN ga bog'liqlik OpenSSL dagi har bir o'zgarishni GPL kodiga aylantirmaydi, va bog'lash istisnosi kutubxonani qayta tarqatish bilan keladigan boshqa majburiyatlarni olib tashlamaydi. Istisnoni kattaroq tahlildagi bitta band deb qarang, va TLS kutubxonasining o'z bildirishnomalarini qolgan hamma narsa bilan birga qayd eting.

Dalillar paketini to'plang

Paketning to'rt qismi bor: versiyalar bilan fayllar ro'yxati, integratsiya tavsifi, farqlar bilan o'zgarishlar ro'yxati va tarqatilgan ko'rinishdagi litsenziya matnlari. Siz tarqatadigan bildirishnoma faylini va majburiyatlaringiz taklifni talab qilsa, manba kodi taklif qilinadigan joyni qo'shing.

Paketni bitta egasi qo'lida saqlang, shunda usiz hech bir nashr chiqmasin.

Bularning hech biri huquqiy masalani hal qilmaydi, va gap ham shunda: u vakolatli sharhlovchiga kimningdir xotirasidan yig'ilgan xulosa o'rniga faktlarni beradi. Yetkazib beruvchining marketing tavsifi uning arxitekturasi uchun dalil emas, va bu haqdagi sizning taxminingiz ham dalil emas.

O'xshash maqolalar