Geek & Roll - Blog Archive » Controversia con Ext JS

Controversia con Ext JS

Cesar April 23rd, 2008 FLOSS, javascript 8 comentarios

Ext JS es una gran libreria para Javascript, una de las mejores y más completas que he utilizado. Sin embargo, recientemente ha visto un poco de controversia debido a su elección de distribuir la librería bajo un esquema de licencia doble:

  1. LGPL para aquellos que planeen usar Ext de manera personal, sin ánimos de lucro o educacional.
  2. Si planeas distribuir a Ext como parte de un producto de desarrollo de software (como un toolkit, librería, lenguaje, etc) entonces no puedes obtener Ext bajo los términos de la LGPL y tendrás que adquirir una licencia comercial.

Hasta aquí todo bien ¿no? Pero la cosa se complica un poquito: la LGPL versión 3 especifica claramente que si tu obtienes un software con licencia LGPLv3 y tiene alguna restricción extra a aquellas impuestas por la propia LGPL, tu tienes el derecho de eliminar dichas restricciones extras.

Dicho de otra manera: cualquier software con licencia LGPLv3 no puede tener más restricciones que las que la LGPL especifica. Por lo anterior, Matthew Garrett, desarrollador de Debian, decidió redistribuir Ext pero únicamente con la licencia LGPL (sin la licencia propia de Ext).

Matthew dice que él va a usar Ext de manera personal, sin ánimo de lucro y por lo tanto es elegible para obtenerla con LGPL. Al momento de obtenerla con LGPL él es libre de distribuírla de cualquier manera, siempre y cuando se apegue a los términos de la LGPL.

Ni tardo ni perezoso Jack Slocum, autor de Ext, le dice que está en violación de su licencia, porque Ext no se distribuye con licencia LGPL sino con una licencia propia de Ext, que te permite usar Ext bajo los términos de la LGPL en caso de que seas elegible para ello. Esta licencia propia de Ext, de acuerdo a Jack, no le permite a Matthew redistribuir porque Matthew está distribuyendo Ext como parte de una herramienta de desarrollo (como una librería) cosa que la licencia propia de Ext explícitamente prohibe:

If you plan to distribute Ext in a product that will be packaged or sold as a software development library, toolkit or plug-in-based framework (LIBRARY), we require that you work with us to establish a specific license that is appropriate. Use of the open source license terms in a LIBRARY is not permitted without explicit permission.

¿Entonces por qué Matthew se sintió con derecho de hacerlo? Porque él obtuvo Ext con licencia LGPL al planear usar Ext de manera personal, sin ánimos de lucro. Y como la LGPL le permite redistribuír, siempre y cuando se apegue a la LGPL (cosa que está haciendo) simplemente lo hace.

¿Entonces por qué Jack dice que no se puede? Porque él dice que si vas a usar Ext de manera personal, sin ánimos de lucro no obtienes Ext con licencia LGPL, sino que la licencia original de Ext te de da derecho de usar Ext bajo los términos de la LGPL.

¿Lo ven? es como si la licencia propia de Ext fuera una envoltura sobre la LGPL. La palabra clave es bajo los términos de la LGPL. ¿Eso que significa? ¿Es diferente otorgar uso bajo los términos de la LGPL a distribuír un software con licencia LGPL? Al parecer lo que intenta hacer la licencia de Ext es:

Si vas a usar Ext de manera personal, sin ánimos de lucro o si eres una organización educativa, puedes obtener Ext y usarla con los mismos derechos que te otorga la LGPL. Pero si decides distribuir Ext como parte de una librería de desarrollo, esos derechos se te eliminan y tienes que contactarnos para llegar a un acuerdo de licencia.

Aún si lo anterior es lo que en efecto quieren hacer, al momento de obtener los derechos otorgados por la LGPL tu puedes eliminar esa restricción que te intenta quitar esos derechos y hacer con Ext cualquier cosa que la LGPL permita.

No soy abogado, y habrá que estar atentos a la resolución de este problema, pero creo que Matthew tiene razón en esta. Si lo que Jack Slocum y los autores de Ext quieren hacer es proporcionar una licencia similar a la LGPL pero con algunas restricciones extras, deberían de tomar las secciones de la LGPL que le acomoden e incluirlas en la licencia de Ext y distribuir únicamente bajo esa licencia, y no otorgar uso bajo los términos de la LGPL, sea lo que sea que eso signifique.

8 Comentarios

Geek & Roll - Blog Archive » El fork de Ext: OpenEXT

April 27th, 2008

[...] situación legal de Ext de la cual hablamos anteriormente provocó que algunos de los miembros de la comunidad Ext hicieran algo al respecto. En las propias [...]

Gabriel Elias

May 2nd, 2008

Pagar licencia de Ext, por que habría de hacerlo, si bien es completa, se desarrollo mucho tiempo porteando o incluso usando librerias como jQuery y esta de Yahoo.
Esta mu completa en su implementación aunque en la documentación le falta, por ejemplo la parte de el Array solo describe dos metodos cuando en realidad tiene un buen más. Si quiere vender este tipo su toolkit en licencias tiene que mejorar el contenido de su documentación.
Ahora si le mejoró este compa, tiene uno de los mejores desempeños esta libreria en cuanto a DOM query y rendereo. Pero que no se le olvide de donde salieron todas sus ideas.
Es curioso el modelo de negocio de este compa, promueve que la “comunidad” suban los tutoriales y manuales, pero si alguien va a hacer un dolar con el uso de lo que yo hice, venga, ponte la del puebla y adios comunidad. Estan parecidos a los de OpenBravo que se shutaron a comptiere ya ahora manejan licecnias duales. Son, o NO son?
Si hacemos un dig en el código estoy seguro que hay copia de códigos. Estaria interesante descubrir alg así, no?
Yo la verdad la voy a usar sin reportar licencia, si quiere lana me cambio a jQuery en tres patadas desarrollando con factories e interfaces.

Salud K

root

May 7th, 2008

Estamos iniciando un desarrollo comercial, si utilizo OpenEXT tengo que pagar alguna licencia, o hacer publico mi desarrollo.

Cesar

May 7th, 2008

root: Ninguno. OpenEXT es LGPL lo que te permite (entre otras cosas) usar la librería y “linkearla” a otro código, aún cuando este sea privativo. Las condiciones son que si modificas las librerías base de OpenEXT tienes que redistribuir estas librerías modificadas bajo la misma licencia y que el código fuente de la librería esté disponible en conjunto a tu aplicación.

Si usas OpenEXT como normalmente se usa, con una clara separación entre el código de la librería OpenEXT y tu propio código, entonces tu código puede tener la licencia que tu quieras.

Gabriel Elias

May 8th, 2008

Cesar si crees que ese fork sea legal?
Digo, este tipo de ExtJS clama que es ilegal. A mi en lo personal me parece 100% legal ya que este compa declara que ExtJS tiene es GPL.

Creo que esta siendo pobremente asesorado ya que lo que el de verdad quiere, y muy válido, es ganar lana con su trabajo. Pero a la misma vez quiere retener a su comunidad contrbuyente en base a una GPL muy parcial.
No tiene una licencia dual, tiene una licencia comerical y una excepcion a apredizaje.

Salud

César

May 8th, 2008

No se si sea legal o no, no soy abogado. En mi muy humilde opinión creo que el fork es totalmente legal porque estan agarrando la última versión con licencia LGPL e implementando sobre ella.

Cuando Ext saque características nuevas estas no caeran sobre OpenEXT, sino que la comunidad del fork tendrá que reimplementar todo lo nuevo si quieren mantenerse a la par con la implementación de Ext.

root

May 8th, 2008

Bueno tremendo tema el que se genero, la verdad el autor tiene derecho sobre su creación, pero como comentan, su asesoría jurídica no fue muy buena. Según tengo entendido se esta desarrollando la versión 3 de EXTJS, seguramente hubiera dejado esta versión con su nuevo esquema de licenciamiento y la actual 2 como estaba.

La bronca es que si pagas por algo, esa inversión te debe dar mejoras u opciones adicionales , caso muy claro DD-WRT, si quieres el firmware con mejores funcionalidades simplemente pagas.

Joshua

December 5th, 2008

Yo no se, pero es como raro… si tiene LGPL significa de libre distribucion, incluso si la modificas tienes que publicar el codigo, pero si recibes dinero por capacitacion o asesorias, entonces hay que pagarle a Jack?? en si es una envoltura para cobrar por el trabajo de la comunidad… claro Jack la vio facil, uso LGPL para que la comunidad me ayude a construir, pero cuando el producto este listo y probado y alguien lo vea rentable, entonces cobro para mi… ¿? porque no siguio el esquema de red hat??? un linux libre para la comunidad (fedora) y uno empresarial (enterprise)…

Haz un comentario:

Es necesario que dejes tu nombre y correo electrónico (no se publicarán).

Si dejas un comentario anónimo, con insultos o ajeno al tema, iremos hasta tu casa y le diremos a tu mamá la cantidad de porno que hay en tu computadora. Si, lo sabemos.