[ASLE] Cambio Licencias Proyecto Open Source

Jaime Casanova jaime en 2ndquadrant.com
Dom Abr 2 12:37:17 ECT 2017


2017-04-01 19:57 GMT-05:00 Daniel Dalgo <dalguete en gmail.com>:
>
> Qué se necesitaría para cambiar la licencia de un proyecto grande, de código abierto?

entre el 2008 y el 2009 (no recuerdo exactamente cuando y después de
dos horas me aburrí de buscar en archives.postgresql.org), se cambio
la licencia de postgres de BSD a TPL (The PostgreSQL License).
No recuerdo la razón por la que se cambio pero te podría ayudar a
entender lo que quieres (si encuentras el tema claro en los archivos).
SI alguien en 2ndQuadrant se acuerda te avisaré.

> Hay que pedir permiso a los alguien?

esa es una pregunta un poco complicada. dependiendo de que tan
"grande" sea el proyecto del que estamos hablando y que tan activo sea
y como se este manejando actualmente.

<Advertencia: No soy abogado y mis opiniones sobre el tema parten de
mi ignorancia sobre el mismo>

En muchos países los derechos de autor son irrevocables, porque sin
importar los derechos que cedas tu siempre serás el autor. Y lo que se
suele ceder es el derecho de usar/copiar/modificar/distribuir.

Por ejemplo, en el caso de PostgreSQL tu mantienes los derechos sobre
los cambios que haces pero se te considera parte del PGDG, lo que
refleja el hecho de que eres uno de varios contribuidores y también es
indicativo de que tienes voz y voto sobre las decisiones. Pero como no
es una democracia sino una meritocracia tu voto es solo significativo
si tus contribuciones son muchas y variadas. Lo cual tiene sentido, si
tu contribución es un parche de una línea se podría tomar la decisión
de remover esa línea e ignorarte por completo mientras que si tu
contribución afecta a todos los archivos del proyecto de manera
significativa entonces tu voto tendrá mayor peso.

</Advertencia>

> A los commiters? A los autores? Son los mismos? Con ser contribuidor es suficiente para ser
> autor/commiter?

El autor es el que escribe originalmente el código. No se convierte en
el autor del proyecto ni del archivo, es solo el autor de su código
específico. Un proyecto de código abierto tiene muchos autores. Y cada
autor retiene derechos sobre su código específico.

Los committers son, por decirlo de alguna manera, los guardianes de la
integridad del código. Son el firewall que evita que código defectuoso
o de baja calidad entre al repositorio principal.

Un contribuidor es alguien que contribuye, no necesariamente ha
escrito código o actua como committer. Un contribuidor puede
contribuir revisando código que otros han escrito, para verificar que
el código funciona como debería que no falla o que no hace explotar tu
computador. Un contribuidor no necesariamente es un autor o committer.

Entonces el autor escribe un parche para agregar la funcionalidad X al
proyecto FOO, una vez que se ha decidido que la funcionalidad X es
útil los contribuidores (autores, revisores y committers) revisan el
código para ver que no tenga fallas obvias en el código o en el
diseño; que siga los estándares de programación del proyecto; que este
bien documentado; etc y finalmente los committers (luego de una
revisión final y ajustes si fuera necesario) dejan pasar el nuevo
código al repositorio de modo que el código se vuelve parte del
proyecto (dicho sea de paso, sólo en este punto un autor tiene alguna
voz sobre el proyecto aunque sea solo en el pedazo de código de su
autoría).

> Leí por ahí que eso se puede
> evitar con agreements (no estar preguntando a todos) Y si no hay agreement?
>

https://wiki.postgresql.org/wiki/Developer_FAQ#Do_I_need_to_sign_a_copyright_assignment.3F

> Bueno, ahora sí el porqué de las dudas. Estabamos conversando con unos amigos sobre si Drupal pudiese pasarse de GPL a MIT, que
> necesitaría.
[...]
> Los argumentos de algunos son que por el tamaño del proyecto pasarse a otra licencia sería imposible, porque todos tienen que estar de
> acuerdo. Eso me parece equivocado, verdad?
>

Ok. Ahora tocamos un tema más delicado. Aunque ambas licencias, GPL y
MIT, son compatibles y son licencias de software libre tienen
diferencias importantes, especialmente GPL es copyleft mientras MIT es
non-copyleft (o copyfree o permissive o como le quieras decir). Por lo
que un cambio de licencia en este caso es algo muy complicado.

Te dejo dos enlaces que puedes considerar interesantes, había otra
pregunta más que se me perdió que hablaba de que no puedes relicenciar
código ya existente porque vulnerarías los derechos que ya tienen los
usuarios, lo que significa que cualquier cambio sería en versiones
posteriores no en las ya liberadas.

https://www.gnu.org/licenses/gpl-faq.html#Consider
https://www.gnu.org/licenses/license-compatibility.html

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación


Más información sobre la lista de distribución Asociacion