xref: /aosp_15_r20/external/toybox/www/license.html (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker<html><head><title>Toybox License</title>
2*cf5a6c84SAndroid Build Coastguard Worker<!--#include file="header.html" -->
3*cf5a6c84SAndroid Build Coastguard Worker
4*cf5a6c84SAndroid Build Coastguard Worker<h2>Toybox is released under the Zero Clause BSD license (SPDX: <a href=https://spdx.org/licenses/0BSD.html>0BSD</a>):</h2>
5*cf5a6c84SAndroid Build Coastguard Worker
6*cf5a6c84SAndroid Build Coastguard Worker<blockquote>
7*cf5a6c84SAndroid Build Coastguard Worker<p>Copyright (C) 2006 by Rob Landley &lt;[email protected]&gt;
8*cf5a6c84SAndroid Build Coastguard Worker
9*cf5a6c84SAndroid Build Coastguard Worker<p>Permission to use, copy, modify, and/or distribute this software for any
10*cf5a6c84SAndroid Build Coastguard Workerpurpose with or without fee is hereby granted.</p>
11*cf5a6c84SAndroid Build Coastguard Worker
12*cf5a6c84SAndroid Build Coastguard Worker<p>THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13*cf5a6c84SAndroid Build Coastguard WorkerWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14*cf5a6c84SAndroid Build Coastguard WorkerMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15*cf5a6c84SAndroid Build Coastguard WorkerANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16*cf5a6c84SAndroid Build Coastguard WorkerWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17*cf5a6c84SAndroid Build Coastguard WorkerACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18*cf5a6c84SAndroid Build Coastguard WorkerOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</p>
19*cf5a6c84SAndroid Build Coastguard Worker</blockquote>
20*cf5a6c84SAndroid Build Coastguard Worker
21*cf5a6c84SAndroid Build Coastguard Worker<p>The text of the above license is included in the file LICENSE in the source.</p>
22*cf5a6c84SAndroid Build Coastguard Worker
23*cf5a6c84SAndroid Build Coastguard Worker<h2>Why 0BSD?</h2>
24*cf5a6c84SAndroid Build Coastguard Worker
25*cf5a6c84SAndroid Build Coastguard Worker<p>Zero clause BSD is a <a href=https://en.wikipedia.org/wiki/Public_domain_equivalent_license>public domain equivalent</a> license.</p>
26*cf5a6c84SAndroid Build Coastguard Worker
27*cf5a6c84SAndroid Build Coastguard Worker<p>As with <a href=https://creativecommons.org/publicdomain/zero/1.0/>CC0</a>,
28*cf5a6c84SAndroid Build Coastguard Worker<a href=http://unlicense.org>unlicense</a>, and <a href=http://wtfpl.net/>wtfpl</a>,
29*cf5a6c84SAndroid Build Coastguard Workerthe intent is to effectively place the licensed material into the public domain,
30*cf5a6c84SAndroid Build Coastguard Workerwhich after decades of FUD (such as the time OSI's ex-lawyer compared
31*cf5a6c84SAndroid Build Coastguard Worker<a href=https://web.archive.org/web/20160530090006/http://www.cod5.org/archive/>placing code into the public domain</a> to
32*cf5a6c84SAndroid Build Coastguard Worker<a href=http://www.linuxjournal.com/article/6225>abandoning trash by the
33*cf5a6c84SAndroid Build Coastguard Workerside of a highway</a>) is considered somehow unsafe. But if some random third
34*cf5a6c84SAndroid Build Coastguard Workerparty
35*cf5a6c84SAndroid Build Coastguard Worker<a href=https://github.com/mkj/dropbear/blob/master/libtomcrypt/LICENSE>takes
36*cf5a6c84SAndroid Build Coastguard Workerpublic domain code</a> and slaps <a href=http://www.opensource.apple.com/source/gnuzip/gnuzip-25/gzip/gzip.c>some other license on it</a>, then it's fine.</p>
37*cf5a6c84SAndroid Build Coastguard Worker
38*cf5a6c84SAndroid Build Coastguard Worker<p>To work around this perception, the above license is the
39*cf5a6c84SAndroid Build Coastguard Worker<a href=https://www.openbsd.org/policy.html>OpenBSD suggested template
40*cf5a6c84SAndroid Build Coastguard Workerlicense</a>, <a href=https://github.com/landley/toybox/commit/ee86b1d8e25cb0ca9d418b33eb0dc5e7716ddc1e>minus the half sentence</a>
41*cf5a6c84SAndroid Build Coastguard Workerrequiring the license text be copied verbatim into derived works. If 2BSD is
42*cf5a6c84SAndroid Build Coastguard Workerok, then 0BSD should be ok, despite being equivalent to placing code in the
43*cf5a6c84SAndroid Build Coastguard Workerpublic domain.</p>
44*cf5a6c84SAndroid Build Coastguard Worker
45*cf5a6c84SAndroid Build Coastguard Worker<p>Modifying the license in this way avoids the hole android toolbox fell into where
46*cf5a6c84SAndroid Build Coastguard Worker<a href=https://github.com/android/platform_system_core/blob/fd4c6b0a3a25921a9fe24691a695d715aecb6afe/toolbox/NOTICE>33 copies of BSD license text</a>
47*cf5a6c84SAndroid Build Coastguard Workerwere concatenated together when copyright dates changed, or the strange
48*cf5a6c84SAndroid Build Coastguard Workersolution the busybox developers used to resolve tension between GPLv2's "no
49*cf5a6c84SAndroid Build Coastguard Workeradditional restrictions" and BSD's "you must include this large hunk of text"
50*cf5a6c84SAndroid Build Coastguard Workerby sticking the two licenses at
51*cf5a6c84SAndroid Build Coastguard Worker<a href=http://git.busybox.net/busybox/tree/networking/ping.c?id=887a1ad57fe978cd320be358effbe66df8a068bf>opposite ends of the file</a> and hoping nobody
52*cf5a6c84SAndroid Build Coastguard Workernoticed.</a>
53*cf5a6c84SAndroid Build Coastguard Worker
54*cf5a6c84SAndroid Build Coastguard Worker<p>Note: I asked <a href=https://www.oreilly.com/openbook/opensources/book/kirkmck.html>Kirk McKusick</a> for permission to call this a BSD license at
55*cf5a6c84SAndroid Build Coastguard Workera conference shortly before I started using the name,
56*cf5a6c84SAndroid Build Coastguard Workerand <a href=0bsd-mckusick.txt>again in 2018</a>.</p>
57*cf5a6c84SAndroid Build Coastguard Worker<!--#include file="footer.html" -->
58