Harman Patil (Editor)

Toybox

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
Robert Landley

Operating system
  
Unix-like

Written in
  
C

Developer(s)
  
Robert Landley and others

Stable release
  
0.7.3 / February 21, 2017; 37 days ago (2017-02-21)

Toybox is an implementation of some Linux command line utilities. These include ls, cp, mv, and about 150 others. The Toybox project was started in 2006, and became a BSD-licensed BusyBox alternative. Toybox is included with Android 6.0 "Marshmallow" and all later Android versions, and is also available for installation on certain other operating systems.

Contents

Functionality and aim

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 is POSIX-2008 and LSB 4.1 compatible, and doesn't focus on having every option found in GNU counterparts.

Toybox is licensed using the permissive BSD license, where BusyBox uses the copyleft GNU General Public License, which lead 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). Feature-wise Toybox has not reached parity with Busybox, Toybox offers currently only a subset of the Busybox functionality.

History

In early 2006 Toybox was started 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. At the end of 2011, Tim Bird, a Sony employee suggested to create an alternative to BusyBox which would not be under the GNU General Public License. Rob Landley followed the request and suggested instead to base this library on the dormant Toybox. He re-licensed ToyBox from the GNU General Public License to the BSD License, and took up the Toybox development again.

At the end of 2014 Toybox was integrated into the Android 6.x (Android Marshmallow) development branches.

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. The starter of BusyBox based lawsuits, Rob Landley, responded this was intentional as he came to the conclusion that the lawsuits resulted not in the hope for positive outcomes and he wants to stop them "in whatever way I see fit".

Project progress

The official Toybox documentation lists an overview of the available, partially available and the missing commands. According to the roadmap to version 1.0, approx. 50% of the projects implementation goals are achieved.

References

Toybox Wikipedia