annotate www/about.html @ 1572:da1bf31ed322 draft

Tweak the "ignoring return value" fortify workaround for readlinkat. We zero the buffer and if the link read fails that's left alone, so it's ok for the symlink not to be there. Unfortunately, typecasting the return value to (void) doesn't shut up gcc, and having an if(); with the semicolon on the same line doesn't shut up llvm. (The semicolon on a new line would, but C does not have significant whitespace and I'm not going to humor llvm if it plans to start.) So far, empty curly brackets consistently get the warning to shut up.
author Rob Landley <rob@landley.net>
date Mon, 24 Nov 2014 17:23:23 -0600
parents 24d21baf52a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1180
94eb7b9127d2 Change header and pages so each page has its own title.
Rob Landley <rob@landley.net>
parents: 927
diff changeset
1 <html><head><title>What is toybox?</title>
365
8f0b24cc7cd7 Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents: 360
diff changeset
2 <!--#include file="header.html" -->
8f0b24cc7cd7 Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents: 360
diff changeset
3
1491
24d21baf52a3 Capitalize "toybox" more consistently on the about page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
4 <h2><a name="what" />What is toybox?</h2>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
5
927
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
6 <p>Toybox combines the most common Linux command line utilities together into
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
7 a single <a href=license.html>BSD-licensed</a> executable. It's simple, small, fast, and reasonably
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
8 standards-compliant (<a href=http://opengroup.org/onlinepubs/9699919799>POSIX-2008</a> and <a href=http://refspecs.linuxfoundation.org/LSB_4.1.0>LSB 4.1</a>).</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
9
927
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
10 <p>Toybox's 1.0 release goal is to turn generic Android into a
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
11 development environment capable of compiling <a href=http://www.linuxfromscratch.org>Linux From Scratch</a>.
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
12 A tiny system <a href=/aboriginal>built from</a> just toybox, linux, <a href=http://musl-libc.org>a C library</a>, and a C compiler (such as LLVM or
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
13 gcc 4.2.1+binutils 2.17) should be
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
14 able to rebuild itself from source code without needing any other packages.</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
15
1491
24d21baf52a3 Capitalize "toybox" more consistently on the about page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
16 <b><h2><a name="status" />What commands are implemented in toybox?</h2></b>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
17
652
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
18 <p>The current list of commands implemented by toybox is on the
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
19 <a href=status.html>status page</a>, which is updated each release.
927
56a20120a34f Misc website updates.
Rob Landley <rob@landley.net>
parents: 896
diff changeset
20 There is also <a href=roadmap.html>roadmap</a> listing all planned commands for the
652
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
21 1.0 release.</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
22
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
23 <p>In general, configuring toybox for "defconfig" enables all the commands
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
24 compete enough to be useful. Configuring "allyesconfig" enables partially
652
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
25 implemented commands as well, along with debugging features.</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
26
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
27 <p>Several toybox commands can do things other vesions can't. For example
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
28 the toybox "df" isn't confused by initramfs the way other df implementations
652
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
29 are. (If initramfs is visible, df shows it like any other mount point.)</p>
230
5c03ba9e3924 Web page tweak.
Rob Landley <rob@landley.net>
parents: 228
diff changeset
30
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
31 <b><h3>Command Shell</h3></b>
1491
24d21baf52a3 Capitalize "toybox" more consistently on the about page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
32 <p>The toybox shell (toysh) aims to be a reasonable bash replacement. It
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
33 implements the "sh" and "toysh" commands, plus the built-in commands "cd" and
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
34 "exit". This is the largest single sub-project in toybox.</p>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
35
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
36 <p>The following additional commands may be built into the shell (but not as
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
37 separate executables): cd, exit, if, while, for, function, fg, bg, jobs, source,
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
38 <a href="http://opengroup.org/onlinepubs/9699919799/utilities/alias.html">alias</a>,
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
39 export, set, unset, read, trap, and exec. (Note: not done yet.)</p>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
40
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
41 </ul>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
42
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
43 <h2><a name="commands" />Which commands are planned?</h2>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
44
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
45 <p>The toybox <a href=todo.txt>todo list</a> mentions many potential commands
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
46 which may be added to this project. (Whether that file is readable by anybody
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
47 but the project's maintainer is open to debate.) The roadmap wiki in the
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
48 nav bar has a more human readable version.</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
49
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
50 <p>The criteria for a toybox 1.0 release is that a system built from just the
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
51 Linux kernel, toybox, C library (such as uClibc), and a compiler (such as
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
52 tinycc) can rebuild itself from source code.</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
53
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
54 <b><h3>Relevant Standards</h3></b>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
55
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
56 <p>Most commands are implemented according to
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
57 <a href=http://opengroup.org/onlinepubs/9699919799/idx/utilities.html>The
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 652
diff changeset
58 Single Unix Specification version 4</a> where applicable. This does not mean
1491
24d21baf52a3 Capitalize "toybox" more consistently on the about page.
Rob Landley <rob@landley.net>
parents: 1180
diff changeset
59 that toybox is implementing every SUSv4 utility: some such as SCCS and ed are
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
60 obsolete, while others such as c99 are outside the scope of the project.
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
61 Toybox also isn't implementing full internationalization support: it should be
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
62 8-bit clean and handle UTF-8, but otherwise we leave this to X11 and higher
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 652
diff changeset
63 layers. And some things (like $CDPATH support in "cd") await a good
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 652
diff changeset
64 explanation of why to bother with them. (The standard provides an important
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
65 frame of reference, but is not infallable set of commandments to be blindly
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
66 obeyed.)</p>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
67
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
68 <p>The other major sources of commands are the Linux man pages, and testing
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
69 the behavior of existing commands (although not generally looking at their
805
0db28494d17d Accumulated web page changes. (Release announcement for previous release, roadmap updates, etc.)
Rob Landley <rob@landley.net>
parents: 652
diff changeset
70 source code), including the commands in Android's toolbox. SUSv4 does not
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
71 include many basic commands such as "mount", "init", and "mke2fs", which are
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
72 kind of nice to have.</p>
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
73
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
74 <b><h2><a name="downloads" />Download</h2></b>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
75
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
76 <p>This project is maintained as a mercurial archive. To get a copy of the
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
77 current development version, either use mercurial (hg clone
425
312b8acb65aa Fix bad link that was confusing people. (Oops.)
Rob Landley <rob@landley.net>
parents: 410
diff changeset
78 http://landley.net/hg/toybox) or click on one of the zip/gz/bz2 links
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
79 at the top of the <a href=/hg/toybox>mercurial archive browser</a> page to get
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
80 an archive of the appropriate version. Click
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
81 <a href="/hg/toybox?cmd=tags">tags</a> to see all the tagged release
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
82 versions ("tip" is the current development version).</p>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
83
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
84 <p>The maintainer's <a href=/notes.html>development log</a> and the project's
410
3d87f15f4c60 Add wiki link and make about less stale.
Rob Landley <rob@landley.net>
parents: 385
diff changeset
85 <a href=http://lists.landley.net/listinfo.cgi/toybox-landley.net>mailing
226
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
86 list</a> are also good ways to track what's going on with the project.</p>
6aac63925eff Update web pages.
Rob Landley <rob@landley.net>
parents:
diff changeset
87
652
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
88 <!--
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
89 <b><h2><a name="why">Why do toybox?</h2></b>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
90
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
91 <p>Because smart phones are replacing the PC, and Android must become
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
92 self-hosting to beat the iPhone in establishing the new standard.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
93
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
94 <p>This is the third such major transition in computer history:
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
95 (mainframe-&gt;minicomputer-&gt;microcomputer-&gt;smartphone).
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
96 The mainframe was replaced by the minicomputer, which was replaced by
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
97 the microcomputer (renamed the "personal" computer to make clear you could
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
98 access porn through it), which is being replaced by the smartphone. Nobody
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
99 needed to wait for printouts from a big computer in another building when they
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
100 could use a little one down the hall. Then nobody needed the big computer
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
101 down the hall when they had a little one on their desk. Now nobody needs the
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
102 big computer on their desk when they have a little one in their pocket.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
103
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
104 <p>The new platform displaces the old when it becomes natively self hosting.
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
105 Often they leverage existing technology: just as early microcmputers used
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
106 teletypes and televisions for output, phones can use
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
107 <a href=http://us.toshiba.com/accessory/PA3575U-1PRP>USB docking stations</a>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
108 to access a bigger screen, mouse, keyboard, speakers, etc. Plugging a phone into
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
109 USB even charges the battery. But to use the phone as a development
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
110 workstation, it needs more software, such as a Posix command line, a native
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
111 compiler, and drivers for the USB peripherals.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
112
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
113 <p>The new platform also eventually weans itself off of its dominant language.
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
114 Dalvik is to Android what ROM Basic was to the PC: something it must
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
115 eventually outgrow. Thus toybox is native C code, not Java.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
116
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
117 <b><h3>So why aren't self-hosting smartphones attracting more attention?</h3></b>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
118
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
119 <p>Because most people are focusing on the legacy platforms, not on the new
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
120 stuff. Existing multi-billion dollar industries are getting evicted from their
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
121 decades-old established niche, and are trying to spin the transition as an
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
122 opportunity instead of a forced march onto reservations. When elephants run
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
123 from mice, it's easier to notice the elephants.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
124
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
125 <p>History's our guide here: the previous technology always gets kicked up into
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
126 the "server space", moving from "the thing you stood in front of waiting for
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
127 your printout" to "that thing you sometimes accessed remotely via the new
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
128 computer". This time around they're calling it "the cloud" and pretending it's
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
129 a big deal; it's really just a beowulf cluster with a layer of
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
130 virtualization/containerization software implementing hotplug hardware and
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
131 live migration to provide cheap
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
132 commodity processing power that dominant players (like amazon) literally
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
133 give away for free. These old machines become secondary, only
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
134 accessed through the new machines users now directly interact with.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
135
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
136 <p>Since there's only one server space, the mainframe ate the minicomputer in
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
137 the 1980's (when DEC went under), and this time around "the cloud" seems to be
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
138 eating the mainframe (IBM ain't happy). The inevitable consolidation leads
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
139 to drama, but doesn't mean much in the long run.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
140
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
141 <p><a href=http://landley.net/notes-2012.html#12-07-2012>For more
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
142 on this topic...</a></p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
143
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
144 <b><h3><a name="why_android">Why is Android important?</h2></b>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
145
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
146 <p>Major hardware transitions introduce
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
147 <a href=http://landley.net/notes-2011.html#26-06-2011>new software
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
148 standards</a> which are extremely sticky once
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
149 established, due to network effects.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
150
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
151 <p>Last time around, the PC was stuck with
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
152 a proprietary operating system (DOS/Windows) which is still dominant on that
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
153 hardware platform's descendants 30 years later. This time around, the choice
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
154 is between Android (a Linux derivative) and iPhone (a closed BSD fork ala
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
155 SunOS, put out by a company already engaged in multiple aggressive IP lawsuits).
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
156 The main difference between Apple and Microsoft is that Apple is competent.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
157
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
158 <p>And yes, it has to be Android, it won't be vanilla Linux any time soon,
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
159 for three reasons. 1) <a href=http://landley.net/notes-2010.html#13-08-2010>Open
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
160 Source can't do user interfaces</a> for about the same reason wikipedia can't
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
161 write a novel, 2) it's too late to the
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
162 party (a 5 year headstart is forever in computers), 3) preinstalls matter
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
163 (GPLv3 spooked all the hardware vendors, Android has a "no GPL in
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
164 userspace" policy which is rigidly enforced).</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
165
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
166 <p>And "any time soon" is important: attempting to displace an existing
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
167 entrenched de-facto standard is what linux has spent the last 20
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
168 years trying (and failing) to do on the desktop. Spending another 20
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
169 years fighting for less than 1% of the phone market would just be sad.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
170
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
171 <b><h3><a name="how_google">How is Google less evil than Apple?</h3></b>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
172
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
173 <p>Because Android isn't Google's core business, attaching advertising to large
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
174 scale data searches is. Android and Chrome and such are Google's way of
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
175 "commoditizing their co-factors" to drive down the price of ingredients
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
176 to their core business.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
177
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
178 <p>Thus Google is pursuing a commodity market and encouring as many vendors as
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
179 possible to participate, not to control the new space but to hold it open,
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
180 so that its search products are widely available without requiring the
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
181 permission of some other monopoly gatekeeper. Apple is attemping to corner the
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
182 smartphone market and extract monopoly rents, excluding all
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
183 vendors except itself.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
184
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
185 <p>So if Google wins we get a commodity market in smartphone/tablet software,
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
186 and may be able to open it further in future. If Apple wins we get a proprietary
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
187 smartphone/tablet OS with a single monopoly vendor, which is likely to close it
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
188 further.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
189
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
190 <b><h3>Why not just use BusyBox?</h3></b>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
191
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
192 <p>Android can't. Busybox predates android
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
193 by many years; if they were ever going to ship it they'd have done so by
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
194 now. Android has had a "No GPL in Userspace" policy ever since GPLv3
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
195 came out (before the first Android phone shipped), and they mean it.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
196
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
197 <p>Toybox also has a better design and simpler code. I did both
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
198 and this is the one I enjoy banging on; I tried to contribute a few things
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
199 to busybox and it was like crawling through a thornbush of #ifdefs. Busybox
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
200 development is just no fun anymore.</p>
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
201
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
202 -->
2d7c56913fda Some dubious asides, currently commented out.
Rob Landley <rob@landley.net>
parents: 425
diff changeset
203
360
f7780b485e6f Remove header/footer includes to prepare for css instead.
Rob Landley <rob@landley.net>
parents: 230
diff changeset
204 <b><h2><a name="toycans" />What's the toybox logo image?</h2></b>
227
60cfaaeb4c4e More web page tweaks.
Rob Landley <rob@landley.net>
parents: 226
diff changeset
205
60cfaaeb4c4e More web page tweaks.
Rob Landley <rob@landley.net>
parents: 226
diff changeset
206 <p>It's <a href=toycans-big.jpg>carefully stacked soda cans</a>. Specifically,
60cfaaeb4c4e More web page tweaks.
Rob Landley <rob@landley.net>
parents: 226
diff changeset
207 it's a bunch of the original "Coke Zero" and "Pepsi One" cans, circa 2006,
228
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
208 stacked to spell out the binary values of the ascii string "Toybox", with
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
209 null terminator at the bottom. (The big picture's on it's side because
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
210 the camera was held sideways to get a better shot.)</p>
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
211
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
212 <p>No, it's not photoshopped, I actually had these cans until a coworker
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
213 who Totally Did Not Get It <sup><font size=-3><a href=http://www.timesys.com>tm</a></font></sup> threw them out one day after I'd gone home,
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
214 thinking they were recycling. (I still have two of each kind, but
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
215 Pepsi One seems discontinued and Coke Zero switched its can color
90f763207f56 Fluffier web page.
Rob Landley <rob@landley.net>
parents: 227
diff changeset
216 from black to grey, presumably in celebration. It was fun while it lasted...)</p>
365
8f0b24cc7cd7 Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents: 360
diff changeset
217
8f0b24cc7cd7 Minor web page updates (put header/footer back, add a few <hr> tags).
Rob Landley <rob@landley.net>
parents: 360
diff changeset
218 <!--#include file="footer.html" -->