VPN interfeysi, GPL mühərriki və quraşdırıcı: nə göndərilir?
GPL və OpenSSL şərtlərinin VPN interfeys paketinizə necə tətbiq olunduğuna qərar verməzdən əvvəl nəyin paylandığını, nəyin dəyişdirildiyini və hissələrin necə əlaqə saxladığını xəritələyin.
Sual lisenziya məsələsi kimi gəlir, amma cavab inventarla başlayır. VPN interfeysi, onu idarə edən OpenVPN mühərriki, TLS kitabxanası və quraşdırıcı dörd fərqli şərtlər toplusuna malik ola bilər və məhsulun görünüşü hansı faylın hansı topluya aid olduğunu demir. Artefaktları göndərildikləri sıra ilə işləyin, və sualı cavablandırmağa ixtisaslı birinə verəndə hüquqi sual xeyli daralır. Hər addım onu daha da daraldır: nə paylanır, nə dəyişdirildi və hissələr necə ünsiyyət qurur.
Quraşdırıcının diskə yazdıqlarından başlayın
Buraxılmış quraşdırıcını və ya paketi götürün, inkişaf nüsxəsini deyil, və onun təmiz maşında yerləşdirdiyi hər faylı sadalayın. İnterfeys, mühərrik və TLS kitabxanası üçün versiyaları qeyd edin və mühərrikin ayrı icra olunan fayl, yoxsa eyni prosesə yüklənən kitabxana olduğunu qeyd edin.
Bu son fakt sonrakı hər şeyi formalaşdırır. Soket üzərindən başladılan ayrı icra olunan fayl, bir ikili fayla kompilyasiya edilmiş koddan fərqli suallar doğurur və hər ikisini yalnız yan-yana qoyan quraşdırıcı məsələni heç bir tərəfə həll etmir. Paketləmə qablaşdırma qərarıdır, proqramlar arasındakı əlaqə isə arxitektura qərarıdır.
Siyahını versiyalarla birlikdə yazın, çünki şərtlər əsas buraxılışlar arasında fərqlənir.
dpkg -L openvpn | head -n 40
openssl version -aİnterfeysi mühərrikdən ayırın
OpenVPN kopyalama faylı GPL 2 versiyasını qeyd edir və OpenSSL üçün bağlantı istisnasını sənədləşdirir; bu, müəyyən əhatə dairəsi olan xüsusi icazədir, şərtləri qarışdırmaq üçün ümumi lisenziya deyil.
Layihənin bugünkü veb saytındakı deyil, quruluşunuzla göndərilən lisenziya mətnini götürün. Daha köhnə budağı sabitləyən buraxılış həmin budağın sənədini daşıyır. Repozitoriya səhifəsinin ekran görüntüləri əvəz deyil, çünki sizə lazım olan fayl artefaktın içindəkidir. Paketin tam olması üçün onu quraşdırıcının yanında saxlayın.
Sonra inteqrasiyanı dürüst təsvir edin: interfeys mühərriki alt proses kimi başladıb mətn protokolu ilə danışır, yoxsa kitabxana bağlayıb daxili strukturları mübadilə edir? İkinci quruluş birinci olmayan dərəcədə sıx bağlıdır və rəyçinin ilk soruşacağı fərq budur.
Hansı faylları dəyişdiyinizi qeyd edin
Dəyişdirilmiş mənbə kodu təhlili hər hansı qablaşdırma detalından çox dəyişir. Mühərrikə yamaq vurmusunuzsa, yamağın özü törəmə işdir və öhdəlik nəticəni paylayan hər kəsin üzərinə düşür.
Hər yamağı, məqsədini və yuxarı axına göndərilib-göndərilmədiyini qeyd edin, çünki repozitoriyanızdan heç vaxt çıxmayan yamaq ikili faylı göndərsəniz, göndərdiyinizin bir hissəsi olaraq qalır.
Konfiqurasiya faylları, temalar və tərcümələr adətən interfeyslə birlikdə yaşayır, amma mühərrik mənbə sətirlərini daxil edən tərcümə sərhədin qovluq üzrə deyil, fayl üzrə olduğunu xatırladan kiçik bir işarədir. Yuxarı axın buraxılışı ilə quruluşunuz arasındakı fərqi saxlayın ki, cavab sonradan yenidən qurulmaq əvəzinə tələb əsasında hazır olsun. Bu fərq auditor nəyin dəyişdiyini soruşanda da ən faydalı artefaktdır.
OpenSSL versiyasını ayrıca yoxlayın
OpenSSL 3.0 və sonrakılar Apache License 2.0 ilə paylanır, köhnə buraxılışlar isə OpenSSL/SSLeay şərtlərini daşıyır. Bunlar fərqli öhdəlikləri olan fərqli sənədlərdir və paketlənmiş mühərrik quruluş sisteminizin tapdığı hansısa birini bağlaya bilər.
Qurma skriptində adı çəkiləni deyil, həqiqətən göndərilən versiyanı təsdiqləyin.
OpenVPN asılılığı OpenSSL-dəki hər dəyişikliyi GPL koduna çevirmir və bağlantı istisnası kitabxananın yenidən paylanması ilə gələn digər öhdəlikləri aradan qaldırmır. İstisnaya daha geniş təhlildə bir bənd kimi yanaşın və TLS kitabxanasının öz bildirişlərini də hər şeylə birlikdə qeyd edin.
Sübut paketini yığın
Paketin dörd hissəsi var: versiyalarla fayl inventarı, inteqrasiya təsviri, fərqlərlə dəyişikliklər siyahısı və göndərildiyi kimi lisenziya mətnləri. Payladığınız bildiriş faylını və öhdəlikləriniz təklif tələb edirsə, mənbənin təklif olunduğu yeri əlavə edin.
Paketi bir sahibin altında saxlayın ki, heç bir buraxılış onsuz göndərilməsin.
Bunların heç biri hüquqi məsələni həll etmir və məqsəd də budur: ixtisaslı rəyçiyə kimsənin yaddaşdan topladığı xülasə əvəzinə faktları verir. Təchizatçının marketinq təsviri onların arxitekturasına dair sübut deyil və sizin bu barədə təxmininiz də sübut deyil.