aboutsummaryrefslogtreecommitdiffstats
path: root/www/faq.html
blob: 112f0749abf1a8e358b2b003c690f2548f3837c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<html><head><title>toybox news</title>
<!--#include file="header.html" -->

<ul>
<li><h2><a href="#capitalize">Do you capitalize toybox?</a></h2></li>
<li><h2><a href="#why_toybox">Why is there toybox? What was wrong with busybox?
</ul>

<a name="capitalize" />
<h2>Q: Do you capitalize toybox?</h2>

<p>A: Only at the start of a sentence. The command name is all lower case so
it seems silly to capitalize the project name, but not capitalizing the
start of sentences is awkward, so... compromise. (It is _not_ "ToyBox".)</p>

<a name="why_toybox" />
<h2>Q: "Why is there toybox? What was wrong with busybox?"</h2>

<p>A: The current incarnation of toybox dates back to a
<a href=http://landley.net/notes-2011.html#13-11-2011>project relaunch</a>
in November 2011. That link explains the reasoning at the time, with
links to earlier information.</p>

<p>Toybox first started back when its maintainer
<a href=https://lwn.net/Articles/202106/>handed off BusyBox maintainership</a>
and <a href=http://landley.net/notes-2006.html#28-09-2006>started over from
scratch</a> on a new codebase after a
<a href=http://lists.busybox.net/pipermail/busybox/2006-September/058617.html>protracted licensing argument</a> took all the fun out of
working on BusyBox. Toybox was just a personal project until it got
<a href=https://lwn.net/Articles/478308/>relicensed years
later</a> after its author did a lot of thinking
<a href=http://landley.net/talks/ohio-2013.txt>about licenses</a>
and about <a href=http://landley.net/notes-2011.html#21-03-2011>the
transition to smartphones</a>. This led to the
<a href=http://landley.net/talks/celf-2013.txt>2013</a>
<a href=https://www.youtube.com/watch?v=SGmtP5Lg_t0>talk</a> laying
out a strategy to make Android self-hosting, which helped
<a href=https://code.google.com/p/android/issues/detail?id=76861>bring
it to Android's attention</a>, and they
<a href=https://lwn.net/Articles/629362/>merged it</a> into Android M.</p>

<p>To answer the second question: BusyBox predates Android
by almost a decade, but Android still doesn't ship with it because GPLv3 came
out around the same time Android did and caused many people to throw
out the GPLv2 baby with the GPLv3 bathwater.
Android <a href=https://source.android.com/source/licenses.html>explicitly
discourages</a> use of GPL and LGPL licenses in its products, and has gradually
reimplemented historical GPL components such as its bluetooth stack under the
Apache license. Similarly, Apple froze xcode at the last GPLv2 releases
(GCC 4.2.1 with binutils 2.17) for over 5 years while it sponsored the
development of new projects (clang/llvm/lld) to replace them,
implemented its SMB server from scratch to replace samba,
<a href=http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/>and so
on</a>. Toybox itself exists because somebody with in a legacy position
just wouldn't shut up about GPLv3, otherwise its maintainer would probably
still happily be maintaining BusyBox. (For more on how said maintainer wound
up working on busybox in the first place,
<a href=http://landley.net/aboriginal/history.html>see here</a>.)</p>

<!--#include file="footer.html" -->