ICM / herramientas / ¿Qué licencia Open Source elegir para mi proyecto?

¿Qué licencia Open Source elegir para mi proyecto?

26 julio 2021 | Miguel Díaz

Cada vez son más los proyectos de Open Source (código abierto) que aparecen en una sociedad digitalizada y «dominada» por el cloud, IoT, Inteligencia Artificial, Big Data… Y en verdad, este tipo de proyectos tienen numerosas ventajas. Pero debemos saber primero qué software OpenSource es el que mejor se ajustará a las necesidades de nuestro proyecto. Y os lo explicamos, en esta entrada.

Qué es el software Open Source

Open source traducido significaría “código abierto”. En el ámbito del software, este concepto se refiere a los programas que permiten al público acceder a su código fuente y se distribuyen bajo una licencia que puede permitir modificar o compartir el código, entre otras cosas.

El software open source es la alternativa a las aplicaciones propietarias, cuyo código es privado e incluye licencias que no permiten su modificación o incluso lectura, por partes que no sean su propietario.

Tipos de licencias de software Open Source

Los proyectos de Open Source van de la mano de una licencia, que es lo adjudica limitaciones y libertades sobre lo que se puede hacer con el proyecto. Hay una gran cantidad de licencias disponibles, pero algunas de las más relevantes son estas:

GNU GPL: Permite cualquier modificación y distribución excepto bajo otras licencias. Por ejemplo, de código privado. Este software usa GNU GPL como Ansible, GIMP, Bash

MIT: a diferencia de la anterior, esta permite cualquier modificación y distribución pero pudiendo ser bajo otra licencia; incluyendo las de código cerrado. Algunos proyectos bajo esta licencia son .NET Core, Node.js, o React.

Apache License: Permite la modificación y distribución del código, requiriendo la conservación de los derechos de autor y de las licencias originales. También se puede redistribuir el código bajo otras licencias, mientras se conserve la anterior. Apache Web Server, Android y Swift usan licencia Apache.

software open source

Si una empresa está considerando si desarrollar un proyecto open source, aquí explicamos varias ventajas e inconvenientes:

Ventajas

Comunidad y promoción: Compartir un proyecto de código abierto genera un sentimiento de comunidad entre sus usuarios y contribuidores. Además de la transparencia que implica el Open Source, la capacidad de compartir del proyecto libremente atrae a más usuarios, promocionando la empresa.

Seguridad y confiabilidad: Tener más miradas y usuarios sobre el proyecto implica que sea más fácil detectar errores de funcionamiento y fallas de seguridad. Cuanto más grande sea la comunidad, más robusto y seguro es el código resultante, ya que hay más horas invertidas en su uso, y por lo tanto más feedback.

Inconvenientes

Monetización: Es más difícil monetizar un proyecto de código abierto, ya que por definición cualquiera puede copiarlo y usarlo. Aún así, existen formas de monetización, como el Software as a Service, dónde el producto es gratuito, pero se ofrece la infraestructura para usarlo. O también a través de soporte especializado con una suscripción.

Vulnerabilidad: De la misma forma que es posible que la comunidad encuentre vulnerabilidades y errores, lo puede hacer un agente malicioso y explotarlas.

Dependencia de la comunidad: Una gran parte de los beneficios y de la incidencia de las desventajas depende de cómo de grande y activa sea la comunidad alrededor de un proyecto Open Source.

 Conclusión

A la hora de escoger si queremos publicar nuestro proyecto como Open Source se deben considerar las ventajas y inconvenientes expuestos anteriormente. Pero, sobre todo, tener en cuenta si se podrá generar una comunidad alrededor del proyecto. Como hemos comentado, es uno de los factores más importantes. Hay numerosos softwares de código abierto con pequeñas comunidades, y aunque pudieron empezar siendo pequeños, los más exitosos ahora son una parte integral de la infraestructura internet y de la computación en general. Algunos ejemplos son Linux, PHP, Python, Mozilla Firefox o Chromium.

Algunas grandes empresas que solían trabajar en código cerrado han empezado a desarrollar con Open Source y aprovechan todas sus ventajas, como es el caso de Microsoft con Visual Studio Code y Terminal.