As required by our threat model (among other reasons), the software developed to support the anonymous communication network we call I2P must be freely available, open source, and user modifiable. To meet these criteria, we make use of a variety of legal and software engineering techniques so as to remove as many barriers to entry for those considering making use of or contributing to the I2P effort.
În timp ce informațiile de mai jos pot fi mai confuze decât pur și simplu afirmând că "I2P este BSD", "I2P este GPL" sau "I2P este domeniu public", răspunsul scurt la întrebarea „Cum este licențiat I2P?” este acesta:
Toate software-urile incluse în distribuțiile I2P vor permite:
- utilizați fără taxe
- utilizați fără restricții cu privire la modul în care, când, unde, de ce sau de cine îl execută
- acces la codul sursă fără taxe
- modificări la sursă
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țe pentru componente
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.
Componentă | Calea sursei | Resursă | Licență primară | Licențe alternative | Dezvoltator 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 |
GPL + java exception
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.
Conținutul site-ului web
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Privirea privilegiilor
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.
Cu toate acestea, pentru a avea modificări incluse într-o versiune, dezvoltatorii trebuie să fie de încredere de către managerul de versiuni (actualmente zzz). În plus, aceștia trebuie să fie în mod explicit de acord cu termenii de mai sus pentru a avea încredere. Asta înseamnă că trebuie să trimită unuia dintre managerii de versiuni un mesaj semnat care să afirme că:
- Cu excepția cazului în care este marcat altfel, tot codul pe care îl angajez este implicit licențiat în licența principală a componentei
- Dacă este specificat în sursă, codul poate fi autorizat în mod explicit sub unul din licențele alternative ale componentei
- Am dreptul de a elibera codul pe care îl angajez în condițiile I o comit
Dacă cineva cunoaște orice situație în care nu sunt îndeplinite condițiile de mai sus, vă rugăm să contactați plumbul componentului și / sau un manager de versiuni I2P pentru mai multe detalii informație. Consultați acordurile de licență ale dezvoltatorilor.