Como requerido pelo nosso modelo de risco (entre outras razões), o software desenvolvido para dar suporte a rede comunicação anônima que chamamos I2P deve ser disponibilizado gratuitamente, ter código aberto, e poder ser modificado pelo usuário. Para atingir esses critérios, fazemos uso de uma variedade de técnicas jurídicas e de engenharia de software de modo a remover um punhado de barreiras para aqueles que consideram fazer uso de ou contribuir com o esforço de manter a I2P.

Ainda que as informações abaixo possam ser mais confusas do que apenas dizer "I2P usa a licença BSD", "I2P usa a licença GPL", ou "I2P pertence ao domínio público", a resposta mais breve a questão "Como é licenciado o software I2P?" é a seguinte:

Todo software empacotado numa distribuição I2P permitirá:

  1. o uso sem quaisquer custos
  2. o uso irrestrito independentemente de como, onde, porque ou por quem seja executado
  3. o acesso ao código-fonte sem quaisquer custos
  4. modificações do código-fonte

Most of the software guarantees much more - the ability of anyone to distribute the modified source however they choose. However, not all of the software bundled provides this freedom - the GPL restricts the ability of developers who wish to integrate I2P with their own applications that are not themselves open source applications. While we applaud the noble goals of increasing the resources in the commons, I2P is best served by removing any barriers that stand in the way of its adoption - if a developer considering whether they can integrate I2P with their application has to stop and check with their lawyer, or conduct a code audit to make sure their own source can be released as GPL-compatible, we lose out.

Licenças componentes

The I2P distribution contains several resources, reflecting the partitioning of the source code into components. Each component has its own license, which all developers who contribute to it agree to - either by explicitly declaring the release of code committed under a license compatible with that component, or by implicitly releasing the code committed under the component's primary license. Each of these components has a lead developer who has the final say as to what license is compatible with the component's primary license, and the I2P project manager has the final say as to what licenses meet the above four guarantees for inclusion in the I2P distribution.

Componente Caminho do código-fonte Recurso Licença primária Licenças alternativas Desenvolvedor-chefe
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 + exceção relativa ao java

While it may be redundant, just for clarity the GPL'ed code included within I2PTunnel and other apps must be released under the GPL with an additional "exception" explicitly authorizing the use of Java's standard libraries:

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.

All source code under each component will by default be licensed under the primary license, unless marked otherwise in the code. All of the above is summary of the license terms - please see the specific license for the component or source code in question for authoritative terms. Component source locations and resource packaging may be changed if the repository is reorganized.

Conteúdo do website

Creative Commons License

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

Commit privileges

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.

However, to have changes included in a release, developers must be trusted by the release manager (currently zzz). In addition, they must explicitly agree with the above terms to be trusted. That means that they must send one of the release managers a signed message affirming that:

  • Unless marked otherwise, all code I commit is implicitly licensed under the component's primary license
  • If specified in the source, the code may be explicitly licensed under one of the component's alternate licenses
  • I have the right to release the code I commit under the terms I am committing it

If anyone is aware of any instances where the above conditions are not met, please contact the component lead and/or an I2P release manager with further information. See developers' license agreements.