In this article
Explicación de la licencia Apache 2.0
¿Qué es la licencia Apache 2.0?
La licencia de software Apache permite reutilizar el código para casi cualquier propósito, incluso como parte de software propietario. Al igual que otras licencias de código abierto, la licencia Apache establece cómo los usuarios finales pueden usar el software en sus propios proyectos. Esta licencia de código abierto, ampliamente utilizada, sigue ganando popularidad como otras licencias permisivas, porque fomenta el uso de software de código abierto en proyectos propietarios.
Permisos y restricciones de la licencia Apache (términos y condiciones)
La licencia Apache permite a los usuarios modificar, distribuir y sublicenciar el código original de código abierto. También permite el uso comercial, ofrece garantías y contempla reclamaciones de patentes. Los términos y condiciones de la licencia no imponen restricciones al código, pero los usuarios finales no pueden responsabilizar a los colaboradores del proyecto de código abierto por ningún motivo.
Al usar la licencia Apache, los desarrolladores deben incluir el aviso de derechos de autor original, una copia del texto de la licencia y, en algunos casos, una copia del archivo de avisos con notas de atribución y una declaración de los cambios importantes realizados al código original. Declarar los cambios importantes en el código es una diferencia clave entre la licencia Apache y otras restricciones de licencias permisivas de software de código abierto.
Historia de la licencia Apache 2.0
En 1995, la licencia Apache original fue una licencia de software de código abierto publicada por la Apache Software Foundation (ASF), antes conocida como Apache Group. La ASF creó la licencia Apache de código abierto para fomentar el uso de componentes de código abierto en todo tipo de aplicaciones.
La primera versión de la licencia Apache casi no se usa hoy en los componentes de software de código abierto. Esto se debe a que la versión 2.0 de la licencia Apache se creó en 2004, cuando la ASF decidió dejar atrás el modelo de la licencia BSD. Esta versión más reciente aclaró algunos conceptos del texto de la licencia, otorgó derechos de patente a los usuarios y eliminó una cláusula publicitaria relacionada con la atribución a Apache. En definitiva, esto brinda a los usuarios finales más libertad para usar el código abierto con fines comerciales.
¿Qué tipo de licencia es Apache 2.0?
La licencia Apache 2.0 es permisiva, lo que significa que impone pocas restricciones al uso del código. Esto es distinto de una licencia copyleft, que exige que el usuario distribuya su código bajo la misma licencia de software. La licencia Apache permite a los usuarios finales modificar partes del código original bajo cualquier licencia, siempre que incluyan la documentación correspondiente que Apache exige en el código redistribuido. Consulta nuestra guía sobre los diferentes tipos de licencias de software que debes conocer.
¿Cuándo deberías usar la licencia Apache?
Los desarrolladores de código abierto deberían elegir la licencia Apache para lanzar rápidamente sus proyectos al mercado y ponerlos en manos de grandes empresas de software que quieran usar componentes de código abierto en aplicaciones comerciales. Como la licencia no exige que las empresas divulguen las modificaciones que hacen al código y les otorga derechos de patente, es ideal para distribuir software de código abierto que podría interesarles a las empresas. El nombre Apache por sí solo puede inspirar confianza en los posibles usuarios, ya que la fundación ha sido una figura destacada del sector durante décadas.
Licencia Apache 2.0 vs. licencia MIT
La licencia Apache y la licencia MIT son bastante similares, pero tienen algunas diferencias importantes. Para empezar, el texto de la licencia Apache 2.0 es mucho más detallado y contiene más terminología legal que la licencia MIT. La licencia MIT busca ser la licencia de código abierto más sencilla y directa para que los desarrolladores distribuyan su software.
Otra diferencia importante es que la licencia Apache exige que los desarrolladores declaren cualquier cambio importante que hagan al código fuente original. No es necesario revelar el código fuente modificado, pero sí indicar que se modificó. Sin embargo, todo código sin modificar debe conservar la licencia Apache.
A diferencia de la licencia MIT, la licencia Apache también permite que el usuario final patente el software de código abierto modificado. Estos derechos de patente son globales, perpetuos, irrevocables y no exclusivos, siempre que la versión modificada no sugiera de ninguna manera que cuenta con el respaldo de Apache. El texto de la licencia Apache deja claro que se otorgan derechos de patente de forma explícita, pero esos derechos son más ambiguos en la licencia MIT.
Licencia Apache vs. AGPL
La licencia GNU Affero General Public License (AGPL) es una versión de GPLv3 creada por la Free Software Foundation (FSF) que busca garantizar derechos copyleft completos para todo el software que la use. Esto contrasta directamente con el enfoque permisivo de las licencias Apache y MIT, que promueven la modificación y redistribución del software de código abierto para cualquier uso, incluidos los fines comerciales.
La principal diferencia entre AGPL y otras licencias copyleft es que cierra una laguna legal para exigir a los desarrolladores que usen la licencia AGPL incluso en software que no se distribuye explícitamente (es decir, que solo se implementa en un servidor backend). Esto hace que la AGPL sea una de las licencias de código abierto más restrictivas disponibles.

Gestión de licencias de código abierto con Snyk
Como la mayoría de los equipos de desarrollo ya usan software de código abierto (OSS), es fundamental que hagan un seguimiento eficaz de sus licencias y políticas de OSS. Por ejemplo, los equipos de desarrollo deben incluir la documentación correspondiente de la licencia Apache en cualquier proyecto de software que use componentes de código abierto distribuidos bajo esa licencia. Esto puede ser difícil de gestionar en decenas de proyectos de software que usan cientos de dependencias de código abierto.
Snyk Open Source puede ayudar a los equipos de desarrollo a hacer un seguimiento de sus licencias de código abierto en todos sus proyectos, independientemente de cuáles usen. Con la aplicación automatizada de políticas y la gestión granular, Snyk puede ayudar a reducir el riesgo de incumplir las licencias de código abierto.

Snyk también ofrece visibilidad sobre las fechas de vencimiento de las licencias y los requisitos de renovación, cuya gestión puede ser complicada para las grandes organizaciones. Gestionar las licencias de forma más eficiente permite a los desarrolladores crear software rápidamente y cumplir las políticas de código abierto.
Simplifica el cumplimiento de licencias
Crea políticas para garantizar fácilmente el cumplimiento de licencias de código abierto a gran escala.