Comme l’exige notre modèle de menace (entre autres raisons), le logiciel développé pour prendre en charge le réseau de communication anonyme que nous appelons I2P doit être librement disponible, open source et modifiable par l’utilisateur. Pour répondre à ces critères, nous utilisons diverses techniques juridiques et d’ingénierie logicielle afin d’éliminer autant de barrières à l’entrée que possible pour ceux qui envisagent d’utiliser ou de contribuer au projet I2P.
Bien que les informations ci-dessous puissent être plus déroutantes que de simplement affirmer “I2P est sous BSD”, “I2P est sous GPL” ou “I2P est dans le domaine public”, la réponse courte à la question “Quelle est la licence d’I2P ?” est la suivante :
Tous les logiciels inclus dans les distributions I2P permettront :
- utilisation sans frais
- utilisation sans restrictions sur comment, quand, où, pourquoi, ou par qui elle est exécutée
- accès au code source sans frais
- modifications du code source
La plupart des logiciels garantissent bien plus - la possibilité pour quiconque de distribuer le code source modifié comme bon lui semble. Cependant, tous les logiciels intégrés ne fournissent pas cette liberté - la GPL restreint la capacité des développeurs qui souhaitent intégrer I2P à leurs propres applications qui ne sont pas elles-mêmes des applications open source. Bien que nous applaudissions les nobles objectifs d’augmentation des ressources dans les biens communs, I2P est mieux servi en supprimant tous les obstacles qui se dressent sur le chemin de son adoption - si un développeur qui envisage d’intégrer I2P à son application doit s’arrêter et consulter son avocat, ou effectuer un audit de code pour s’assurer que son propre code source peut être publié sous une licence compatible GPL, nous y perdons.
Licences des composants
La distribution I2P contient plusieurs ressources, reflétant le partitionnement du code source en composants. Chaque composant possède sa propre licence, que tous les développeurs qui y contribuent acceptent - soit en déclarant explicitement la publication du code soumis sous une licence compatible avec ce composant, soit en publiant implicitement le code soumis sous la licence principale du composant. Chacun de ces composants a un développeur principal qui a le dernier mot quant à savoir quelle licence est compatible avec la licence principale du composant, et le chef de projet I2P a le dernier mot quant aux licences qui répondent aux quatre garanties mentionnées ci-dessus pour l’inclusion dans la distribution 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 | — |
Exception GPL
Bien que cela puisse être redondant, pour plus de clarté, le code sous licence GPL inclus dans I2PTunnel et d’autres applications doit être publié 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 de chaque composant sera par défaut sous licence principale, sauf indication contraire dans le code. Tout ce qui précède est un résumé des termes de licence - veuillez consulter la licence spécifique du composant ou du code source en question pour les termes officiels. Les emplacements des sources des composants et l’empaquetage des ressources peuvent être modifiés si le dépôt est réorganisé.
Licence du site web
Sauf mention contraire, le contenu de ce site est sous licence Creative Commons Attribution-ShareAlike 4.0 International .
Accès aux commits
Les développeurs peuvent pousser des modifications vers un dépôt git distribué s’ils reçoivent l’autorisation de la personne qui gère ce dépôt. Voir le Guide du nouveau développeur pour plus de détails.
Cependant, pour que les modifications soient incluses dans une version, les développeurs doivent être considérés de confiance par le gestionnaire de version (actuellement zzz). De plus, ils doivent explicitement accepter les conditions ci-dessus pour être considérés de confiance. Cela signifie qu’ils doivent envoyer à l’un des gestionnaires de version un message signé affirmant que :
- Sauf indication contraire, tout code que je soumets est implicitement sous licence selon la licence principale du composant
- Si spécifié dans la source, le code peut être explicitement sous licence selon l’une des licences alternatives du composant
- J’ai le droit de publier le code que je soumets selon les termes sous lesquels je le soumets
Si quelqu’un est au courant de cas où les conditions ci-dessus ne sont pas remplies, veuillez contacter le responsable du composant et/ou un gestionnaire de version I2P avec plus d’informations.