Modelos de licencia: Open Source vs. propietario
Este artículo es una explicación de conceptos sobre modelos de licencia, con énfasis en Open Source vs. propietario (incluye preguntas de examen y etiquetas para repasar).
Idea fundamental: ¿qué regula una licencia de software?
Una licencia de software establece qué puedes hacer con el software, como usarlo, modificarlo o distribuirlo, así como las obligaciones que esto conlleva.
Open Source (código abierto)
Open Source significa que el código fuente es accesible y su uso se rige por una licencia de código abierto.
Licencias típicas:
- MIT
- Apache-2.0
- GPL
Propietario (código cerrado)
El software propietario generalmente es de código cerrado. El uso, distribución y modificación se regulan contractualmente, frecuentemente mediante un EULA.
Diferencias clave (relevantes para examen)
- Acceso al código fuente Open Source: sí (por lo general) Propietario: no
- Distribución y divulgación Open Source: depende de la licencia Propietario: muy restringido
- Obligaciones de divulgación GPL puede imponer divulgación al distribuir; MIT/Apache son generalmente más permisivos.
Ejemplo práctico breve
Si utilizas una librería bajo licencia MIT, puedes usarla incluso comercialmente, pero debes incluir el texto de licencia y la atribución.
Puntos clave para el examen
- Open Source = código abierto, uso y distribución según licencia. El software de código abierto es generalmente accesible y puede utilizarse mientras se cumplan las condiciones de la licencia respectiva. Cada licencia establece derechos y obligaciones diferentes.
- Propietario = código cerrado, uso regulado contractualmente (p.ej. EULA). El software propietario se licencia bajo un acuerdo de licencia de usuario final o un contrato similar. El código fuente permanece cerrado, la distribución y modificación están muy restringidas.
- GPL requiere divulgación según el caso al distribuir (relevante para examen). La GNU General Public License es un copyleft. Quien modifique software bajo GPL y lo distribuya debe revelar el código fuente bajo la misma licencia. Este es un tema clásico de examen.
- MIT/Apache generalmente permiten uso comercial (aplicación práctica). Las licencias permisivas como MIT y Apache 2.0 permiten un uso amplio, incluyendo comercial. Aun así deben respetarse obligaciones como la atribución de autoría y mención de licencia.
- El cumplimiento de licencias protege contra riesgos legales. Incumplir licencias puede resultar en demandas, reclamaciones de daños y pérdida de reputación. El cumplimiento de licencias es parte importante de la gestión de proyectos.
- Obligación de documentación: registra dependencias y licencias claramente. Todo proyecto debe mantener un inventario de todas las dependencias utilizadas junto con sus licencias. Herramientas como FOSSA, Black Duck o SBOM simples ayudan a mantener el control.
Componentes clave
- Derechos de autor y derechos de uso. El autor de un software posee automáticamente los derechos de autor. Una licencia otorga a otros ciertos derechos de uso sin transferir la titularidad. Sin licencia, el software no puede usarse libremente.
- Textos de licencia y condiciones. Cada licencia contiene un texto que establece derechos y obligaciones. Incluye regulaciones sobre uso, modificación, distribución y atribuciones requeridas.
- Reglas de distribución y divulgación. Las licencias de código abierto varían significativamente en distribución. Las licencias permisivas permiten amplia distribución, mientras que las de copyleft requieren revelación del código fuente.
- Obligaciones de divulgación al modificar. En algunas licencias, especialmente GPL, el código modificado debe revelarse al distribuirse. Las licencias permisivas como MIT no generan esta obligación.
- Permiso para uso comercial. Muchas licencias de código abierto permiten uso comercial. Es importante que se incluyan siempre los textos de licencia y atribuciones.
- Limitaciones de responsabilidad. Casi todas las licencias de código abierto incluyen limitaciones de responsabilidad. El software se proporciona sin garantías; el usuario asume el riesgo.
- Compatibilidad de licencias (dependencias mixtas). No todas las licencias son compatibles entre sí. Combinar software bajo MIT con software bajo GPL puede generar conflictos legales. La compatibilidad debe verificarse.
- Incumplimiento de licencias y sanciones. El incumplimiento ocurre cuando no se respetan los términos de una licencia. Las consecuencias pueden incluir demandas, prohibiciones de uso y reclamaciones de daños.
- Proceso de conformidad con Open Source/Herramientas. Un proceso de conformidad asegura que todas las dependencias estén licenciadas y documentadas. Herramientas como FOSSA, Black Duck o ScanCode ayudan con análisis automatizado.
- Modelos híbridos (Dual Licensing, Open-Core). Los modelos híbridos combinan elementos de código abierto y propietarios. Dual Licensing ofrece el mismo software bajo dos licencias, Open-Core proporciona el núcleo abierto y funciones avanzadas de pago.
Ventajas y desventajas
Open Source
- Ventajas: Transparencia, comunidad, costos frecuentemente menores, adaptabilidad
- Desventajas: Soporte no garantizado, las obligaciones de licencia se ignoran fácilmente
Propietario
- Ventajas: Soporte del fabricante, producto generalmente completo, hoja de ruta clara
- Desventajas: Costos, adaptabilidad limitada, posible dependencia del proveedor
Preguntas típicas de examen (con respuesta breve)
- ¿Cuál es la diferencia entre GPL y MIT? GPL es copyleft (puede imponer obligaciones de divulgación), MIT es permisiva.
- ¿Por qué es importante el cumplimiento de licencias? Para evitar demandas, conflictos legales y daño económico.
- ¿Qué es Dual Licensing? El mismo software se ofrece bajo licencia de código abierto y comercial.
- ¿Cómo procedes en la revisión de licencias dentro de tu proyecto? Inventaría dependencias, verifica licencias, mantén documentación y atribuciones.
Respuesta abierta
La comparación entre Open Source y propietario es central en proyectos de TI: legal, seguridad y economía. En exámenes se suele preguntar qué obligaciones pueden surgir (p.ej. divulgación GPL) y cómo organizar una revisión de licencias en la práctica. Lo importante es: Open Source no está libre de obligaciones. Por eso es fundamental una lista de dependencias estructurada (p.ej. SBOM) y documentación clara.
Estrategia de aprendizaje para este tema
- Entrada conceptual: Compara ejemplos concretos (Linux/Firefox vs. alternativas propietarias).
- Método de profundización: Lee textos de licencias reales (GPL, MIT, Apache) y marca derechos/obligaciones.
- Preparación enfocada en examen: Asigna licencias a escenarios (proyecto web, software interno, distribución a clientes).
- Prevención de errores: Nunca adoptes dependencias sin revisar licencia; siempre documenta.
Ejemplo práctico 1: Aplicar licencia MIT en la práctica
Utilizas una librería JavaScript bajo licencia MIT en una aplicación web comercial. Puedes usar, modificar y distribuir la librería, pero debes conservar el texto de licencia original y la atribución de autoría. Esto es típico de las licencias permisivas.
Ejemplo práctico 2: Reconocer una licencia GPL
Modificas una herramienta bajo licencia GPL y la entregas a un cliente. En este caso, tienes la obligación de divulgar el código fuente modificado bajo GPL. Este es el principio de Copyleft.
Ejemplo práctico 3: Verificar compatibilidad de licencias
Quieres combinar una biblioteca bajo licencia MIT con un componente bajo licencia GPL. Aquí hay que tener cuidado, porque la GPL impone requisitos sobre la distribución que el proyecto MIT podría no cumplir. La compatibilidad de licencias debe verificarse de antemano.
Ejercicio 1: Determinar el tipo de licencia
Un software solo puede usarse después de la compra y el código fuente permanece confidencial. ¿Qué modelo de licencia se aplica?
Solución: Se trata de una licencia proprietaria, probablemente una EULA. El uso y la distribución están restringidos contractualmente.
Ejercicio 2: Evaluar obligaciones de divulgación
Utilizas una biblioteca bajo GPL en una aplicación interna que solo funciona dentro de tu empresa. ¿Tienes que divulgar el código fuente?
Solución: No, la GPL requiere divulgación solo cuando se distribuye a terceros. El uso interno no desencadena esta obligación.
Ejercicio 3: Documentar conformidad de licencias
¿Qué información debe contener una lista de licencias del proyecto?
Solución: La lista debe incluir el nombre de cada dependencia, la versión utilizada, la licencia, el texto de la licencia o una referencia, y opcionalmente la fuente. Frecuentemente se conoce como SBOM.
Análisis temático
- Núcleo técnico: Texto de licencia, derechos de uso, obligaciones de divulgación. Cada licencia define quién puede usar el software y cómo. GPL y MIT se diferencian especialmente en la distribución y la divulgación de código modificado.
- Desafíos de implementación: Compatibilidad de licencias mixtas. En proyectos con muchas dependencias, las licencias deben ser compatibles entre sí. Las licencias Copyleft pueden influir significativamente en proyectos permisivos.
- Implicaciones de seguridad: Riesgos por dependencias no verificadas. Las dependencias de código abierto pueden contener vulnerabilidades. Quien no verifica licencias y procedencia asume también riesgos de cumplimiento y seguridad.
- Obligaciones de documentación: Menciones de licencias, listas de dependencias, avisos. La documentación es importante no solo legalmente, sino también para auditorías, due diligence y trazabilidad en el equipo.
- Evaluación económica: Ahorro de costos frente a esfuerzo de auditoría y soporte. El código abierto puede ahorrar costos de licencia, pero requiere esfuerzo en cumplimiento, soporte y actualizaciones de seguridad. El software proprietario es frecuentemente más caro, pero ofrece soporte del fabricante.
Más información
- https://opensource.org/licenses
- https://tldrlegal.com/
- https://fsfe.org/freesoftware/basics/summary.de.html
Conclusión
En proyectos y exámenes es fundamental: las licencias no son decoración. Debes entender derechos y obligaciones, y documentar todo correctamente.



