Libertad y Gratuito, La Misma Palabra en Inglés - Free

• Herbert Wolverson

Soy Herbert, desarrollador principal de LibreQoS. Me uní poco después de que Robert y Dave iniciaran el proyecto, agregué soporte para IPv6 y creé la mayor parte de los componentes en Rust, C, etc.

He sido creyente del Software Libre desde principios de los años 90. Tenía un BBS (en OS/2) y necesitaba software personalizado. Un amigo me recomendó el GNU Compiler Collection. Al principio, adopté una postura utilitaria: “¡wow, puedo escribir el software que necesito sin gastar el poco dinero que tengo!”. Y así lo hice: varias utilidades de entrada/salida de terminal para mi BBS. Una de las grandes cosas de los “Bulletin Boards” era que conocías gente; me hice amigo de otros operadores de sistemas y descubrí que ellos también necesitaban estas herramientas. En ese tiempo, las licencias shareware estaban de moda, pero no encajaban con lo que yo quería. Yo quería compartir el código, permitir que otros lo compartieran y, si alguien hacía mejoras, quería que todos se beneficiaran. Afortunadamente, la respuesta estaba frente a mí: el GNU Compiler Collection venía con la “GNU Public License”, diseñada justamente para eso. Así que compartí mis herramientas, recibí mejoras y todos salimos ganando.

A finales de los 90, probé SunOS en el laboratorio de computación de la Universidad de Hull — y me encantó. UNIX era increíble. Así que investigué qué se necesitaba para tener UNIX en casa, y la respuesta fue “deja de ser un estudiante sin dinero”. Afortunadamente, Linux 2.0.0 acababa de salir y Slackware 95 tenía una distribución en CD bastante amigable (según los estándares de Linux en aquella época). También costaba más que el precio de unos CDs y etiquetas bonitas. ¿Y sabes qué? Escribí un cheque, recibí los CDs y fui muy feliz. Tenía el software y la gente de Slackware podía comer; eso es un intercambio justo. Desde entonces, durante décadas, he publicado software libre en C, C++, C#, Java, Perl, Rust y probablemente más. He elegido diferentes licencias según el proyecto, pero la promesa central siempre ha sido la misma: no solo obtienes el software, obtienes la libertad de usarlo como quieras, modificarlo y adaptarlo a tus necesidades.

El inglés es un idioma complicado en algunos aspectos. La palabra “Free” puede significar “libertad” y también “gratis”. El francés tiene un mejor sistema, con “libre” (libertad) y “livre” (gratis) como palabras distintas (y lo mismo pasa en el Español). Esto ha generado décadas de confusión y debate en la comunidad angloparlante, pero al final podemos recurrir a Richard Stallman (fundador de GNU y la GPL) para una definición:

“Cuando hablamos de software libre, nos referimos a libertad, no a precio”, explicó Stallman en el preámbulo de la GPL. A finales de los años 80, lo simplificó aún más: “No pienses en “free” como en cerveza gratis; piensa en “free” como en libertad de expresión.” (1 - página 132)

Si profundizas en los escritos de Stallman (lo recomiendo mucho), verás que ha abordado este tema repetidamente. Incluso ha dicho que el licenciamiento dual es válido, que el software GPL puede tener un costo (es libre siempre que el código fuente permanezca libre — puedes cobrar por el acceso al software; de lo contrario, Red Hat no habría podido tener éxito).

En los últimos años, el software libre y de código abierto ha enfrentado un problema. Comenzó con TiVo (modificando Linux y distribuyéndolo como servicio, de modo que nadie se beneficiara de las mejoras), lo que GNU intentó contrarrestar con la GPLv3 (y AGPL).(2) Desafortunadamente, Linux no migró a AGPLv3. Si dependiera de mí, LibreQoS sería completamente AGPLv3 — pero la compatibilidad con Linux y la capa de eBPF nos mantiene en GPLv2. Ese no es el único problema. Gran parte de Internet funciona gracias al código abierto, pero cada vez menos personas donan para mantener los proyectos de los que dependen. Bruce Perens (cofundador de la iniciativa open source) describe esto como el problema de la “extracción de riqueza” — una reinterpretación de la tragedia de los comunes. La base común de la que dependemos se desgasta mientras las empresas se benefician de su trabajo. Como resultado, Perens fundó el proyecto post-open (3); aún no está lo suficientemente avanzado para adoptarlo, pero el principio es correcto. La libertad no es muy útil si quienes hacen el trabajo apenas sobreviven mientras otros prosperan.

Frank conoció a Dave en 2022 mientras trabajaba con routers OpenWrt, y al conocer su trabajo en bufferbloat entendió que LibreQoS podía ser ese multiplicador de fuerza necesario para escalar en redes ISP alrededor del mundo. Dave ha invertido todo su dinero e incluso su salud en resolver el bufferbloat, y esta era la única forma viable de que el mundo pudiera retribuirle algo.

Después de Wispapalooza 2022, Dave estaba en una situación financiera muy difícil. No podía costear la atención médica que necesitaba, apenas podía pagar la electricidad y comer. Robert tomó la decisión de comercializar LibreQoS — y yo lo apoyo. Dave Taht creó CeroWRT, co-creó fq_codel y CAKE, contribuyó al kernel de Linux y al software libre durante décadas. Lideró el proyecto Bufferbloat. Millones de personas se benefician diariamente de su trabajo. Y aun así, no podía mantener un nivel de vida básico. Eso no está bien.

Inicialmente, hicimos que Long-Term Stats fuera una opción de pago y promovimos donaciones. Las donaciones fueron muy bajas. Así que tomamos la difícil decisión de requerir una licencia de Insight (o API) a partir de 1,000 circuitos — un número que más del 95% de nuestros usuarios nunca alcanza. Mantuvimos la libertad — el código fuente está disponible. Y mantenemos el modelo de bazar; la comparación entre catedrales y bazares es exactamente donde debes enfocarte.(4) Hazte un favor y lee The Cathedral and the Bazaar. Eric Raymond presenta puntos excelentes — y nuestro código fuente está aquí, en el bazar, orgullosamente con licencia GNU. Y como en cualquier bazar, si no te gusta — hay muchas catedrales afuera (algunas con puertas cerradas). Preseem, Bequant, Paraqum — todas cuestan mucho más que LibreQoS y no comparten el código. Mikrotik tiene fq_codel y CAKE, pero tampoco comparte el código fuente. Puedes usar OpenWRT en todos tus CPEs, construir tu propio núcleo — o no usar QoE en absoluto. Tienes esa libertad.

En cuanto a precios: tenemos precios regionales (considerando el costo del Internet en distintas partes del mundo). Negociamos con quien lo solicite. También entendimos — en respuesta a comentarios de usuarios — que no todos quieren Insight, por lo que existe una opción solo API. Además, tienes el código fuente de forma gratuita.

En lo personal, sigo creyendo en el software libre. No creo que los desarrolladores deban invertir cientos o miles de horas creando software útil y aun así verse obligados a vivir en condiciones precarias. Tenemos miles de ISPs usando LibreQoS en todo el mundo; si todos contribuyeran, sería increíble. Pero como menciona Perens, las donaciones son mínimas y miles de usuarios se benefician sin apoyar. No solo nos pasa a nosotros; Nginx, Grafana y muchos otros proyectos de software libre enfrentan este problema.

(1) Free as in Freedom (2.0): Richard Stallman and the Free Software Revolution. Williams, Sam revised by Stallman, Richard. https://sagitter.fedorapeople.org/faif-2.0.pdf

(2) https://www.gnu.org/philosophy/tivoization.html

(3) https://postopen.org/

(4) https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar