Licencia de software
Una licencia de software es un acuerdo legal que define las condiciones bajo las que se puede usar, modificar y distribuir una pieza de software o código de programación. Es una forma de que los desarrolladores de software protejan su propiedad intelectual y especifiquen cómo pueden usar su trabajo otras personas.
Al contrario de lo que se suele pensar, un programa de ordenador no es de uso "libre" por defecto. En la mayoría de países del mundo, el código de programación está protegido por las leyes de derechos de autor, que dan a quien crea el software el derecho exclusivo a controlar cómo se usa. Si ves código sin licencia, no significa que puedas hacer lo que quieras con él. Significa que no puedes hacer nada con él, porque su creador no te ha dado permiso.
Cuando escribes una pieza de código, automáticamente posees sus derechos de autor. Esto significa que tienes derecho a decidir quién puede usarla y en qué condiciones. Si quieres compartir tu código con otras personas, debes especificar las condiciones bajo las que pueden usarlo. Ahí es donde entran las licencias de software.
Cuando consigas un trabajo de programación, probablemente te pedirán que firmes un contrato que especifique quién posee el código que escribas. En la mayoría de casos, el código que escribas se considerará propiedad de tu empresa, no tuya. Esto ocurre porque te pagan por escribir código para ella, y la empresa quiere asegurarse de que posee ese código. Por eso es importante leer con atención tu contrato laboral y entender qué derechos tienes sobre el código que escribas.
Normalmente, el archivo de licencia se llama LICENSE o LICENSE.txt y se coloca en la raíz del repositorio. Hay muchas licencias estándar disponibles, así que no tienes que escribir tu propia licencia. La licencia más popular es la MIT License, que es muy permisiva y permite a otras personas hacer casi cualquier cosa con tu código. Cuando creas un repositorio en GitHub, te preguntará qué licencia quieres usar y creará el archivo de licencia por ti.
Tipos de licencias de software
Hay muchos tipos distintos de licencias de software, cada una con sus propias condiciones. Algunas son muy permisivas y te permiten hacer casi cualquier cosa con el código, mientras que otras son muy restrictivas y limitan lo que puedes hacer. Estos son algunos de los tipos más comunes de licencias de software:
Licencia propietaria: Una licencia propietaria es una licencia de código cerrado que restringe cómo se puede usar, modificar y distribuir el software. El código fuente no está disponible para el público y el software suele venderse a cambio de dinero.
- Son esos enormes contratos de licencia de usuario final (EULA) que tienes que aceptar cuando instalas software en tu ordenador.
- Ejemplos de software con licencias propietarias: Microsoft Windows, Adobe Photoshop, Oracle Database.
Licencia de código abierto: Una licencia de código abierto es un tipo de licencia que permite que cualquiera use, modifique y distribuya libremente el código fuente. El código fuente se pone a disposición del público y cualquiera puede contribuir al desarrollo del software.
-
Licencia permisiva: Una licencia permisiva es un tipo de licencia de código abierto que permite usar, modificar y distribuir el software con muy pocas restricciones. Las licencias permisivas son muy flexibles y te permiten hacer casi cualquier cosa con el código.
- Ejemplos de licencias permisivas: MIT License, BSD License y Apache License.
- Ejemplos de software con licencias permisivas: Python, Node.js, React.
-
Licencia copyleft: Una licencia copyleft es un tipo de licencia de código abierto que exige que cualquier versión modificada del software se publique bajo la misma licencia. Esto garantiza que el software siga siendo de código abierto y que las mejoras realizadas se compartan con la comunidad. Entre los ejemplos de licencias copyleft están la GNU General Public License (GPL) y la Lesser GNU Public License (LGPL).
- Ejemplos de licencias copyleft: GNU GPL, GNU LGPL.
- Ejemplos de software con licencias copyleft: Git, Linux, WordPress, Blender.
Licencia Creative Commons: Una licencia Creative Commons es un conjunto modular y flexible de licencias que permite a los creadores especificar cómo se puede usar, modificar y distribuir su obra. Las licencias Creative Commons se usan a menudo para obras creativas como música, imágenes y vídeos, pero no contienen condiciones específicas sobre la distribución de código fuente.
- Ejemplos de licencias Creative Commons: CC BY, CC BY-SA, CC BY-NC.
- Ejemplos de obras que usan licencias Creative Commons: libros, cómics, juegos, etc.
Puedes encontrar el texto completo de la mayoría de licencias de software en Internet. Si estás usando una biblioteca o framework en tu proyecto, es buena idea leer la licencia para asegurarte de que cumples sus condiciones. Si estás escribiendo tu propio código, puedes elegir la licencia que mejor encaje con tus necesidades y especificar las condiciones bajo las que otras personas pueden usar tu trabajo.
.gitignoregit checkoutgit configgit taggit worktree