¿Qué debe saber todo programador de computadoras sobre las licencias de software de código abierto?

Al elegir bibliotecas de código abierto para usar como parte del software que está desarrollando, debe tener mucho cuidado porque las diversas licencias difieren bastante entre sí.

Las reglas que establecí para mí se detallan a continuación.

Si algo usa GPL, no es una opción. GPL es una licencia demasiado restrictiva, en mi opinión, y no estoy de acuerdo con los principios detrás de ella. El uso de GPL básicamente lo obliga a liberar su propio código fuente bajo la licencia GPL, lo que obviamente no es deseable en muchas situaciones.

Si algo usa LGPL, a veces es aceptable pero no ideal. LGPL le permite hacer uso de la biblioteca sin tener que liberar su código fuente y sin obligarlo a usar la misma licencia. Sin embargo, si realiza cambios en la propia biblioteca de código abierto, debe liberar esos cambios.

En el contexto de C ++, un inconveniente de LGPL es que está obligado a usar el enlace dinámico en lugar del enlace estático, ya que usar este último se considera como ‘crear un trabajo derivado’. El motor de gráficos Ogre, por ejemplo, tuvo que alejarse de LGPL porque impedía que los desarrolladores lo usaran para desarrollar para consolas de juegos (Sony y Microsoft tenían reglas establecidas que especificaban que las bibliotecas de terceros tenían que estar vinculadas estáticamente, mientras que el uso de La licencia LGPL solo permite la vinculación dinámica).

Las licencias ‘buenas’ son las licencias menos restrictivas, como la licencia MIT, la licencia Boost, la licencia BSD y la licencia ZLib. Si encuentra una biblioteca de código abierto que usa una de estas, generalmente puede estar seguro de que puede usar la biblioteca sin tener problemas legales. Estas licencias son bastante similares entre sí (no voy a entrar en detalles) ya que todas le permiten usarlas sin tener que liberar su código fuente, sin especificar cómo licencia su código y sin restringirlo a la dinámica enlace.

Descargo de responsabilidad: por supuesto, incluso con las licencias más permisivas, aún debe leer las licencias de cualquier biblioteca de código abierto que use para asegurarse de que su propio proyecto cumpla con sus términos.

Que elegir una licencia no tiene por qué ser aterrador, especialmente cuando hay tantas. Solo necesita saber qué describe mejor su situación y permitir que un experto (¡podría ser usted!) Lo guíe a través de ella.

choosealicense.com lo ayuda a hacer exactamente esto. Le proporciona vías en caso de que necesite que su contenido sea simple y permisivo, o si le preocupan las patentes, o si solo le interesa compartir las mejoras. También le permite explorar una variedad de posibilidades, bien documentadas de acuerdo con sus necesidades.

Una de las cosas importantes que señalan es que:

No tiene la obligación de elegir una licencia y tiene derecho a no incluir una con su código o proyecto.

La ausencia de una licencia simplemente significa que se aplicarán las leyes de copyright predeterminadas.

Aún así, si tiene preguntas o problemas y no puede elegir uno usted mismo, siempre es mejor consultar a un profesional legal.

Todas las licencias de software de código abierto le permiten usar, modificar y redistribuir el software. Las licencias recíprocas (como la GPL) siguen adicionalmente el principio de “compartir y compartir por igual”, es decir, requieren en ciertas situaciones que sus modificaciones estén disponibles bajo la misma licencia. Tenga en cuenta que las marcas comerciales no están cubiertas por las licencias de código abierto, es decir, el hecho de que pueda usar el software no significa automáticamente que pueda usar el nombre (marca comercial) del software de la forma que desee.

Que no son permiso para cortar y pegar a voluntad ni causa de pánico.

Las licencias de uso común son casi tan complicadas como las reglas de estacionamiento para una ciudad de tamaño mediano. Lea la licencia, haga un seguimiento de lo que vino de dónde (debería estar haciendo eso en el control de revisión de todos modos) y estará bien. Más: ¿Cuáles son las diferencias entre las licencias de código abierto?

En general … lo primero que debe recordar es que si usa el código fuente abierto en una aplicación comercial (por dinero) y realmente gana algo de dinero, puede contar con que usted o su empleador sean demandados a menos que usted / ellos hayan cumplido con mucho cuidado con los requisitos de la licencia utilizada.

Nuestro abogado desglosa las licencias de software de código abierto aquí: Licencias de software: la intersección de la tecnología y la ley

More Interesting

¿Cómo puedo ser un buen ingeniero de software sin una maestría?

¿Existe un buen software que te corrija cuando escribes en un idioma extranjero?

¿Por qué debería usar la recursividad? ¿No son los bucles más legibles y requieren menos líneas?

¿Qué se entiende por desarrollo?

¿Qué me estoy perdiendo como ingeniero de software, si no estoy trabajando en una empresa líder como Google, Facebook, etc.?

Al diseñar la arquitectura de datos para una nueva aplicación móvil, ¿cuáles son algunas de las mejores prácticas relacionadas con la escalabilidad?

¿Es 'no hay documentación mínima' un mito en Scrum? ¿Realmente podemos entregar proyectos sin una cantidad suficiente de documentación para auditorías y referencias futuras?

¿Cuáles son algunas bibliotecas Java de código abierto para construir un software de captura de datos faciales de biometría y cámara web?

Cómo encontrar un socio en Alemania para expandir nuestros servicios de desarrollo de software en el mercado alemán

¿Qué lenguajes de programación predices que liderarán el Internet de las cosas?

¿Qué tan cierto es el argumento, 'Los desarrolladores no suelen escribir código después de una determinada edad / posición, sino que gravitan hacia los roles de gestión'?

Cómo pasar del desarrollador front-end al arquitecto de software

¿Cómo es el proceso de desarrollo de su producto?

¿Es la alta seguridad y el alto rendimiento una característica en los softwares?

¿Cuál es el salario de un analista de garantía de calidad de software?