Comme exigé par notre modèle de menace (parmi d'autres raisons), le logiciel développé pour soutenir le réseau de communication anonyme que nous appelons I2P doit être librement disponible, open source et modifiable par l''utilisateur. Pour respecter ces critères, nous nous servons d''une variété légale de techniques de génie logiciel, ceci afin d''enlever autant de barrières d'entrée aux personnes considérant faire usage ou contribuer à l''effort I2P.

Bien que les informations ci-dessous peuvent prêter davantage à confusion que de simplement déclarer "I2P est sous licence BSD", "I2P est sous licence GPL" ou "I2P est dans le domaine public", la réponse courte à la question "Sous quelle licence est I2P ?" est celle-ci :

Tous les logiciels inclus dans les distributions I2P doivent permettre :

  1. utilisation sans frais
  2. utilisation sans restrictions sur comment, quand, où, pourquoi, ou par qui il est exécuté
  3. accès au code source sans frais
  4. modifications du code source

La plupart du logiciel garantit beaucoup plus - la capacité de n'importe qui de distribuer le source modifié cependant ils choisissent. Cependant, tous les logiciels empaquetés ne fournissent pas cette liberté - le GPL limite la capacité des développeurs qui veulent intégrer I2P avec leurs propres applications qui ne sont pas elles-mêmes des applications open source. Tandis que nous applaudissons aux buts nobles d'augmenter les ressources communes, I2P est mieux servi en enlevant chacune des barrières qui bloquent son adoption - si un développeur considérant si il peut intégrer I2P avec son application doit s'arrêter et vérifier avec son avocat, ou conduire un audit de code pour s'assurer que son propre source peut être sorti comme compatible-GPL, nous sommes perdants.

Licences composants

La distribution I2P contient plusieurs ressources, reflétant le partitionnement du code source en composants. Chaque composant a sa propre licence, que chaque développeur qui y contribue a accepté - soit en déclarant explicitement la sortie du code engagé conformément à une licence compatible avec ce composant, ou en sortant implicitement le code engagé conformément à la licence primaire du composant. Chacun de ces composants a un développeur principal qui a le dernier mot sur quelle licence est compatible avec la licence primaire du composant et le chef de projet I2P a le dernier mot sur quelles licences respectent les quatre susdites garanties pour l'inclusion dans la distribution I2P.

Composant Chemin source Ressource Licence primaire Licences alternatives Développeur principal
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
Addressbook 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
 

Exception GPL + java

Bien que cela puisse être superflu, juste pour la clarté le code sous GPL inclus dans I2PTunnel et d''autres applications doit être sorti sous GPL avec une "exception" supplémentaire autorisant explicitement l'utilisation des bibliothèques standard de Java :

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.

Tout le code source sous chaque composant sera par défaut accordé sous la licence primaire, à moins que ce ne soit marqué autrement dans le code. Tout le ci-dessus est le résumé des termes de licence - veuillez voir la licence spécifique pour le composant ou code source en question concernant les termes autorisés. Les emplacements de source des composants et l'emballage de ressource peuvent êtres changés si le dépôt est réorganisé.

Contenu du site web

Creative Commons License

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Privilèges d'engagement

Les développeurs peuvent pousser des changements vers un dépôt Monotone distribué si vous recevez la permission de la personne exécutant ce dépôt. Voyez la page Monotone pour des détails.

Cependant, pour que ces changements soient inclus dans une sortie, les développeurs doivent être dignes de confiance du directeur de sortie (actuellement zzz). De plus, ils doivent explicitement être d'accord avec les termes susdits pour être dignes de confiance. Cela signifie qu''ils doivent envoyer à l'un des directeurs de sortie un message signé affirmant que :

  • Sauf indication contraire, tout le code que je soumets est implicitement placé sous la licence principale du composant
  • Si spécifié dans le code source, le code peut être explicitement placé sous une des licences alternatives du composant
  • J'ai le droit de sortir le code que je soumets sous les conditions sous lesquels je les soumets

Si quelqu'un est conscient de cas dans lequels les susdites conditions ne sont pas respectées, veuillez prendre contact avec le responsable du composant et/ou un directeur de release d''I2P pour davantage d'informations. Voir les contrats de licence des développeurs.