Logo es.androidermagazine.com
Logo es.androidermagazine.com

¿Qué es código abierto?

Anonim

¿Qué es código abierto? El software de código abierto es un software que hace que el código fuente esté disponible gratuitamente, para que cualquiera pueda verlo y usarlo. Las empresas, los individuos, las universidades y muchas otras entidades crean proyectos completos y usan una licencia de código abierto, luego entregan el código a cualquiera que quiera usarlo. La licencia utilizada determina cómo otras personas que usan este código comparten sus modificaciones.

Existen diferentes licencias de código abierto que tienen diferentes condiciones de uso, desde la GPL (GNU General Public License), que permite la "distribución gratuita bajo la condición de que otros desarrollos y aplicaciones estén bajo la misma licencia", a licencias más liberales como la Licencia de Apache, que no requiere modificaciones para estar abierto y tener el código fuente disponible. Android usa ambas licencias, y las veremos a su vez.

El kernel de Linux que se usa en Android está cubierto por la GPL. Esto significa que cualquier cambio realizado en el código fuente debe estar disponible cuando se lanza al público un binario (geek-speak para un software compilado y ejecutable). Esto significa que fabricantes como HTC, Samsung, Motorola y el resto deben liberar el código fuente del kernel para cualquier dispositivo que vendan al mismo tiempo que comienzan a venderlos. Por supuesto, esto rara vez sucede y terminamos esperando que un equipo elimine notas, comentarios de origen y otras cosas útiles antes de que llegue a nosotros. Estos son los lanzamientos de código que verá mencionados en Internet, y consisten en la fuente del núcleo y otros "bits" de código abierto que están cubiertos por la GPL.

El código fuente para Android se publica principalmente bajo la licencia Apache. Cualquier persona puede descargar el código fuente y cambiarlo como quiera, pero no está obligado a hacer públicos sus cambios en forma de código fuente. Es por eso que no podemos modificar fácilmente Touchwiz de Samsung (por ejemplo): los cambios que hicieron en el código fuente de Android base no están disponibles para nosotros. Si bien a muchas personas (incluido yo mismo) no les gusta mucho esta situación, tiene sentido desde el punto de vista comercial. Si los fabricantes tuvieran que compartir todos sus secretos, no habría tantos incentivos monetarios para innovar, por lo que la fuente se ofreció con una licencia mucho más liberal. Ciertamente funcionó, ya que vemos dispositivos de muchos jugadores importantes en el mundo de la electrónica.

El otro producto de consumo importante de Google, Chrome OS, está escrito desde la fuente Chromium. Las partes escritas en Google de Chromium son de código abierto, bajo la licencia BSD. Otros contribuyentes usan varias licencias de código abierto como la licencia MIT o la GPL.

Una cosa importante para recordar aquí es que Android y Chromium son de código abierto, pero los sistemas operativos utilizados para dispositivos Nexus y Chromebooks no lo son. Se crean a partir de proyectos de código abierto, pero pueden contener partes patentadas para mejorar el software de cada dispositivo en particular. Para los teléfonos Nexus, estos bits patentados se lanzan en el sitio para desarrolladores de Android y están listos para integrarse en cualquier cosa que pueda construir desde el AOSP para obtener la misma experiencia. Las Chromebooks se ejecutarán en una versión completamente abierta de Chromium, pero no tendrán algunas API de Google cerradas o los códecs de audio y video de la suite completa.

Google también lanza aplicaciones que no tienen licencia de código abierto. Gmail, Maps y muchas otras aplicaciones de Google que vienen en nuestros teléfonos no son parte del AOSP, y se desarrollan de forma independiente para Android, Chrome, iOS y la web. Cuando escuchas las disputas de Internet acerca de que Android no está "abierto", esto es de lo que están hablando. Android, y todo lo que se requiere para instalar y ejecutar aplicaciones de Android es completamente de código abierto, pero las aplicaciones populares que lo hacen mejor no lo son. No es probable que esto cambie.