IIRC this was made to solve a licensing issue with busybox (toybox being more permissive) and be included with Android. As a fan of copyleft, initially the idea annoyed me, but I eventually came to the conclusion that if it was the only way to include better tools in a particular OS out of the box, it was probably fine.
I recall busybox being often used for gpl enforcement, so I wonder now how widespread toybox is by various companies hoping to avoid that. Do modern Smart TVs and such use it?
The license page and linked blog posts mentions this: https://landley.net/toybox/license.html
I like the 0BSD license (see my https://xn--gba.st), AWS also uses the semantically equivalent MIT-0 license for code samples, etc.
I believe most smart TVs use Android as the base, so I would think yes.
I think Samsung still use Tizen (still Linux, seems to use Toybox) and LG uses WebOS (Linux again, not sure if it uses Toybox).
Just looked through my TV, webOS uses Busybox.
BusyBox got its name from a collection of toys in one assembly/container:
I wonder if Toybox got its name from the Soundgarden song of the same name or if it was chosen due to the similarity of Busybox's collection of toys.
I really appreciate Toybox for its clean codebase and permissive license, hopefully it reaches feature parity with Busybox in the future. Version 0.8.13 is long overdue.
But what IS it?
Toybox is a clone of Busybox with a less restrictive license.
Toybox is used on Android to implement a number of POSIX.2 utilities.
https://en.wikipedia.org/wiki/BusyBox#Controversy_over_Toybo...
I think... it builds a busybox system based on desired commands (similar to a dockerfile, but using a REPL?). I have to admit that the README is next to useless.
> I think... it builds a busybox system based on desired commands (similar to a dockerfile, but using a REPL?).
I am now very curious how you arrived at this conclusion. Did you make use of any LLM? If so, which model and what prompt did you use?
How would you improve the description in the readme file?
The toybox build produces a multicall binary, a "swiss-army-knife" program
that acts differently depending on the name it was called by (cp, mv, cat...).
Installing toybox adds symlinks for each command name to the $PATH.
See also, for Windows: w64devkit, and the included busybox-w32
Although I love and use w64devkit myself, it seems like you should point people towards the original busybox rather than take two detours through an unrelated toolkit using an unofficial port of it?