Defectos de Libertad de Rust

Como activistas del software libre, todos disfrutamos utilizando lo último y lo mejor en software libre, pero debemos asegurarnos de que el software que estamos utilizando realmente respete nuestra libertad. Muchos usuarios nos han expresado su deseo de ejecutar Rust, ya que parece ser un software totalmente libre, pero todavía falla de varias maneras.

¿Cuáles son los problemas?

Rust y también Cargo (el administrador de paquetes de Rust) violan la libertad de redistribuir sin aprobación "explícita". Su licencia de marca impone requisitos para la distribución de versiones modificadas que hacen que sea inconveniente ejercer la libertad 3. La Guía de Medios de Rust dice que simplemente complementa la política oficial de marcas registradas de Mozilla; no lo reemplaza. Como se aplica su política de marcas, todo lo que aparece en esa lista (incluidos Rust y Cargo) tienen el mismo problema que Firefox y Thunderbird.

En resumen, Mozilla no estará contento con nosotros aplicando parches y modificaciones a su lenguaje de marca registrada sin “aprobación explícita”, excepto para uso no comercial, por lo que es un problema de libertad. Para más referencias, hay un informe en Rust sobre esas restricciones de marca registrada y la respuesta de Niko (uno de los miembros del Equipo Legal de Rust).

Big Picture

Hay aplicaciones importantes que integran Rust como un lenguaje de primera-clase. Tor es uno de ellos, y en algún momento en el futuro, el equipo de Tor tiene planes de anunciar un lanzamiento y una fecha de lanzamiento donde se requerirá Rust. Incluso el Equipo de Kernel de Linux está interesado en proporcionar módulos escritos en Rust.

Como alternativa a Tor, se puede usar i2pd (I2P Daemon). Es una implementación C++ con todas las funciones del cliente I2P, útil para construir y usar la red anónima I2P. Sin embargo, i2pd no es compatible con la red Tor y utiliza .i2p en lugar de sitios .onion (también conocidos como servicios ocultos de Tor).

Soluciones

  • Cambio de marca de todo el lenguaje para evitar la restricción de marca registrada. Tales como IceCat se hizo para reemplazar Firefox y Iceweasel-UXP para reemplazar a Basilisk; sin embargo, es un lenguaje de programación, no un navegador. Una versión renombrada de Rust mantenida por GNU Project y las distribuciones compatibles con FSDG podrían ser el camino. Sin embargo, necesitaríamos parches para adaptar todas las aplicaciones dependientes de Rust a la versión modificada de Rust, ya que es un lenguaje de programación. También necesitaríamos mantener una lista de paquetes de cargo no libres para incluirlos en la lista negra para your-freedom.
  • Conseguir que Rust cambie su acuerdo de marca registrada para permitir modificaciones en el binario rust para cualquier propósito con respecto a la Libertad 3.

Comparaciones con otras marcas registradas de software

Algunos usuarios han mencionado correctamente que muchos otros paquetes de software tienen marcas registradas, ¿planeamos eliminarlos todos? No. No estamos en contra de todas las marcas registradas, solo aquellas que prohíben explícitamente el uso normal, parches y modificaciones.

Como ejemplo, ni Python PSF ni las marcas registradas de Perl actualmente prohíben parchear el código sin aprobación previa. Prohíben el abuso de sus marcas registradas, por ejemplo, no puede crear una empresa llamada “Python”, pero esto no afecta su capacidad de modificar su software libre y/o aplicar parches.

Debido a la cláusula anti-modificación, Rust es una marca no permisiva que viola la libertad del usuario.