255 lines
12 KiB
HTML
255 lines
12 KiB
HTML
<p>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 this 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.</p>
|
|
|
|
<p>While the information below may be more confusing than just simply
|
|
stating "I2P is BSD", "I2P is GPL", or "I2P is public domain",
|
|
the short answer to the question "How is I2P licensed?" is this:</p>
|
|
|
|
<h2>All software bundled in the I2P distributions will allow:</h2>
|
|
<ol>
|
|
<li>use without fee</li>
|
|
<li>use with no restrictions on how, when, where, why, or by whom is running it</li>
|
|
<li>access to the source code without fee</li>
|
|
<li>modifications to the source</li>
|
|
</ol>
|
|
|
|
<p>Most of the software guarantees much more - the ability of <b>anyone</b> 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.</p>
|
|
|
|
<h2>Component licenses</h2>
|
|
<p>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.</p>
|
|
|
|
<table border="1">
|
|
<tr>
|
|
<td valign="top" align="left"><b>Component</b></td>
|
|
<td valign="top" align="left"><b>CVS path</b></td>
|
|
<td valign="top" align="left"><b>Resource</b></td>
|
|
<td valign="top" align="left"><b>Primary license</b></td>
|
|
<td valign="top" align="left"><b>Alternate licenses</b></td>
|
|
<td valign="top" align="left"><b>Lead developer</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>I2P SDK</b></td>
|
|
<td valign="top" align="left">core</td>
|
|
<td valign="top" align="left">i2p.jar</td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">jrandom</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>I2P Router</b></td>
|
|
<td valign="top" align="left">router</td>
|
|
<td valign="top" align="left">router.jar</td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">jrandom</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>ministreaming</b></td>
|
|
<td valign="top" align="left">apps/ministreaming</td>
|
|
<td valign="top" align="left">mstreaming.jar</td>
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">mihi</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>I2PTunnel</b></td>
|
|
<td valign="top" align="left">apps/i2ptunnel</td>
|
|
<td valign="top" align="left">i2ptunnel.jar</td>
|
|
<td valign="top" align="left">
|
|
<a href="#java_exception">GPL + exception</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">mihi</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>HTTPTunnel</b></td>
|
|
|
|
<td valign="top" align="left">apps/httptunnel</td>
|
|
<td valign="top" align="left">httptunnel.jar</td>
|
|
<td valign="top" align="left">
|
|
<a href="#java_exception">GPL + exception</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">mihi</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b><a href="sam">SAM</a> Bridge</b></td>
|
|
<td valign="top" align="left">apps/sam</td>
|
|
<td valign="top" align="left">sam.jar</td>
|
|
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">human</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b><a href="sam">SAM</a> perl library</b></td>
|
|
<td valign="top" align="left">apps/sam/perl</td>
|
|
<td valign="top" align="left">SAM.pm</td>
|
|
|
|
<td valign="top" align="left">
|
|
<a href="http://www.perl.com/pub/a/language/misc/Artistic.html">Artistic</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">BrianR</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b><a href="sam">SAM</a> C library</b></td>
|
|
<td valign="top" align="left">apps/sam/c</td>
|
|
<td valign="top" align="left">libSAM</td>
|
|
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">Nightblade</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b><a href="sam">SAM</a> Python library</b></td>
|
|
<td valign="top" align="left">apps/sam/python</td>
|
|
<td valign="top" align="left">i2p.py</td>
|
|
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">Connelly</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b><a href="sam">SAM</a> C# library</b></td>
|
|
<td valign="top" align="left">apps/sam/csharp/</td>
|
|
<td valign="top" align="left">n/a</td>
|
|
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">smeghead</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>Addressbook</b></td>
|
|
<td valign="top" align="left">apps/addressbook</td>
|
|
<td valign="top" align="left">addressbook.war</td>
|
|
|
|
<td valign="top" align="left">
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a></td>
|
|
<td valign="top" align="left">Ragnarok</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>Other apps not mentioned</b></td>
|
|
<td valign="top" align="left">apps/</td>
|
|
<td valign="top" align="left">...</td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left"><a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">jrandom</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="left"><b>Installer</b></td>
|
|
<td valign="top" align="left">installer</td>
|
|
|
|
<td valign="top" align="left">install.jar, guiinstall.jar</td>
|
|
<td valign="top" align="left">
|
|
<a href="http://en.wikipedia.org/wiki/Public_domain">Public domain</a></td>
|
|
<td valign="top" align="left"><a href="#java_exception">GPL + exception</a><br />
|
|
<a href="http://opensource.org/licenses/bsd-license.php">BSD</a><br />
|
|
<a href="http://www.cryptix.org/LICENSE.TXT">Cryptix</a><br />
|
|
<a href="http://opensource.org/licenses/mit-license.html">MIT</a></td>
|
|
<td valign="top" align="left">jrandom</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a id="java_exception">GPL + java exception</a></h3>
|
|
<p>While it may be redundant, just for clarity the
|
|
<a href="http://www.fsf.org/licenses/gpl.html">GPL</a>'ed code included within
|
|
I2PTunnel must be released under the GPL with an additional "exception"
|
|
explicitly authorizing the use of Java's standard libraries:</p>
|
|
|
|
<p><code>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.</code></p>
|
|
|
|
<p>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 CVS locations and
|
|
resource packaging may be changed if the repository is reorganized.</p>
|
|
|
|
<h2>CVS commit privileges</h2>
|
|
<p>All developers must explicitly agree with the above terms to receive commit
|
|
access to I2P's CVS repository. That means that they affirm that:</p>
|
|
<ul>
|
|
<li>Unless marked otherwise, all code they commit is implicitly licensed under
|
|
the component's primary license</li>
|
|
<li>If specified in the source, the code may be explicitly licensed under one
|
|
of the component's alternate licenses</li>
|
|
<li>They have the right to release the code they commit under the terms they
|
|
are committing it</li>
|
|
</ul>
|
|
|
|
<p>If anyone is aware of any instances where the above conditions are not met,
|
|
please contact the component lead and/or the I2P project manager with further
|
|
information.</p>
|