Tehdit modelimizin gerektirdiği gibi (diğer nedenlerin yanı sıra), I2P dediğimiz anonim iletişim ağını desteklemek için geliştirilen yazılımın ücretsiz olarak erişilebilir, açık kaynak kodlu ve kullanıcı tarafından değiştirilebilir olması gerekir. Bu kriterleri karşılamak amacıyla, I2P çabasını kullanmayı veya katkıda bulunmayı düşünenler için giriş engellerini ortadan kaldıracak çeşitli hukuk ve yazılım mühendisliği tekniklerinden yararlanıyoruz.
Aşağıdaki bilgiler yalnızca "I2P BSD'dir", "I2P GPL'dir" veya "I2P kamu malıdır" şeklinde ifade etmekten daha kafa karıştırıcı olsa da, "I2P nasıl lisanslanır?" sorusunun kısa yanıtı şöyledir:
I2P dağıtımlarında bulunan tüm yazılımlar şu koşulları sağlar:
- Ücretsiz kullanılır
- Nasıl, ne zaman, nerede, neden veya kimin tarafından çalıştırıldığı konusunda herhangi bir kısıtlama olmaksızın kullanılır
- Kaynak koduna ücretsiz erişilir
- Kaynak kodunda değişiklik yapılabilmelidir
Yazılımların çoğu çok daha fazlasını garanti ederek herkese değiştirilmiş kaynağı istediği gibi dağıtma olanağı sunar. Bununla birlikte, paketteki yazılımların tümü bu özgürlüğü sunmaz. GPL, I2P yazılımını açık kaynak kodlu uygulamalar olmayan kendi uygulamalarıyla bütünleştirmek isteyen geliştiricilerin yapabileceklerini kısıtlar. Ortak alanlardaki kaynakları arttırmak gibi asil bir hedefi alkışlıyoruz. Bununla birlikte I2P için en iyi hizmet, benimsenmesinin önündeki engellerin kaldırılmasıyla yapılmış olur. Eğer bir geliştiricinin, I2P yazılımını uygulamalarıyla bütünleştirip bütünleştiremeyeceğini düşünürken kendi kaynaklarının GPL uyumlu olarak yayınlanabileceğinden emin olması için durup avukatıyla görüşmesi ya da bir kod denetimi yapması gerekirse kaybederiz.
Bileşen lisansları
I2P dağıtımı, kaynak kodun bileşenlerini oluşturan birkaç kaynak içerir. Her bileşenin, kendisine katkıda bulunan tüm geliştiricilerin kabul ettiği - ya bu bileşenle uyumlu bir lisans altında yayınlanan kodun serbest bırakıldığını açıkça beyan eden ya da yayınlanan kodu bileşenin birincil lisansı koşulları altında serbest bırakan - kendi lisansı vardır. Bu bileşenlerin her birinin, hangi lisansın bileşenin birincil lisansıyla uyumlu olduğu konusunda son sözü söyleyen bir lider geliştiricisi vardır ve I2P dağıtımına katmak için hangi lisansların yukarıdaki dört garantiyi karşıladığı konusunda son sözü I2P proje yöneticisi söyler.
Bileşen | Kaynak kod yolu | Kaynak | Birincil lisans | Alternatif lisanslar | Baş geliştirici |
I2P SDK | core | i2p.jar | Public domain |
BSD Cryptix MIT |
zzz |
I2P Router | router | router.jar | Public domain |
BSD Cryptix MIT |
zzz |
Ministreaming | apps/ministreaming | mstreaming.jar | BSD |
Public domain Cryptix MIT |
zzz |
Streaming | apps/streaming | streaming.jar | Public domain |
BSD Cryptix MIT |
zzz |
I2PTunnel | apps/i2ptunnel | i2ptunnel.jar | GPL + exception |
Public domain BSD Cryptix MIT |
zzz |
Routerconsole | apps/routerconsole | routerconsole.war | Public domain | zzz | |
Address Book | apps/addressbook | addressbook.war | MIT |
Public domain Cryptix BSD |
|
Susidns | apps/susidns | susidns.war | GPL + exception | ||
Susimail | apps/susimail | susimail.war | GPL + exception | ||
I2PSnark | apps/i2psnark | i2psnark.jar | GPL + exception | zzz | |
BOB Bridge | apps/BOB | BOB.jar | WTFPL | sponge | |
SAM Bridge | apps/sam | sam.jar | Public domain |
Cryptix BSD MIT |
zzz |
SAM v1 Perl library | apps/sam/perl | SAM.pm | GPL |
Public domain Cryptix BSD MIT |
BrianR |
SAM v1 C library | apps/sam/c | libSAM | BSD |
Public domain Cryptix MIT |
Nightblade |
SAM v1 Python library | apps/sam/python | i2p.py | Public domain |
BSD Cryptix MIT |
Connelly |
SAM v1 C# library | apps/sam/csharp/ | n/a | Public domain |
BSD Cryptix MIT |
smeghead |
Other apps not mentioned | apps/ | ... | Probably Public domain but check the source | ||
Installer | installer | install.jar, guiinstall.jar | Public domain | GPL + exception BSD Cryptix MIT |
GPL + java istisnası
Gereksiz olsa da, açıklığa kavuşturmak için, I2PTunnel ve diğer uygulamalarda bulunan GPLleştirilmiş kodun, standart Java kitaplıklarının kullanımına açıkça yetki veren ek bir "istisna" ile GPL altında yayınlanması gerekir:
In addition, as a special exception, XXXX gives permission to link the
code of this program with the proprietary Java implementation provided by Sun
(or other vendors as well), and distribute linked combinations including the
two. You must obey the GNU General Public License in all respects for all of the
code used other than the proprietary Java implementation. If you modify this
file, you may extend this exception to your version of the file, but you are not
obligated to do so. If you do not wish to do so, delete this exception statement
from your version.
Kodda aksi belirtilmedikçe, her bileşen altındaki tüm kaynak kodları varsayılan olarak birincil lisans koşulları altında lisanslanır. Yukarıdakilerin tümü, lisans koşullarının özetidir - yetkili koşullar için lütfen söz konusu bileşen veya kaynak kodunun özel lisansına bakın. Depo yeniden düzenlenirse bileşen kaynak konumları ve kaynak paketlemesi değiştirilebilir.
Site içeriği
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Ayrıcalıkları sunmak
Developers may push changes to a distributed git repository if you receive permission from the person running that repository. See the Git Page for details.
Ancak, değişikliklerin bir yayına katılması için, yayın yöneticisinin (şu anda zzz) geliştiricilere güvenmelidir. Ayrıca, kendilerine güvenilmesi için yukarıdaki şartları açıkça kabul etmeleri gerekir. Bunun için, sürüm yöneticilerinden birine aşağıdakileri onaylayan imzalı bir ileti göndermeleri gerekir:
- Aksi belirtilmedikçe, sunduğum tüm kodlar, bileşenin birincil lisansı kapsamı koşulları altında lisanslanmıştır.
- Kaynak kodunda belirtilerek, kod açıkça bileşenin alternatif lisanslarından birinin koşulları altında lisanslanabilir.
- Kabul ettiğim koşullar altında sunduğum kodu serbest bırakma hakkım var.
Yukarıdaki koşulların karşılanmadığı durumlardan haberdar olan biri varsa, lütfen ayrıntılı bilgi almak için bileşen lideri ve/veya bir I2P sürüm yöneticisi ile görüşün. Geliştiricilerin lisans sözleşmelerine bakın.