Toybox
Collection of Unix tools in single executable file
- 2 min read
- 3 chapters
Related on Lably
Through Free and open-source software and Copyright
Toybox aims to provide a BSD licensed replacement for the GPL licensed BusyBox. Toybox's major technical design goals are simplicity, smallness, speed and standard compliance. Toybox aims to be mostly POSIX-2008 and LSB 4.1 compatible, and does not focus on having every option found in GNU counterparts.
Toybox is licensed using the permissive 0BSD license, where BusyBox uses the copyleft GNU General Public License, which led to different usage domains. BusyBox is mostly used in the copyleft FOSS domain, while Toybox is used mostly with permissive licensed projects and by commercial companies, e.g. Google's Android, which is an explicit target of Toybox.
History
Toybox was started in early 2006 by Rob Landley after he ended his BusyBox maintainership due to a dispute with Bruce Perens, the original creator of BusyBox.
In 2008, the project went dormant until the end of 2011. Rob Landley resumed work on Toybox, starting with relicensing from the GPL-2.0-only license to the BSD-2-Clause license with the goal of superseding the Android command line implementation.
At the beginning of 2012, Sony employee Tim Bird suggested creating a permissively licensed alternative to BusyBox. In March 2013, the project was relicensed to an even more permissive 0BSD license.
At the end of 2014, Toybox was integrated into the Android 6.0.x "Marshmallow" development branches for use on devices. In 2018, a host Toybox prebuilt was added to AOSP to help make the Android build itself more hermetic.
Sign in to keep reading
2 more chapters are free with a Lably account.
Controversy
In January 2012 the proposal of creating a BSD license alternative to the GPL licensed BusyBox project drew harsh criticism from Matthew Garrett for taking away the only relevant tool for copyright enforcement of the Software Freedom Conservancy group. Rob Landley, who had started the BusyBox-based lawsuits, responded that this was intentional, explaining that the lawsuits had not benefited the project but that they had led to corporate avoidance, expressing a desire to stop the lawsuits "in whatever way I see fit".
Project progress
The official Toybox documentation lists an overview of the available, partially available, and missing commands. As of September 2024, Version 0.8.11 achieves approximately 80% of the project's implementation goals targeted for 1.0.

