From e258af3efa2a89b80cbe330a300ffedcc2aed707 Mon Sep 17 00:00:00 2001
From: Rob Landley The goal of the Toybox project is to create simple implementations of all
+the important Linux command line utilities. These implementations should
+be small (the entire project should total less than a megabyte, uncompressed),
+fast, simple, and correctly implemented (which is related to standards
+compliance, but isn't quite the same thing). Click for
+more about the design goals Toybox has configurable levels of functionality, and should scale from tiny
+embedded systems up to full general purpose desktop and development
+environments. The author plans to run it on his laptop, and the
+Firmware Linux project is trying to get a complete
+Linux system to rebuild itself from source code using toybox. Toybox is Licensed under GPL version 2. Toybox can be built as a single "swiss army knife" executable (ala BusyBox
+or Red Hat's Nash), or each command can be built as a traditional independent
+executable. The current list of commands implemented by toybox is at the top of the
+news pageWhat is ToyBox?
+
+What commands are implemented?
+
+
In general, configuring toybox for "defconfig" enables all the commands +compete enough to be useful. Configuring "allyesconfig" enables partially +implemented commands as well.
+ +The following commands are incomplete, but demonstrate some basic +functionality: bzcat/bunzip2, help, mke2fs, sh/toysh, mdev.
+ +The following are partially implemented commands that don't actually do +anything yet: mke2fs.
+ + +The Toybox Shell (toysh) aims to be a reasonable bash replacement. It +implements the "sh" and "toysh" commands, plus the built-in commands "cd" and +"exit". This is the largest single sub-project in toybox.
+ +The following additional commands may be built into the shell (but not as +separate executables): cd, exit, if, while, for, function, fg, bg, jobs, source, +alias, +export, set, unset, read, trap, and exec. (Note: not done yet.)
+ + + +The toybox todo list mentions many potential commands +which may be added to this project. (Whether that file is readable by anybody +but the project's maintainer is open to debate.)
+ +The criteria for a toybox 1.0 release is that a system built from just the +Linux kernel, toybox, uClibc, and a compiler (such as tinycc) can rebuild +itself from source code.
+ +Most commands are implemented according to +The +Single Unix Specification version 3 where applicable. This does not mean +that Toybox is implementing every SUSv3 utility: some such as SCCS and ed are +obsolete, while others such as c99 are outside the scope of the project. +Toybox also isn't implementing full internationalization support: it should be +8-bit clean and handle UTF-8, but otherwise we leave this to X11 and higher +layers. And some things (like $CDPATH support in "cd") await a good +explanation of why to bother with them. (The standard provides an important +frame of reference, but is not infallable set of commandments to be blindly +obeyed.)
+ +The other major sources of commands are the Linux man pages, and testing +the behavior of existing commands (although not generally looking at their +source code). SUSv3 does not include many basic commands such as "mount", +"init", and "mke2fs", which are kind of nice to have.
+ +This project is maintained as a mercurial archive. To get a copy of the +current development version, either use mercurial (hg clone +http://landley.net/toybox) or click on one of the zip/gz/bz2 links +at the top of the mercurial archive browser page to get +an archive of the appropriate version. Click +tags to see all the tagged release +versions ("tip" is the current development version).
+ +The maintainer's development log and the project's +mailing +list are also good ways to track what's going on with the project.
+ + diff --git a/www/header.html b/www/header.html index 6b714b24..7c883df2 100644 --- a/www/header.html +++ b/www/header.html @@ -3,18 +3,15 @@
-
|
+ toybox+ About
January 2, 2008 - And toybox-0.0.4.tar.bz2 is out. New applets include patch, touch, and sha1sum. - -December 12, 2007 - Updated the list of implemented applications, -put up a todo list and infrastructure -documentation. Expect another release towards the end of the month. - -June 18, 2007 - Put out -toybox-0.0.3.tar.bz2 since it's -been too long since I did something like that. This one implements -catv, count, df, echo, false, oneit, pwd, sleep, sync, toysh, true, which, -and yes (which is what "make defconfig" enables). There are several other -commands not enabled by defconfig, because they don't really work yet. - -Most of the general infrastructure's there now, although lots of tweaking -and optimizing is still needed. The test suite is skeletal and not entirely -checked in yet, but I'm working on that. - -I don't have nearly as much time to work on this as I'd like, but I'm making -a little progress. - -January 31, 2007 - -Screwing up the web page a bit, adding an index bar along the side -which doesn't properly connect up to anything yet. (Busy implementing -mke2fs and gene2fs.) - -Warning: lots of this page is about what I plan to do, not what I've -already done. See my -development blog, or browse the mercurial -archive. - -What is ToyBox?- -The goal of the Toybox project is to create simple implementations of all -the important Linux command line utilities. These implementations should -be small (the entire project should total less than a megabyte, uncompressed), -fast, simple, and correctly implemented (which is related to standards -compliance, but isn't quite the same thing). Click for -more about the design goals - -Toybox has configurable levels of functionality, and should scale from tiny -embedded systems up to full general purpose desktop and development -environments. The author plans to run it on his laptop, and the -Firmware Linux project is trying to get a complete -Linux system to rebuild itself from source code using toybox. - -Toybox is Licensed under GPL version 2. - -Toybox can be built as a single "swiss army knife" executable (ala BusyBox -or Red Hat's Nash), or each command can be built as a traditional independent -executable. - -Which commands are planned?- -Relevant Standards- -Most commands are implemented according to -The -Single Unix Specification version 3. This does not mean that Toybox is -implementing every SUSv3 utility: some such as SCCS and ed are obsolete, while -others such as c99 are outside the scope of the project. Toybox also isn't -implementing full internationalization support: it should be 8-bit clean and -handle UTF-8, but otherwise we leave this to X11 and higher layers. And -some things (like $CDPATH support in "cd") await a good explanation of why -to bother with them. - -The other major sources of commands are the Linux man pages, and testing -the behavior of existing commands (although not generally looking at their -source code). - -What commands are implemented?- -The following commands are currently implemented: basename, catv, chroot, -count, df, dirname, dmesg, echo, false, hello, mkfifo, oneit, pwd, sha1sum, -sleep, sync, true, tty, which, yes. - -The following commands are partly implemented, in a somewhat usable but not -necessarily complete state: bzcat/bunzip2, help, mke2fs, netcat/nc, sh/toysh, -mdev, touch, readlink. - -The following are partially implemented commands that don't actually do -anything yet: mke2fs, md5sum. - -For more information, see the todo list. - -Command Shell-The Toybox Shell (toysh) aims to be a reasonable bash replacement. It -implements the "sh" and "toysh" commands, plus the built-in commands "cd" and -"exit". This is the largest single sub-project in toybox. - -The following additional commands may be built into the shell (but not as -separate executables): cd, exit, if, while, for, function, fg, bg, jobs, source, -alias, -export, set, unset, read, trap, and exec. (Note: not done yet.) - -Download- -This project is maintained as a mercurial archive. To get a copy of the -current development version, either use mercurial (hg clone -http://landley.net/toybox) or click on one of the zip/gz/bz2 links -at the top of the mercurial archive browser page to get -an archive of the appropriate version. Click -tags to the tagged release versions ("tip" -is the current development version). - - -My development log is currently the best way to -track what's going on with this project. There's also a -mailing list for toybox development. - - diff --git a/www/index.html b/www/index.html new file mode 120000 index 00000000..0def2f13 --- /dev/null +++ b/www/index.html @@ -0,0 +1 @@ +news.html \ No newline at end of file diff --git a/www/license.html b/www/license.html index 547adeab..8dcd3074 100755 --- a/www/license.html +++ b/www/license.html @@ -3,10 +3,11 @@Toybox is licensed under the terms of GPLv2.The complete text of the General Public License version 2 is included in the -file LICENSE in each source tarball, and again at the end of this page. -Version 2 is the only version of this license which toybox is distributed -under. (I.E. It doesn't have the strange "or later" dual license some projects -have.) +file LICENSE in each source tarball. Version 2 is the only version of this +license which toybox is distributed under. (I.E. It doesn't have the strange +"or later" dual license some projects have.) + +The complete text of GPLv2 is at the end of this page. Clarifications@@ -22,7 +23,7 @@ interpreting the sucker where it says something stupid.Section 1: You have permission to rephrase the license notice on individual source files. This doesn't mean you can change what license the code is under, or that you can remove other people's copyright notices. You -certainly can't change the test of the GPL itself. What it means is that if +certainly can't change the text of the GPL itself. What it means is that if a file says "see file LICENSE in this tarball for details" and you use this code in a project that distributes source in zip files instead of tarballs, or your package's copy of the GPLv2 text isn't in a file called @@ -31,15 +32,15 @@ kind of "correction" after the old notice. Some lawyers seem to think a strict reading of GPLv2 section 1 (and later sections including section 1 by reference) requires maintaining old notices in -perpetuity. Even if you had code that used to be dual licensed, but created -a derived work that's just under one of the two licenses, and the old license -notice is not just strange or misleading but actually incorrect for the new -file. (For example, splicing GPLv2 only code into a dual "GPLv2 or later" -project produces a result that can be distributed under the terms of GPLv2, -but not GPLv3. The result cannot be distributed under the "or later" part, -so a license notice saying it could is factually wrong.) - -I don't know if we're ever going to put any dual licensed code into the tree, +perpetuity. Even if you had code that used to be dual licensed, but you created +a derived work that's just under one of the two licenses, and thus keeping the +old license notice is not just strange or misleading but actually incorrect for +the new file. (For example, splicing GPLv2 only code into a dual "GPLv2 or +later" project produces a result that can be distributed under the terms of +GPLv2, but not GPLv3. The result of that cannot be distributed under the "or +later" part, so a license notice implying it could is factually wrong.) + +I don't know if we're ever going to add any dual licensed code into the tree, but I want to head that one off now. The actual license text is the important thing, the per-file notice is a courtesy. @@ -57,9 +58,14 @@ binaries, life is good as far as we're concerned. (No, you can't encrypt it, or require a login, or otherwise be slimy bastards acting in bad faith. We'll come after you if you're not satisfying the terms of the license, this is just talking about how you can satisfy those terms without having to mail physical -media. Most people are already doing it this way.) +media circa 1991. Most people are already doing it this way, we're just +being explicit about it.) + +If you're wondering why this particular clarification exists, +there's a longer explanation. -Also, what the FSF did to Mepis was inexcusable. (Further discussed + The reason for this section is that +what the FSF did to Mepis was inexcusable. (Further discussed in this thread.) Mepis partnered with Ubuntu, put out a press release quoting Ubuntu's founder about how cool the partnership was, and then pointed to @@ -85,18 +91,17 @@ hook and have to find a new location or put up your own mirror. And obviously it has to be the _right_ source code (if you modified it, we want the patch, and claiming you didn't modify it when you actually did is fraud). -This is not a "get out of jail free" card: It's still your responsibility to -make the source available. We're just saying you can reasonably delegate to -something like Sourceforge or ibilbio and as long as everyone who wants the -source can get it, we're happy. If the site you point to objects or goes down, -responsibility obviously reverts to you. - -But if this project needs mirrors, we'll _ask_. (Most likely we'll ask -someone like sourceforge, OSL, ISC, ibiblio, archive.org...) - -Section 9: Does not apply to this project. We're specifying the -version, it's version 2. There is no "or later versions" clause to require -interpreting. + So this is not a "get out of jail free" card: It's still your responsibility +to make the complete corresponding source available. We're just saying you can +reasonably delegate to something like Sourceforge or ibilbio, and as long as +everyone who wants the source can get it, we're happy. If the site you point +to objects or goes down, responsibility obviously reverts to you. But if this +project needs mirrors, we'll _ask_. (Most likely we'll ask someone like +sourceforge, OSL, ISC, ibiblio, archive.org...) + +Finally, section 9 does not apply to this project. We're specifying +a specific version, it's version 2. There is no "or later versions" clause to +require interpreting, so none of that triggers for us. diff --git a/www/licenserant.html b/www/licenserant.html new file mode 100755 index 00000000..e3c0a927 --- /dev/null +++ b/www/licenserant.html @@ -0,0 +1,54 @@ + + + |