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 des 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 principale du composant. Chacun de ces composants a un développeur principal qui a le dernier mot sur quelle licence est compatible avec la licence principale 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 Autres licences 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
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
 

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 code source de chaque composant sera par défaut sujet à des droits d’auteur conformément à la licence principale, sauf mention contraire dans le code. Le résumé des conditions de licence se trouve ci-dessus. Veuillez consulter la licence particulière du composant ou le code source en question au sujet des conditions faisant autorité. Les emplacements des sources des composants et les paquets peuvent changer 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

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.

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 j’archive est implicitement sujet à des droits d’auteur conformément à la licence principale du composant
  • Si cela est indiqué dans la source, le code peut être explicitement couvert par une des autres licences du composant
  • J’ai le droit de sortir le code que je soumets sous les conditions sous lesquels je les soumets

Si quelqu’un connaît des cas qui ne répondent pas aux conditions ci-dessus, veuillez contacter, avec plus de renseignements, le responsable du composant ou un gestionnaire de parutions d’I2P. Voir les licences des développeurs.