Un análisis de las licencias de contribución a Canonical y Fedora

Éste artículo surge a raíz de un comentario que encontré en MuyLinux cuando buscaba material para mi post sobre Gnome 3.2: ¿systemd?, ¿Gnome OS?, ¿no más soporte para plataformas NO-LINUX?.


Un lector de ese portal se preguntó más o menos, irónicamente, que estarán fumando los de Gnome. A lo que algún AntiUbuntu radical (no soy un radical pro Ubuntu, sólo que no comparto con quienes aman ridiculizar o ironizar sobre lo ajeno con el sólo afán de defender o menospreciar algo, sean usuarios del Sistema Operativo que sea) contestó con un link a Wikipedia sobre Canonical’s contributor agreement.

Con total atino el autor de la entrada, MetalByte, demostró que el comentarista estaba desviando el tema de atención y que Gnome no es precisamente tan santa como quisiera parecer, por varios hechos, incluido la violación a los estándares de freedesktop.org.

Estándares que, paradójicamente, el Shell Unity y el Entorno KDE, entre otros -incluso Gome en muchos aspectos-, respetan.
No por ello dejó de llamarme la atención, no sólo como abogado, sino como usuario de Ubuntu.

La información encontrada es bastante rica, y llevo unas horas leyendo y releyendo el contrato de licencia de 1 (una) sóla página que propone Canonical y hay datos bastantes curiosos.

Primero que nada debemos tener en cuenta que Ubuntu es desarrollada por Canonical Ltd. no por Canonical Foundation, por un motivo simple, Shuttleworth creó una empresa, no una Fundación.

Segundo, no se dejen llevar por el título del link, es cierto que podemos encontrar temas no prohibidos expresamente, pero no implican nada. Acá en Argentina, todo lo que no está expresamente prohibido, está implícitamente permitido.

Desconozco la legislación y jurisdicción inglesa a la que el CLA somete en su cláusula 12.

Ahora bien, Wikipedia define a la Canonical’s contributor agreement dentro de la categoría de Contributor License Agreement. Antes que nada, entonces, debemos saber que es esto último.

Según Wikipedia Contributor License Agreement (CLA) define los términos bajo los cuales la propiedad intelectual es contribuida o cedida a una compañía o proyecto. Muy común en el Open Source.

Generalmente hay dos razones que motivan los CLA: (1) para proteger mejor al proyecto, (2) o bien para relicenciar sin necesidad de consultar al contribuidor.

Bien, este tipo de licencias es utilizado por, y entre otras:

NOTA: No necesariamente en los mismos términos que el contrato con Canonical.

Considero oportuno analizar algunas cláusulas del CLA de Fedora – Red Hat y compararla con la de Canonical, no sólo por las similitudes propias de la clase, sino por las diferencias obvias.

Pero además, por el constante tilde de Canonisoft sin considerar a los demás actores del Open Source.Empezamos, en su CLA Canonical explicita y define los fines de su contrato, y se autodefine como un «copyright holder».

Así, lo que hacen es solicitar al contribuidor/desarrollador que complete un formulario a través del cual cede los derechos de autor a Canonical (y Fedora en su caso) y como contrapartida recibe el derecho libre de regalías, perpetuo, en todo el mundo, de usar, copiar, modificar, comunicar y poner a disposición del público (si se quiere mediante internet) y distribuir, en cada caso en forma original o modificada, las contribuciones realizadas o «código licenciado» por llamarlo de alguna forma.

Canonical grants to Me a world-wide, non-exclusive, royalty-free and perpetual right to use, copy, modify, communicate and make available to the public (including without limitation via the Internet) and distribute, in each case in an original or modified form, the Assigned Contributions as I wish.
Cláusula II CLA Canonical.

Ahora, ¿Cómo procede un desarrollador? Simplemente baja el CLA y manda un e-mail adjuntándolo y en el cuerpo del e-mail pone: «I accept the Canonical Contributor Agreement attached.» Esto en el caso del CLA de Canonical, que ha despertado el interés de este artículo.

Tan simple como eso.

Algunas comparaciones con el CLA de Fedora – Red Hat.

Primero que nada debemos saber que, desarrollar software para Ubuntu no quiere decir que deba adherirse al CLA, sí se requerirá si el software desarrollado o modificado es para el catálogo de Software brindado por el CLA, por ejemplo alguna modificación de los indicators, etc.

Ahora bien, conforme el CLA, el desarrollador cede a Canonical garantizando completamente el derecho de autor, lógico si Canonical será el Holder.

La cesión se hace garantizando un copyright no exclusivo, libre de regalías y de forma perpetua para usar, copiar, modificar, comunicar y poner a disposición del público (si se quiere vía internet) y distribuir, en cualquier caso, sea el código original o modificado.

En otras palabras se sede a Canonical lo mismo que Canonical retribuye al desarrollador. Cláusulas 1 y 2 respectivamente.

No puede cederse nada que sea objeto de otro contrato o contrato de trabajo (cláusula 9) ni tampoco código que pueda o sea pueda estar violando derechos de autor.

1. I hereby assign to Canonical with full title guarantee all copyright now or in the future subsisting in any part of the world in any Assigned Contributions. To the extent that this assignment is for any reason ineffective, and subject to Canonical’s rights in 5 below, I grant to Canonical a world-wide, non-exclusive, royalty-free and perpetual licence to use, copy, modify, communicate and make available to the public (including without limitationvia the Internet) and distribute, in each case in an original or modified form the «Assigned Contributions» as it wishes.

2. Canonical grants to Me a world-wide, non-exclusive, royalty-free and perpetual right to use, copy, modify, communicate and make available to the public (including without limitation via the Internet) and distribute, in each case in an original or modified form, the Assigned Contributions as I wish.
Cláusulas 1 y 2 CLA Canonical
Por su parte, el CLA de Fedora – Red dice:

2. Contributor Grant of License. You hereby grant to Red Hat, Inc., on behalf of the Project, and to recipients of software distributed by the Project:
(a) a perpetual, non-exclusive, worldwide, fully paid-up, royalty free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your Contribution and such derivative works; and,
(b) a perpetual, non-exclusive, worldwide, fully paid-up, royalty free, irrevocable (subject to Section 3) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your Contribution and derivative works thereof, where such license applies only to those patent claims licensable by you that are necessarily infringed by your Contribution alone or by combination of your Contribution with the work to which you submitted the Contribution. Except for the license granted in this section, you reserve all right, title and interest in and to your Contributions.
Clausula 2 CLA Fedora.

Volviendo a Canonical, en la cláusula 3º se conceptualiza que debe entenderse por Software, muy común en materia contractual.

Y dice que el término Software utilizado EN y PARA el contrato, se refiere a todos los programas de ordenador creados como parte del programa de Canonical. Lista que, por obvias razones puede modificarse cada cierto tiempo.

En la cláusula 4º conceptualiza Assigned Contributions como las modificaciones o mejoras que se hacen sobre el código por el mismo desarrollador.

Una de las cláusulas interesantes es la 6º, ya que en ella el CLA obliga a Canonical a ofrecer el código conforme, y bajo los términos de, la «Free Software Licence», conforme la definición que la F.S.F. brinde sobre el tema y actualice cada cierto tiempo.

Pero, este es la puerta abierta si se quiere, porque Canonical, a su discreción, podrá poner a disposición del público el software bajo otros «términos de licencia», que no es lo mismo a «otra licencia». Conforme hemos visto, esto es común y una de las finalidades de la Contributor License Agreement.

Canonical will ordinarily make the Assigned Contributions available to the public under a «Free Software Licence», according to the definition of that term published by the Free Software Foundation from time to time. Canonical may also, in its discretion, make the Assigned Contributions available to the public under other license terms.

Cláusula 6 CLA Canonical
Algo similar sucede con Fedora, en el punto 2 – (a) el CLA habilita a Fedora – Red Hat a sublicenciar, sin mencionar bajo qué términos ni bajo qué licencia.

En comparación el CLA de Fedora es más permisivo y, si se quiere, lesivo al open source, puesto que el CLA de Canonical la obliga a distribuir bajo la FSL o bajo otros términos de licencia. En cambio Fedora – Red Hat podrá licenciar y sublicenciar bajo la licencia y términos que desee.

Pero lo más llamativo de todo, y que salta en defensa, si se quiere, de Canonical frente a Fedora, es que el CLA de ésta última en el punto 2 – (b) autoriza a Fedora – Red Hat, entre otras cosas y en determinadas situaciones que la CLA explica, a vender la contribución del desarrollador.

Así mismo, Canonical, no hará valer contra el desarrollador ninguna patente que haya sido infringida por el desarrollador, ejerciendo SU copyright sea con el Software o el Assigned Contributions.

[…] Canonical will not assert or enforce against Me any patent that is infringed by Me exercising My copyright rights in the Software and/or the Assigned Contributions.

Clausula 7 in fine CLA Canonical.
En contraposición, Fedora – Red Hat, en la cláusula 3 de su CLA deja abierta la posibilidad de que, ante un posible litigio, la cesión se caiga y sea el Contribuidor responsable ante los tribunales.

Por el lado de Canonical, el desarrollador no hará valer ninguna patente contra: (a) Canonical; (b) quien reciba el Software o el Assigned Contribution por Canonical; (c) Cualquiera que haya recibido el Software o Assigned Contributions bajo la Free Software Licence cuando se infrinjan patentes por el ejercicio del Copyright. Lo que es lógico.

I will not assert or enforce any patent against (a) Canonical (b) anyone who received the Software and/or the Assigned Contributions from Canonical or (c) anyone who received the Software and/or the Assigned Contributions under a Free Software Licence, where that patent is infringed by any of them exercising copyright rights in the Software and/or the Assigned Contributions. […]

Cláusula 7 CLA Canonical.
Como resultado podemos decir que el CLA, utilizado muy a menudo en el mundo open source, es completamente lógico y justificable. Además, de la comparación de los CLA de Fedora – Red Hat y Canonical se desprenden elementos favorables para las partes, donde ambos (partes y empresas) se benefician.

Seguramente el punto más controvertido es la posibilidad que ambas empresas (digo ambas porque analizamos someramente a ambas) se reservan para sublicenciar. El CLA de Fedora – Red Hat lo dice abiertamente pero no aclara bajo qué términos publicará el contenido ni mucho menos en qué términos lo hará llegado el caso de sublicenciar.

En el caso de Canonical, se obliga a usar la Free Software License conforme los términos de la Free Software Fundation, pero arbitrariamente podrá cambiar los términos de la licencia, como dice el CLA, «other license terms» sin que esto implique, en cualquiera de los casos, recurrir a una licencia non-free o propietaria.

Recomiendo leer también Harmony Project, que es sumamente interesante.

Creo que en lugar de hablar por hablar sería mejor tomarse 10 minutos y analizar el tema en cuestión. Lo digo y pongo como ejemplo el caso del comentario que motivara el estudio y armado de la entrada.

Muchos que no están de acuerdo con Canonical/Ubuntu o su «aceptación», en lugar de buscar elementos objetivos, recurren a agravios que no hacen más que generar Flames y no nos llevan a ningún lado.

Finalmente, no me responsabilizo por la utilización de lo dicho, se trata tan sólo de un análisis básico de los CLA de, en este caso, una y otra empresa.