Toybox es una implementación de software libre y de código abierto de algunas utilidades de línea de comandos de Unix para dispositivos integrados. Estos incluyen ls, cp, mv y unos 150 más. El proyecto Toybox se inició en 2006,[1] y se convirtió en una alternativa de BusyBox con licencia BSD.[2][3] Toybox se incluye con Android 6.0 "Marshmallow"[4] y todas las versiones posteriores de Android (es decir, en todas las versiones de Android compatibles actualmente), y también está disponible para la instalación en otros sistemas operativos.
Funcionalidad y objetivos
Toybox tiene como objetivo proporcionar un reemplazo con licencia BSD para la BusyBox con licencia GPL.[5] Los principales objetivos técnicos de diseño de Toybox son la simplicidad, la pequeñez, la velocidad y el cumplimiento de los estándares.[6] Toybox es compatible con POSIX-2008 y LSB 4.1,[1] y no se enfoca en tener todas las opciones encontradas en las contrapartes de GNU.
Toybox se publica bajo la licencia BSD permisiva, mientras que BusyBox usa la licencia pública general GNU, que conduce a diferentes dominios de uso. Busybox se usa principalmente en el dominio FOSS con copyleft, mientras que Toybox se usa principalmente con proyectos con licencia permisiva y por compañías comerciales, por ejemplo Android de Google,[7] que es un objetivo explícito de Toybox.[8] En cuanto a las características, Toybox no ha alcanzado la paridad con Busybox. A partir de la versión 0.7.7, Toybox ofrece sólo un subconjunto de la funcionalidad de Busybox.[9]
Historia
A principios de 2006, el proyecto Toybox fue iniciado por Rob Landley[1][3] después de que terminó su mantenimiento de BusyBox debido a una disputa con Bruce Perens, el creador original de BusyBox.[10] En 2008 el proyecto quedó inactivo.[2] A fines de 2011, Tim Bird, un empleado de Sony, sugirió crear una alternativa a BusyBox que no estaría bajo la Licencia Pública General de GNU.[5] Rob Landley siguió la solicitud y sugirió, en cambio, basar esta biblioteca en el Toybox inactivo. El código del proyecto Toybox fue relicenciado desde la Licencia Pública General de GNU a la Licencia BSD de 2 cláusulas,[11][12] y retomó el desarrollo de Toybox. En marzo de 2013, el proyecto recibió una licencia BSD con una cláusula 0 aún más permisiva, una variante de licencia equivalente de dominio público.[13]
A fines de 2014, Toybox se integró en las ramas de desarrollo "Marshmallow" de Android 6.0.x.[4][7][14]
Controversia
En enero de 2012, la propuesta de crear una alternativa al proyecto BusyBox con licencia BSD provocó duras críticas de Matthew Garrett por quitar la única herramienta relevante para hacer cumplir los derechos de autor del grupo Software Freedom Conservancy.[15] Rob Landley, quien había iniciado las demandas basadas en BusyBox, respondió que esto era intencional, explicando que las demandas no habían beneficiado al proyecto, pero que habían llevado a la evasión corporativa, expresando el deseo de detener las demandas "en la forma que considere más adecuada".[16][17][18]
Progreso del proyecto
La documentación oficial de Toybox muestra una descripción general de los comandos disponibles, parcialmente disponibles y faltantes. Según la hoja de ruta a la versión 1.0, aprox. El 50% de los objetivos de implementación del proyecto se lograron en 2015.[19][20][21]
Lista de comandos de Toybox
Véase también
Referencias
- ↑ a b c Landley, Robert. «What is ToyBox?». Toybox project website. Consultado el 13 de julio de 2012.
- ↑ a b Dj Walker-Morgan. «Inside the ToyBox: An interview with Rob Landley». Consultado el 13 de julio de 2012.
- ↑ a b Varghese, Sam (1 de febrero de 2012). «BusyBox replacement project fuels animated verbal spat». IT Wire. Archivado desde el original el 28 de septiembre de 2019. Consultado el 12 de mayo de 2013.
- ↑ a b Android gets a toybox on lwn.net by Jake Edge (January 14, 2015)
- ↑ a b «Busybox replacement project». 11 de enero de 2012. Consultado el 4 de marzo de 2014.
- ↑ Landley, Robert. «Design Docs». Toybox project website. Consultado el 18 de febrero de 2015. «Toybox combines the most common Linux command line utilities together into a single BSD-licensed executable. It's simple, small, fast, and reasonably standards-compliant (POSIX-2008 and LSB 4.1).».
- ↑ a b toybox on android.googlesource.com (2014-12-28)
- ↑ celf-2015.txt by Rob Landley (2015)
- ↑ Landley, Robert. «Status of toybox 0.7.7». Toybox project website. Consultado el 13 de octubre de 2018.
- ↑ .
- ↑ Toybox relaunch on toybox.landley.narkive.com (2011-11-20)
- ↑ Switch to 2-clause BSD license (with caveat about scripts directory). 0.2.0 by landley on 15 Nov 2011
- ↑ Simplify license text, as mentioned on the mailing list. by Landley (14 Mar 2013)
- ↑ Issue 76861: Importing parts of Toybox into Android, including dos2unix, unix2dos, sort, uniq, and usleep
- ↑ «Garrett: The ongoing fight against GPL enforcement». LWN.net. 31 de enero de 2012. Consultado el 4 de marzo de 2014. «The real problem here is that the [Software Freedom Conservancy's] reliance on Busybox means that they're only able to target infringers who use that Busybox code. No significant kernel copyright holders have so far offered to allow the SFC to enforce their copyrights, with the result that enforcement action will grind to a halt as vendors move over to this Busybox replacement.».
- ↑ «Garrett: The ongoing fight against GPL enforcement». LWN.net. 31 de enero de 2012. Consultado el 4 de marzo de 2014. «>As the ex-maintainer of busybox who STARTED those lawsuits in the first place and now HUGELY REGRETS ever having done so, I think I'm entitled to stop the lawsuits in whatever way I see fit. They never resulted in a single line of code added to the busybox repository. They HAVE resulted in more than one company exiting Linux development entirely and switching to non-Linux operating systems for their embedded products, and they're a big part of the reason behind Android's "No GPL in userspace" policy.».
- ↑ Proffitt, Brian (2 de febrero de 2012). «GPL enforcement sparks community flames - Throwing the GPL baby out with the enforcement bath water?». ITworld. Consultado el 4 de marzo de 2015.
- ↑ Landley, Rob. «Embedded Linux Conference 2013 - Toybox: Writing a New Command Line» (video). The Linux Foundation. Consultado el 24 de junio de 2016.
- ↑ Toybox Help
- ↑ «How are we doing on implementing stuff so far?». Consultado el 17 de marzo de 2015.
- ↑ Toybox Todo List
Enlaces externos