Ariel Costas's Personal Website

La Trampa Permisiva

Por Ariel Costas - 19 de septiembre de 2021

Imagina que pasas meses investigando sobre algo, y sacas ciertas conclusiones que pueden aplicarse en el mundo real para mejorar la vida a todo el mundo. Compartes esto con el mundo, y llega una corporación, toma tu idea, hace un par de cambios y no los comparte, pero aún así hace dinero restringiendo al resto de la sociedad.

Ahora, digamos que es un programa: pasas meses creando un programa que resuelve un problema y lo compartes con el mundo bajo una licencia Libre para que cualquiera lo use, estudie y comparta. Pero una gran corporación tecnológica (Big Tech, en inglés) viene, toma ese trabajo creado por tí, cambia un par de cosas y lo comparte bajo una licencia privativa, sin compartir las mejoras o dejar a otros que aprendan de estas.

Esto, querido lector, es la Trampa Permisiva, donde la gente piensa que usar una licencia “permisiva” es bueno porque tiene más libertad que una “licencia viral” como la GPL.

Copyleft y permisiva ¿que significan?

Copyleft (no hay traducción al castellano que no sea literalmente “Izquierdos de autor”, y suena rato) es el mejor método para compartir un trabajo en una forma Libre y asegurarse de que siempre permanezca así; y cada cambio contribuya a mejorar las versiones de otros, y por tanto contribuir a la sociedad. Ejemplos de estas licencias son la General Public License -GPL- de GNU (Licencia Pública General) y la CreativeCommons Atribución CompartirIgual (CC BY-SA).

Una licencia permisiva es aquella que no implementa medidas de copyleft, y permite a cualquiera tomar un trabajo bajo esa licencia y compartirlo con otros bajo una licencia distinta. Estas licencias son comnues en el “código abierto”, siendo las más comunes la Apache y la Expat del MIT.

Why copyleft is ethical and “permissive” isn’t

Una licencia Libre es aquella que te da ciertas libertades, en el caso del Software:

  1. Ejecutar el programa, o no, de la forma que quieras y para cualquier fin.
  2. Estudiar el código fuente del programa y modificarlo para que haga lo que tú quieras.
  3. Distribuir copias del programa original, incluso cobrando si lo deseas.
  4. Compartir tu versión modificada con otros para contribuir a mejorar la informática de otros usuarios.

Si recibes un programa con estas libertades, y las ejercitas, al menos debería ser obligatorio que transmitas esas libertades a las personas con las que compartes tu programa. Por esta razón, la misma licencia Libre debe preservarse en trabajos derivados.

Alguna gente puede pensar pero si no me permites relicenciar el programa, este no me está dando una libertad total. Podría ser un argumento válido, pero consideremos lo siguiente: si recibes un programa con libertades, no es justo que puedas usar esa libertad para restringir la libertad de los demás.

Cuando haces un programa privativo, estás restringiendo esas libertades que te fueron dadas. Eso es injusto y no es ético.

Programs that use the permissive trap

Evidentemente, las corporaciones saben cómo funcionan las licencias y tienen un departamento de márketin que hará cualquier cosa para vender más copias de su basura privativa.

Su técnica sucia consiste en esto: crear un programa bajo una licencia “de código abierto” (evitan el término «Software Libre» porque significaría que el resto de sus programas son «privativos»). Eso está bien, todo el mundo tiene las cuatro libertades… hasta que hacen ciertas partes privativas y comparten los binarios bajo una licencia privativa.

Déjame dar un ejemplo: Microsoft VSCode, un editor de texto muy popular. Ignorando el hecho de que está hecho con Electron (dudosamente Libre), VSCode es Software Libre bajo la licencia MIT/Expat, que permite que se hagan versiones privativas.

Microsoft toma ese código Libre, añade su telemetría y módulos privativos con funcionalidades imporantes y lo publican bajo un EULA privativo mientras lo venden como que es “open source” y que “Microsoft <3 Código Abierto”.

Hay más ejemplos, como Android: el Proyecto de Código Abierto Android (AOSP, en inglés) es Libre, pero casi todas las ROM de los fabricantes vienen bajo una EULA privativa, compilados junto a su espionaje (también conocido como telemetría), puertas traseras y más malware similar.

Así que, la próxima vez que escojas una licencia, considera si la libertad de las corporaciones para restringir a sus usuarios es más imporante que preservar la libertad de los usuarios y programadores; y utiliza una licencia con copyleft, aunque sea una biblioteca

Si simplemente quieres contribuir con código, pero no mantener un paquete, considera si querrías que tu trabajo voluntario sea usado por otros para beneficiarse creando una injusticia. Personalmente, no contribuiría a un proyecto sin copyleft, salvo en casos específicos.

Siéntete libre de escribir tus comentarios por correo ¡Te leeré y contestaré!

¡Feliz Hacking!