Hoy me voy a meter con un asunto delicado: las licencias GPLv2 de WordPress. Además es un tema recurrente y que genera discusiones a todos los niveles en la comunidad de WordPress, pero creo que vale la pena explicarlo y que cualquier usuario de WordPress debería conocer cómo funciona y las implicaciones que tiene, así que vamos a ello.

En la primera parte del artículo voy a intentar ser objetivo, dejando mi opinión para el final. Perdonadme si no lo consigo. Y ya aviso que lo de ser breve no lo he conseguido tampoco así que tomarlo con calma y espero que disfruten de la lectura.

Que es la GPLv2

Lo primero que toca en un artículo de este tipo es explicar en qué consiste la GPL, para que todos estemos en el mismo punto de partida antes de tocar los temas más complicados y opinables.

Las siglas GPL significan General Public License – Licencia Pública General, y su nombre completo es GNU GPL. El v2 es la versión de la licencia, en el caso de WordPress la versión 2 de GPL. GPLv2 Es una licencia Copyleft de código libre (Open Source).

Como con esta descripción no te habrás enterado de nada, vamos a dar unos pasos hacia atrás antes de seguir adelante, esto es, explicando primero la propiedad intelectual y luego las licencias para llegar al GPL y su versión 2 junto con WordPress al final.

Propiedad Intelectual

Cuando un autor publica algo, lo primero que hay que hacer es registrar su propiedad intelectual. basicamente es el proceso con el que demuestras que eres el creador original de la obra, y lo que le da derecho a marcar la licencia de la misma.

Normalmente esto se hace registrando nuestro trabajo en alguna agencia de registro de propiedad intelectual, pero esto da para otro artículo así que no me voy a meter en ello (y ya escribí sobre esto aquí en otro post extenso).

Supongamos para este artículo que la autoría original de la obra está clara y no se discute (que aunque parezca fácil no siempre es así). Cuando esto está claro, entonces el autor puede elegir una licencia para su trabajo.

¿Y qué es una licencia?

Directamente sacado de la wikipedia:

En Derecho, una licencia es un contrato mediante el cual una persona recibe de otra el derecho de uso, de copia, de distribución, de estudio y de modificación (en el caso del Software Libre) de varios de sus bienes, normalmente de carácter no tangible o intelectual, pudiendo darse a cambio del pago de un monto determinado por el uso de los mismos.

Es decir, en cristiano, al elegir la licencia el autor está firmando un contrato con todo aquel que tenga acceso a su obra. En ese contrato, el autor indica qué es lo que un usuario/lector/cualquiera puede hacer con la obra a la que se aplica la licencia.

He puesto en negrita la palabra contrato porque es bastante importante en este punto. No debería ser necesario explicar lo que un contrato significa, pero dejo aquí enlaces a la RAE y a la wikipedia de nuevo.

La licencia (cuando está bien redactada), como cualquier buen contrato, indica claramente los derechos y las obligaciones de ambas partes. El autor firma el contrato al asignar la licencia y el usuario cuando decide utilizar su obra. Ambos en ese momento aceptan las condiciones que se imponen en la licencia.

La idea original de esto es que la licencia permite a un autor firmar contratos con un gran número de personas sin tener que ponerse en contacto con ellos y firmar un contrato físico escrito con cada uno de ellos, algo que sería inviable, por ejemplo para dar permisos para leer un libro. Este punto de los contratos es importante y volveremos a ello más adelante (varias veces de hecho ;)).

El autor, cuando crea una obra 100% original desde cero, tiene libertad absoluta para elegir la licencia que quiera (o no elegir ninguna), de entre todas las que hay, que no son pocas.

Tipos de licencias

Por simplificar de nuevo aquí, nos vamos a centrar en licencias de software (dejando fuera las de marcas, etc).
https://commons.wikimedia.org/wiki/File:Software-license-classification-mark-webbink.svg

Una imagen vale más que mil palabras aquí, y este pequeño gráfico nos separa los diferentes tipos de licencia que podemos elegir para nuestro software. Voy a repasar las más comunes pero podéis leer los enlaces de la wikipedia para tener más información al respecto.

En español los nombres cambian un poco pero sería lo siguiente:

  • Public Domain – Dominio Público. Sin licencia.
  • Non-protective FOSS License (Free and Open Source Software). Licencia de Código Libre no protegida. Permisos libres y sin limitaciones.
  • Protective FOSS License. Licencia de código libre protegida. Permisos libres pero limitados de alguna manera. Copyleft.
  • Proprietary License. Licencia propietaria. Algunos permisos restringidos. Copyright.
  • Trade Secret. Secreto comercial. Todos los permisos restringidos, incluso lectura, uso, etc.

De nuevo vamos a centrarnos en las licencias FOSS, licencias de código libre o licencias Open Source. Antes de seguir voy a hacer un inciso indicando los permisos generales que se otorgan en una licencia para ser considerada de Código Libre o Licencia Open source.

Las licencias de código libre

Las licencias de código libre nos permiten una serie de libertades, es decir, nos dan derecho a hacer X o a hacer Y. Dependiendo de qué derechos otorgan y de otras limitaciones, no sale una gran variedad de licencias, siendo todas ellas Open Source.

En general los derechos o libertades que se obtienen son 4 (conclusión simplificada basada en este post de Chris Lema y por no alargar mucho más esto):

  • Derecho a usarlo: este derecho lo conceden también las licencias propietarias.
  • Derecho a redistribuirlo.
  • Derecho para ver el código fuente del programa y cómo funciona.
  • Derecho para modificarlo y hacer copias del mismo, y distribuir estas copias y modificaciones también.

Esto es lo que sería una licencia de código libre general pero, como en todo, dentro de las licencias de código libre, hay matices, siendo el principal, como vemos en el gráfico anterior, si son protegidas o no. Las clasificamos en 2 grupos principalmente y generalizando mucho de nuevo para simplificar el artículo:

  • Las licencias permisivas (no protegidas) se llaman así porque precisamente no limitan de ningún modo lo que el usuario puede hacer con la obra. la libertad es total y se basan en los 4 puntos indicados anteriormente.
  • Las licencias permisivas protegidas o con copyleft fuerte, tienen la particularidad de que obligan al que haga copias derivadas o al que utilice sus licencias a aplicar la misma licencia. De este modo son licencias contagiosas que obligan a expandirse si se utilizan.

Todo esto hay que contarlo porque la licencia de WordPress es GPL2 que es una de esas licencias Copyleft Fuerte que llaman, porque por mucho que queramos hacer obras derivadas, lo que no podremos cambiar es la licencia de las mismas que es GPL2.
tambien ayuda a entender que aunque a algunos pueda parece que la licencia de WordPress es demasiado permisiva, no lo es tanto en realidad y hay gente que opina que debería serlo más.

La licencia de WordPress GPLv2

Por fin llegamos a la licencia del WordPress, GPLv2. Los términos de la licencia los tenéis en ese enlace (y en cualquier descarga del código de WordPress) pero es un ladrillo así que a mi me gusta usar este otro enlace, que viene a decir lo siguiente:

Qué PUEDES hacer con GPLv2 (derechos y permisos):

  • Puedes usar el software para uso comercial
  • Puedes modificar el software.
  • Puedes distribuir el software como quieras, tanto el original como las copias derivadas
  • Puedes poner garantías en el software.

Qué NO PUEDES hacer (prohibiciones):

  • No puedes cambiar la licencia. Es decir que lo que entregues (modificado o no) tendrá que ir con GPLv2.
  • No puedes hacer responsable al propietario original de daños producidos por el software.

A qué ESTÁS OBLIGADO si usas GPLv2 (obligaciones):

  • Debes incluir el código original.
  • Debes incluir el código fuente si lo que distribuyes no está abierto (app de android por ejemplo).
  • Debes incluir la copia del copyright original.
  • Debes dejar claro qeu cambios has hecho al código original.
  • Debes incluir un text completo con la licencia en el código.

Y donde pone puedes, hay que recordar que es un contrato, tienes derecho legal para hacerlo y tienes permiso del autor para hacerlo también.
Dónde pone NO PUEDES, son las cosas que no puedes hacer bajo ningún concepto.
Y donde pone ESTAS OBLIGADO hay que recordar que de nuevo es un contrato y tienes que cumplir con esos apartado si o si.

Con esto debería quedar claro qué es lo que podemos o no podemos hacer con nuestro código pero siempre hay preguntas frecuentes. Antes de nada, si tienes dudas, recomiendo leer este enlace y yo me dejo algunas para otro artículo.

Llegados a este punto, la licencia que utiliza WordPress está muy clara, y recordemos que la licencia es un contrato que firmamos al publicar nuestra obra o al usar código de otros y que nos otorga unos derechos y unas obligaciones.

Nota: a partir de este punto, pasamos a escribir mi opinión personal, y no solo definiciones o hechos. Espero vuestros comentarios a esta parte. 🙂

La ética y las licencias

Una vez llegamos al punto de tener clara la licencia de WordPress, a pregunta más típica que se hace pero que casi nadie se atreve a contestar es:

¿ aunque la licencia te deje hacer X, te parece ético hacerlo?

Y antes de contestar voy a hablar del GPL en el WordPress otro poco, pero no os preocupéis que la respuesta está más abajo. 😉

Yo entiendo perfectamente que el GPL pueda tener cosas que nos gustan y cosas que nos gustan menos, pero quizás por esas cosas que nos gustan menos, es por lo que WordPress es lo que es, o quizás no. Lo que no me parece bien es coger la parte que nos gusta de los derechos y obligaciones de la GPL y no la parte que no nos gusta. La licencia es un conjunto y como tal funciona y debe aplicarse.

No está bien poner la línea roja donde uno le parece cómodo, porque el problema es que cada uno la va a poner en algún sitio. Y para eso ya está la licencia. La línea de lo que se puede hacer o no se puede hacer la marca la licencia claramente, así que cualquiera que la esté cumpliendo no debería ser atacado por ello.

Es muy difícil cuantificar qué parte de la licencia es la que hace WordPress lo que es, pero creo que ser código libre es una de las grandes razones por las que el 27% de internet utilizar WordPress. Y recordemos que WP no utiliza una de las licencias de código libre más abiertas sino todo lo contrario. De hecho GPL está considerada una licencia bastante estricta dentro del Open Source. Hay programas de código libre, libre de verdad, que permite hacer lo que uno quiera con el código, incluso hay licencias que permiten convertirlo en software propietario y cortar la cadena del código libre.

Dentro del mundo del WordPress (y aquí incluyo usuarios, desarrolladores y todos los que de alguna manera contactan con WP) hay opiniones de ambos lados. Conozco a muchos que están en contra del GPL porque opinan que es muy restrictiva y debería ser más libre. Hay otros también muchos que opinan al revés, que la licencia abierta está rompiendo los negocios y que deberíamos cambiar a una licencia más cerrada y protectora. Y luego hay gente que opina que está bien como está. Y también muchos otros que no tienen ni idea de todo esto y que espero que con este artículo lo tengan más claro.

Por tanto mi respuesta es: por supuesto que si que me parece ético. Lo que no parece ético en una sociedad que se rige por normas, es saltárselas. Quiero ahora recordar (de nuevo) el punto ahí arriba donde queda claro que la licencia es un contrato firmado por ambas partes. Si una de las partes cumple su parte del contrato, no le veo problema ninguno.

Voy a poner otro ejemplo. Es una pregunta que cualquier programador o desarrollador de WordPress debería hacerse en algún momento.

Imagina que tienes un plugin en venta en tu web por 50€. Licencia GPLv2 porque es un plugin de WordPress. Una persona lo compra y te pregunta:

¿Puedo comprar tu plugin y revenderlo por 1€ a mis 1.000 conocidos?

(Donde pone 1.000 poned 10.000 o 100.000 y repetiros la pregunta, la respuesta debería ser siempre la misma con el valor que queráis)

Piensa un momento cual sería tu respuesta y luego sigue leyendo.

La realidad es que da igual cual sea tu respuesta, porque tu ya respondiste a esta pregunta cuando firmaste el contrato al elegir la licencia para tu plugin. Recuerda que tienes un contrato con el que te comprometes a cumplir tu parte, y el usuario, se compromete a cumplir la suya. Y en el contrato estás respondiendo a esa pregunta con un SI.

Si realmente tienes un problema con esto, deberías cambiar la licencia de tus desarrollos (cumpliendo con lo que te permite su licencia actual siempre).

Enfadarte, criticar o insultar (y decir a alguien que lo que hace no es éticamente correcto puede ser un insulto muy grave) a otros por cumplir un contrato que tu has elegido libremente, eso si es es criticable, y ciertamente no me parece nada ético o correcto.

Si no estás de acuerdo con la licencia GPLv2 de WordPress, puedes luchar con aquellos que quieren cambiarla y hacerla más restrictiva, puedes opinar en los debates por lo que crees que es incorrecta y puedes tener tu opinión sobre los problemas que puede causar a tu negocio o al mundo del WordPress, pero no tienes derecho a criticar a alguien por cumplirla.

Opinión opinable

Como digo, estos últimos párrafos son mi opinión 100%, y estaré encantado de discutir sobre ello en los comentarios, tomando unas cañas (mejor) en el próximo WordCamp o en el Slack de la comunidad (¡únete!), pero lo escrito en los párrafos anteriores (con los posibles errores que haya podido cometer y las simplificaciones obligadas) no es opinión sino hechos y realidades de cómo funciona el mundo del WordPress y sus licencias. Espero que esto ayude a entenderlo mejor. Gracias por llegar hasta aquí.