Bitwarden casi deja de ser software libre

Discretamente, una noticia ha pasado por el mundo del software libre a lo largo de la semana pasada. Algunos usuarios reportaban en GitHub que no podían compilar correctamente en su máquina sin una dependencia recientemente introducida, que introduce ciertas cláusulas en su licencia que son incompatibles con una de las cuatro libertades del software libre. En otras palabras, que Bitwarden dejaba de ser software libre.

Bitwarden, para quien no lo conozca, es un gestor de contraseñas abierto. Los gestores de contraseñas son programas que permiten organizar las contraseñas de forma segura en una lista, en vez de tenerlas apuntadas, tratar de recordarlas mentalmente, acabar usando la misma en todas partes, o una mezcla de todas las opciones. Con Bitwarden puedes crear aleatoriamente una contraseña, como eK9@$WFCjTqBENkN7G (por favor, no uses esta), que tenga suficientes caracteres y que sea lo suficientemente intrincada como para dificultar que un atacante la pueda reventar por fuerza bruta para desbloquear alguno de tus servicios. Como se guardan de forma segura en su lista, no necesitas recordarla, sólo usar su aplicación y copiarla y pegarla cada vez que necesites iniciar sesión, o usar su extensión para navegador.

Cuando se publicó el issue, empezó un intenso debate en los comentarios de GitHub, donde la gente inmediatamente empezó a cuestionar la falta de confianza, y de que tal vez sea el momento de empezar un fork. La noticia llegó a Reddit, Hacker News y otros agregadores, y eso echó más leña al fuego, hasta que un moderador cerró los comentarios para reducir el ruido.

Sin embargo, un par de días después y tras algo de especulación, una persona responsable en Bitwarden respondió para dejar claro que la razón por la que el programa no compilaba y la falta de licencias libres era un bug y no una feature, y agregaron la licencia GPL a la nueva dependencia que habían introducido. Bitwarden volvía a respetar las cuatro licencias del software libre.

El repositorio de Winamp ha sido borrado de GitHub

Hace unas semanas, Winamp, el veterano reproductor de música para Microsoft Windows, publicó su código en internet, como cubrí en el blog. Este hecho llamó mucho la atención por varias razones. Para empezar, porque Winamp era ese reproductor de música extremadamente popular a principios del siglo XXI, que desapareció de la noche a la mañana en cuanto el streaming entró en auge y en cuanto Winamp cambió de propietarios por unos que no parecían tener muy claro exactamente qué estaban comprando. La otra razón por la que llamó la atención, fue por la caótica forma en la que el código fue publicado.

La licencia que habían elegido para distribuir el código fuente no permitía crear forks, ni se podía considerar realmente abierta. Podías estudiar el código con fines personales, pero cualquier modificación que se te ocurriese debía ser enviada al repositorio central, para su valoración por parte de los desarrolladores de Winamp y su inclusión en la siguiente versión. Era ilegal crear versiones modificadas de Winamp y distribuirlas en código o binario de forma paralela. Incluso aunque técnicamente es necesario hacer un fork de Winamp para poder enviar contribuciones al repositorio, como muchos usuarios de GitHub hicieron notar.

Todo ese historial, el código, los tickets abiertos, y hasta los trolleos, han desaparecido como lágrimas en la lluvia, porque tratar de visitar el repositorio de GitHub donde se alojaba el código ahora provoca un error 404.

Pantalla de error de 404 de GitHub.
Error 404 al tratar de visitar el repositorio de Winamp.

Podría haberse saltado las licencias

Aunque de momento nadie ha dado una explicación convincente, una hipótesis por la que podría haber desaparecido es debido a que la comunidad ha estado señalando estas últimas semanas bastantes faltas en torno a código que no es propio de Winamp pero que se usaba para fabricar la aplicación igualmente. Por ejemplo, se señaló que había código fuente de empresas como Dolby, Intel o Microsoft en algunos de los archivos del proyecto que estaba clasificado como «confidencial».

Otros usuarios advirtieron que algunos de los archivos del repositorio también procedían de otras bibliotecas con licencia GNU GPL, lo que ponía a Winamp en una situación delicada porque enlazar código GPL y modificar código GPL requiere que se use la misma licencia de software, y no otra.

Los autores del proyecto retiraron los archivos, pero no los purgaron del todo. Cualquier persona con conocimientos de Git podía examinar el historial y localizar esos archivos en versiones viejas del repositorio.

Un código abierto que no convence a nadie

Entre las críticas recibidas estas semanas, se encontraba gente que estuvo involucrada directamente con Winamp. Hace unas semanas, Justin Frankel, uno de los creadores originales de Winamp, decía lo siguiente:

Estos términos de uso son completamente absurdos en la forma en la que están escritos: «no puedes crear, mantener y distribuir una versión modificada del software». Hacer cualquier cambio, entonces, podría ser clasificado como «crear una verrsión modificada». Tal como están escritos, estos términos son terribles. No gracias.

En los foros de Ars Technica, una persona que trabajó hasta hace pocos meses en la empresa que actualmente poseía Winamp daba un poco más de contexto sobre cómo se ha llegado hasta aquí, indicando que los nuevos propietarios de Winamp inicialmente veían con malos ojos hacerlo de código abierto (¿para qué entregar algo que nos ha costado dinero?), como si no existiesen ya 50.000 reproductores de música a estas alturas. Sólo la propuesta de que esto tal vez mejoraría la imagen de Winamp con la comunidad les hizo cambiar de idea, y aun así el equipo que se iba a ocupar de limpiarlo para que esto no ocurriese fue despedido hace unos meses por recortes de personal.

La imagen de Winamp, efectivamente, estaba deteriorada. Años de mal uso de la marca, la incursión fallida en el mundo de los NFTs y la sensación de desenganche con la comunidad de usuarios fieles provocaron que la gente se olvidase de Winamp para bien. Este intento de lavar su imagen no va a mejorar las cosas visto cómo ha acabado.

El código fuente de Winamp ahora se puede leer, pero no esperes una versión nativa para GNU/Linux

Hubo una época en la que Windows no traía reproductor de música. Así que si conectabas tu ordenador recién actualizado a Windows 98 o Windows 2000 a internet y querías escuchar alguno de esos archivos de audio que te habías descargado mediante módem, tenías que traerte tu propio reproductor de audio.

El éxito y la caída de Winamp explicado para zoomers

Winamp triunfó porque era ligero, reproducía cualquier tipo de archivo, tenía ecualizador, visualizadores y una capacidad de cambiar su tema e instalar mods que ningún otro programa de la época podía superar, y porque su modelo de distribución era un programa de instalación de pequeño tamaño que se podía descargar desde su web oficial, o cualquier otra página de descargas, o incluso compartir con familiares o amigos copiándolo en un disquete, sin problemas legales.

Este éxito les duró 10 años. En 2007, presentaron una nueva interfaz de usuario con cambios tan drásticos que los usuarios más tradicionales no aceptaron, incluso aunque el botón para volver al aspecto tradicional seguía estando ahí. El equipo original había dejado de trabajar en el reproductor y sus nuevos propietarios empezaron a tomar malas decisiones de gestión en un mal momento.

Windows ya traía reproductor de música así que la demanda por un programa separado para reproducir audio había disminuido. Winamp trató de subirse al carro de los reproductores portables agregando un modo para sincronizar canciones con un iPod, reproductores MP3 y hasta sincronización con Android. Pero en los años siguientes, la llegada del streaming y dejar de poseer la música cambió las cosas. Sus propietarios seguían sin saber qué hacer con el producto y finalmente lo pusieron a dormir a finales de 2013.

La marca Winamp actualmente sigue siendo usada, pero ahora es un reproductor diferente orientado a escuchar música en streaming, con características como NFTs, Ethereums, Blockchain, Winchy, Friskies, en fin, que no está colando por lo que sea. Wimamp Legacy sigue existiendo porque sigue siendo posible descargar desde su web la última versión de Winamp 5 tradicional para Windows. Y ahora ese código está disponible en GitHub.

Este Winamp no puede ser considerado software libre

La licencia que le han puesto al código no permite distribuir compilaciones modificadas del código fuente. Impone demasiadas restricciones y busca unificar los esfuerzos colaborativos al repositorio central.

You are granted the right to view, access, and study the source code of the software. You are granted the right to Modify the software for private use only.

You are encouraged to contribute improvements, enhancements, and bug fixes back to the project. Contributions must be submitted to the official repository and will be reviewed and incorporated at the discretion of the maintainers.

You may not distribute modified versions of the software, whether in source or binary form.

You may not create, maintain, or distribute a forked version of the software.

Only the maintainers of the official repository are allowed to distribute the software and its modifications.

La forma en la que en su página web describen la existencia de este repositorio Github también es bastante peculiar:

Do you want to be part of the community of developers who improve and maintain the historic Winamp player? Join the team that contributes to future versions of Winamp.

The contract is specific to the use of Winamp and must respect several fundamental aspects, including the fact that no commercial use is permitted. This is why Winamp will release 2 official versions each year, which will guarantee the user complete security and respect the fact that the product is free.

Casi se siente más como una oferta de trabajo que como un proyecto de código abierto honesto. La comunidad no se lo está tomando bien, aunque quienes más están molestando en el repositorio son niños rata intentando trollear a golpe de ticket o de pull request.

Sin embargo, la clave es que derivar Winamp, modernizar su código fuente, y posiblemente llevarlo a otras plataformas serían ejemplos de cosas que estarían prohibidas bajo estos términos, que sólo da permiso para acceder, leer y estudiar el código fuente, y modificarlo para consumo privado, prohibiendo distribuir código fuente o ejecutables modificados. Cualquier mejora debe ser enviada de vuelta al repositorio, y será integrada bajo criterio de los dueños del mismo.

Por lo tanto, no conviene esperar por el momento una versión de Winamp para GNU/Linux. Ya no sólo porque ahora mismo utiliza demasiados componentes propios de Windows, como DirectX o una interfaz gráfica muy ligada al entorno gráfico de Windows, sino porque cualquier esfuerzo por modernizarlo y hacerlo más compatible con otro sistema operativo tendría que ser previamente aprobado.

Lo único que nos queda con esto es el recuerdo de una era que probablemente ya fue, que hacía más apetecible explorar y descubrir cosas y donde las posibilidades parecían ilimitadas.