Soru bir lisans meselesi olarak gelir, ancak cevap bir envanterle başlar. Bir VPN arayüzü, onu çalıştıran OpenVPN motoru, bir TLS kütüphanesi ve bir kurulum programı dört farklı koşul setine sahip olabilir ve ürünün görünümü size hangi dosyanın hangi sete ait olduğu hakkında hiçbir şey söylemez. Yapıtları dağıtım sırasına göre inceleyin; cevap vermeye yetkili birine devrettiğinizde hukuki soru çok daha daralmış olacaktır. Her adım onu daha da daraltır: ne dağıtılıyor, ne değiştirildi ve parçalar nasıl iletişim kuruyor.

Kurulum programının diske ne koyduğuyla başlayın

Geliştirme kopyasını değil, yayımlanmış kurulum programını veya paketi alın ve temiz bir makineye yerleştirdiği her dosyayı listeleyin. Arayüz, motor ve TLS kütüphanesi için sürümleri kaydedin ve motorun ayrı bir çalıştırılabilir dosya mı yoksa aynı sürece yüklenen bir kütüphane mi olduğunu not edin.

Bu son olgu sonraki her şeyi şekillendirir. Soket üzerinden başlatılan ayrı bir çalıştırılabilir dosya, tek bir ikili dosyaya derlenmiş koddan farklı bir soru seti ortaya çıkarır ve ikisini yalnızca yan yana koyan bir kurulum programı meseleyi hiçbir yönde çözmez. Paketleme bir ambalaj kararıdır, oysa programlar arasındaki ilişki mimari bir karardır.

Listeyi sürümlerle birlikte yazın, çünkü koşullar ana sürümler arasında farklıdır.

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

Arayüzü motordan ayırın

OpenVPN kopyalama dosyası GPL sürüm 2'yi belirtir ve OpenSSL için bir bağlantı istisnasını belgeler; bu, tanımlı kapsamı olan özel bir izindir, koşulları karıştırmak için genel bir lisans değildir.

Projenin bugünkü web sitesindeki değil, derlemenizle birlikte dağıtılan lisans metnini alın. Daha eski bir dalı sabitleyen bir sürüm, o dalın belgesini taşır. Bir depo sayfasının ekran görüntüleri yerine geçmez, çünkü ihtiyacınız olan dosya yapıtın içindeki dosyadır. Paketin eksiksiz olması için onu kurulum programının yanında saklayın.

Ardından entegrasyonu dürüstçe tanımlayın: arayüz motoru bir alt süreç olarak mı başlatıp metin protokolü mü konuşuyor, yoksa bir kütüphaneyi bağlayıp iç yapıları mı paylaşıyor? İkinci düzenleme, birincinin olmadığı biçimde yakındır ve bir gözden geçirenin ilk soracağı şey bu farktır.

Hangi dosyaları değiştirdiğinizi not edin

Değiştirilmiş kaynak kodu, analizi herhangi bir paketleme ayrıntısından daha fazla değiştirir. Motora yama uyguladıysanız, yamanın kendisi türev eserdir ve yükümlülük sonucu dağıtan kişiye aittir.

Her yamayı, amacını ve yukarı akışa gönderilip gönderilmediğini kaydedin, çünkü deponuzdan hiç ayrılmamış bir yama da ikili dosyayı dağıtıyorsanız dağıtımınızın parçası olarak kalır.

Yapılandırma dosyaları, temalar ve çeviriler genellikle arayüzle birlikte yaşar, ancak motorun kaynak kodu dizelerini gömerek içeren bir çeviri, sınırın dizin değil dosya bazında olduğunu hatırlatan küçük bir işarettir. Yukarı akış sürümü ile derlemeniz arasındaki farkı saklayın, böylece cevap daha sonra yeniden oluşturulmak yerine istendiğinde hazır olsun. Bu fark, bir denetçi neyin değiştiğini sorduğunda da en yararlı yapıttır.

OpenSSL sürümünü ayrıca kontrol edin

OpenSSL 3.0 ve sonrası Apache License 2.0 kapsamında dağıtılırken daha eski sürümler OpenSSL/SSLeay koşullarını taşır. Bunlar farklı yükümlülükleri olan farklı belgelerdir ve paketlenmiş motor, derleme sisteminizin bulduğu herhangi birini bağlayabilir.

Derleme betiğinde adı geçeni değil, gerçekten dağıtılan sürümü doğrulayın.

OpenVPN bağımlılığı, OpenSSL'deki her değişikliği GPL koduna dönüştürmez ve bağlantı istisnası, kütüphanenin yeniden dağıtımıyla gelen diğer yükümlülükleri ortadan kaldırmaz. İstisnayı daha geniş bir analizin tek maddesi olarak ele alın ve TLS kütüphanesinin kendi bildirimlerini de diğer her şeyle birlikte kaydedin.

Kanıt paketini bir araya getirin

Paketin dört bölümü vardır: sürümlerle dosya envanteri, entegrasyon açıklaması, farklarla değişiklik listesi ve dağıtıldığı biçimdeki lisans metinleri. Dağıttığınız bildirim dosyasını ve yükümlülükleriniz bir teklif gerektiriyorsa kaynak kodun sunulduğu yeri ekleyin.

Paketi tek bir sahip altında tutun ki hiçbir sürüm onsuz çıkamasın.

Bunların hiçbiri hukuki bir soruyu çözmez ve asıl mesele de budur: yetkili bir gözden geçirene, birinin belleğinden derlediği bir özet yerine olguları verir. Bir satıcının pazarlama açıklaması, mimarisi hakkında kanıt değildir ve sizin kendi tahmininiz de kanıt değildir.

İlgili makaleler