Por qué quiero crear mi propio cliente HTTP gráfico

En los últimos tiempos, he visto como aplicaciones populares para ejecutar interactivamente peticiones HTTP, como Postman o Insomnia, perdían completamente el norte en pro de lo que imagino que es una orden de los inversores de cada equipo de desarrollo de dejar de quemar dinero en un programa cuya definición es «cURL pero gráfico» y llevaban a cabo movimientos hostiles contra sus usuarios.

Postman, en particular, intentó retirar el soporte local para scratchpads, obligando a crear una cuenta para hacer peticiones HTTP. Hubo gente que no se lo tomó bien y cuando empezaron a sacar las antorchas, decidieron en su lugar poner el «lightweight client», que es básicamente retirar funciones que previamente funcionaban y esconderlas detrás de un muro. ¿Quieres guardar una petición para repetirla luego? Búscala en el historial… o inicia sesión. ¿No quieres crear una cuenta? Pues dile adiós a tus datos locales.

Casi a la vez, Insomnia intentó hacer la misma jugada. De una versión a otra, sustituyeron la pantalla de inicio de la aplicación por un mensaje de inicio de sesión, sin dar si quiera posibilidad a exportar los datos que ya tuvieses guardados dentro de ella. ¿Quieres ver de vuelta tus peticiones? Dame tus datos antes. Con esto de las actualizaciones automáticas, no mucha gente tuvo tiempo de parar y se dieron cuenta cuando ya era demasiado tarde. La gente sacó las antorchas de nuevo, y el equipo de Insomnia dio marcha atrás cuando vieron la reacción de la gente.

If a GUI wrapper around curl has the courage to host a conf, you can make your side projects public
Si no me das dinero cada mes por hacer peticiones HTTP, no sé cómo pretendes que financie una conferencia luego. (Fuente)

Creo que necesitamos alternativas verdaderamente libres y modernas a este tipo de programas de software para que este tipo de cosas dejen de ocurrir. Con libres, me refiero a libres como en libertad, es decir, que usen la licencia GNU General Public License o una estrictamente equivalente. Una que de algún modo permita que no se pisoteen las libertades de sus usuarios para obtener, comprender, modificar o distribuir el software.

Aquí voy a excluir específicamente a productos hechos con licencias open source como la BSD o la MIT. Uso este tipo de licencias a menudo cuando subo código a internet, pero en este caso busco algo que sea específicamente GPL, por el carácter viral de su licencia. El nuevo muchachito en el barrio, Bruno, por ejemplo, tiene licencia MIT, por lo que aunque prometen que quieren hacer las cosas de otro modo en cuanto a cómo balancear cultura del open source con sostenibilidad económica, para este caso concreto lo voy a considerar insuficiente.

Es curioso que mientras que tenemos un montón de software libre para otras cosas, como editores de imágenes o incluso de vídeo, apenas existan alternativas libres con licencia GPL o compatible para hacer peticiones HTTP o probar APIs REST. La única que he encontrado es Spectator, y aun así es una aplicación con demasiadas opiniones.

Por lo tanto, creo que en vez de quejarme continuamente de que nadie haga nada, voy a intentar poner un poco de mi parte para cambiar el estado de las cosas de una forma más proactiva.

Vale pero, ¿entonces qué c**o quieres?

Mi manifiesto es:

  • No quiero pagar una suscripción mensual o anual para tirar una petición HTTP pulsando un botón con el ratón.
  • No quiero tener que iniciar sesión por, esencialmente, no querer escribir un shellscript que invoque a curl.
  • No quiero tener que usar un software que no anteponga mis libertades como usuario a tu modelo de negocio a la hora de intentar recopilar datos de uso.

Y ya opcionalmente:

  • No quiero tener que usar un programa hecho en Electron que sea irrespetuoso con los recursos y la memoria RAM de mi ordenador.
  • No quiero que me metas inteligencia artificial como excusa para ejecutar acciones en tu nube en vez de en mi máquina.

Por lo tanto, lo que busco es una aplicación que sea:

  • Nativa. Nada de aplicaciones web recompiladas para ordenador, por favor.
  • Libre, con licencia GNU General Public License v3 o superior.
  • Multiplataforma y que pueda compilarse para Windows. No es lo que Stallman querría, pero supongo que si su querido GNU Emacs también está disponible para Windows, no será para tanto.
  • Anónimo. Sin recopilar datos ni obligar a crear una cuenta.

Cierro el post remarcando que es curioso que todas las preocupaciones que hace varias décadas se pusieron encima de la mesa por parte de los defensores del software libre respeto al «código abierto» con el tiempo han acabado cumpliéndose. No tengo nada en contra de que la gente quiera hacer dinero con su software. De hecho, ojalá llegar a un punto de mi vida en el que escribir software independiente me dé suficiente dinero como para no necesitar escribirlo para otras personas. Sin embargo, considero que hay demasiados actores maliciosos intentando aprovecharse de un trabajo colectivo en beneficio propio, que es justo una de las cosas de las que hace años trataron de avisar.