Jak vyžaduje náš model hrozeb (mimo jiné důvody), software vyvinutý pro podporu anonymní komunikační sítě, kterou nazýváme I2P, musí být volně dostupný, s otevřeným zdrojovým kódem a uživatelsky upravitelný. Abychom splnili tato kritéria, využíváme různé právní a softwarové inženýrské techniky, abychom odstranili co nejvíce překážek pro ty, kteří zvažují využití nebo přispění k projektu I2P.
Ačkoli níže uvedené informace mohou být matoucí spíše než jednoduché prohlášení “I2P je BSD”, “I2P je GPL” nebo “I2P je veřejná doména”, krátká odpověď na otázku “Jak je I2P licencováno?” zní takto:
Veškerý software obsažený v distribucích I2P umožní:
- použití bez poplatku
- použití bez omezení jak, kdy, kde, proč nebo kým je provozováno
- přístup ke zdrojovému kódu bez poplatku
- úpravy zdrojového kódu
Většina softwaru zaručuje mnohem více - možnost kohokoli distribuovat upravený zdrojový kód jakýmkoli způsobem, který si zvolí. Ne všechen software, který je součástí balíčku, však poskytuje tuto svobodu - GPL omezuje možnosti vývojářů, kteří si přejí integrovat I2P se svými vlastními aplikacemi, které samy nejsou aplikacemi s otevřeným zdrojovým kódem. Zatímco oceňujeme ušlechtilé cíle zvyšování zdrojů ve veřejném prostoru, I2P je nejlépe slouženo odstraněním jakýchkoli překážek, které stojí v cestě jeho přijetí - pokud vývojář zvažující, zda může integrovat I2P se svou aplikací, musí zastavit a poradit se se svým právníkem nebo provést audit kódu, aby se ujistil, že jejich vlastní zdrojový kód může být zveřejněn jako kompatibilní s GPL, přicházíme zkrátka.
Licence komponent
Distribuce I2P obsahuje několik zdrojů, které odrážejí rozdělení zdrojového kódu do komponent. Každá komponenta má svou vlastní licenci, se kterou všichni vývojáři, kteří k ní přispívají, souhlasí - buď explicitním prohlášením o vydání kódu zapsaného pod licencí kompatibilní s danou komponentou, nebo implicitním vydáním kódu zapsaného pod primární licencí komponenty. Každá z těchto komponent má vedoucího vývojáře, který má konečné slovo ohledně toho, která licence je kompatibilní s primární licencí komponenty, a projektový manažer I2P má konečné slovo ohledně toho, které licence splňují výše uvedené čtyři záruky pro zařazení do distribuce I2P.
| Component | Source path | Resource | Primary license | Alternate licenses | Lead developer |
|---|---|---|---|---|---|
| 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](/docs/legacy/bob/) Bridge | apps/BOB | BOB.jar | WTFPL | — | sponge |
| [SAM](/docs/api/samv3/) Bridge | apps/sam | sam.jar | Public domain | Cryptix, BSD, MIT | zzz |
| [SAM v1](/docs/legacy/sam/) Perl library | apps/sam/perl | SAM.pm | GPL | Public domain, Cryptix, BSD, MIT | BrianR |
| [SAM v1](/docs/legacy/sam/) C library | apps/sam/c | libSAM | BSD | Public domain, Cryptix, MIT | Nightblade |
| [SAM v1](/docs/legacy/sam/) Python library | apps/sam/python | i2p.py | Public domain | BSD, Cryptix, MIT | Connelly |
| [SAM v1](/docs/legacy/sam/) 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 | — |
Výjimka GPL
Ačkoli to může být nadbytečné, jen pro jistotu musí být kód pod licencí GPL zahrnutý v I2PTunnel a dalších aplikacích vydán pod GPL s dodatečnou “výjimkou”, která explicitně povoluje použití standardních knihoven Javy:
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.
Veškerý zdrojový kód každé komponenty bude ve výchozím nastavení licencován pod primární licencí, pokud není v kódu označeno jinak. Vše výše uvedené je shrnutím licenčních podmínek – pro závazné podmínky se prosím podívejte na konkrétní licenci dané komponenty nebo zdrojového kódu. Umístění zdrojových kódů komponent a balení zdrojů může být změněno v případě reorganizace repozitáře.
Licence webu
Pokud není uvedeno jinak, obsah těchto stránek je licencován pod Creative Commons Attribution-ShareAlike 4.0 International License .
Přístup k commitům
Vývojáři mohou odesílat změny do distribuovaného git repozitáře, pokud získají oprávnění od osoby spravující daný repozitář. Podrobnosti naleznete v Průvodci pro nové vývojáře .
Aby však byly změny zahrnuty do vydání, musí vývojáři získat důvěru správce vydání (v současnosti zzz). Kromě toho musí výslovně souhlasit s výše uvedenými podmínkami, aby získali důvěru. To znamená, že musí poslat jednomu ze správců vydání podepsanou zprávu potvrzující, že:
- Pokud není označeno jinak, veškerý kód, který commituji, je implicitně licencován pod primární licencí komponenty
- Pokud je to uvedeno ve zdrojovém kódu, kód může být explicitně licencován pod jednou z alternativních licencí komponenty
- Mám právo uvolnit kód, který commituji, za podmínek, pod kterými jej commituji
Pokud je vám známa jakákoli situace, kdy výše uvedené podmínky nejsou splněny, kontaktujte prosím vedoucího komponenty a/nebo správce vydání I2P s dalšími informacemi.