Recopilación y traducción del boletín mensual de noticias relacionadas con el software libre publicado por la Free Software Foundation.
¡El boletín de noticias de la FSF está aquí!
La Free Software Foundation (FSF) es una organización creada en Octubre de 1985 por Richard Stallman y otros entusiastas del software libre con el propósito de difundir esta filosofía, frente a las restricciones y abusos a los usuarios por parte del software privativo.
Por cierto este mes se cumplen 40 años de la creación de la FSF.
La Fundación para el software libre (FSF) se dedica a eliminar las restricciones sobre la copia, redistribución, entendimiento, y modificación de programas de computadoras. Con este objeto, promociona el desarrollo y uso del software libre en todas las áreas de la computación, pero muy particularmente, ayudando a desarrollar el sistema operativo GNU.
Mensualmente publican un boletín (supporter) con noticias relacionadas con el software libre, sus campañas, o eventos. Una forma de difundir los proyectos, para que la gente conozca los hechos, se haga su propia opinión, y tomen partido si creen que la reivindicación es justa!!
Por aquí te traigo un extracto de algunas de las noticias que ha destacado la FSF este mes de diciembre de 2025.
Sólo el software libre permite la soberanía digital
Del 24 de noviembre por la FSFE
El “Germany Stack” es un proyecto central de política digital del gobierno federal alemán. La FSFE pide que Stack se planifique en estrecha coordinación con los socios europeos y se implemente íntegramente como software libre, ya que sólo las cuatro libertades permiten la soberanía digital. Continúe leyendo para obtener más información sobre los detalles de esta solicitud del gobierno federal alemán, incluidos los principios en los que debería basarse el Stack.
El ejército estadounidense quiere arreglar su propio equipo. Los contratistas de defensa están intentando derribarlo.
Del 26 de noviembre por Boone Ashworth
Es probable que las disposiciones sobre el derecho a reparar en la Ley de Autorización de Defensa Nacional, que asegurarían la financiación para el ejército estadounidense en 2026, sean eliminadas del texto final del proyecto de ley a pesar de disfrutar de un amplio apoyo bipartidista, dijeron a WIRED fuentes familiarizadas con las negociaciones en curso.
Dicen que es probable que las disposiciones de la ley que permiten a los militares reparar sus propios equipos se eliminen por completo y se reemplacen con un plan de suscripción de datos como servicio que beneficie a los contratistas de defensa.
Cloudflare caído: la interrupción global afectó a gran parte de Internet
Del 18 de noviembre por Kate O’Flaherty
Aparentemente, la mitad de la red mundial estuvo caída a mediados de noviembre debido a una interrupción de Cloudflare, lo que demuestra que el software privativo no es tan estable y seguro como les gusta afirmar a sus proveedores.
Tantos sitios web que dependen de un único proveedor para servicios de red y seguridad conllevan grandes peligros, tanto para su libertad como para su capacidad de utilizar un programa en el que puede confiar para trabajar. El software libre ciertamente también puede sufrir interrupciones, pero hay muchas más soluciones cuando se utiliza software libre que con software privativo.
Si actualmente utiliza un programa que se vio afectado por la interrupción de Cloudflare (o su lugar de trabajo lo hace), ahora podría ser un buen momento para hablar sobre cambiar a un programa comparable que respete la libertad.
Estas son solo algunas de las noticias recogidas este mes, ¡¡pero hay muchas más muy interesantes!! si quieres leerlas todas (cuando estén traducidas) visita este enlace:
Existen decenas de eventos del Software Libre: Akademy, Gaudec, Akademy-es, talleres de Linux Center, LAS, Flisol, etc. A casi todos les doy promoción en el blog y el de hoy no puede ser una excepción. Os invito a asistir al Congreso esLibre 2026 en Melide, Galicia, un evento que destaca por su apuesta por la Comunidad. Si podéis no os lo perdáis.
Congreso esLibre 2026 en Melide
Los encuentros de desarrolladores y simpatizantes del Software Libre son una de las mejores cosas que suele ofrecer este mundo del conocimiento compartido, y el caso del congreso que promociono por primera vez en el blog no es una excepción.
Se trata de esLibre cuya edición de 2026 se celebrará en Melida (Galicia) el 17 y 18 de abril y que todavía está en la fase de recibir propuestas para charlas… pero date prisa que el plazo finalizará pronto.
En palabras de sus organizadores:
Después de un necesario año sabático por parte de las personas que desarrollan a lo largo del año todas las actividades necesarias, retomamos la edición correspondiente al año 2026 de la mano de la Asociación de usuarios de software libre da Terra de Melide MELISA y del Grupo de Amigos de GNU/Linux de Pontevedra GALPon.
Esta vez tendremos que desplazarnos a Melide una villa de algo más de 8.000 habitantes donde se unen el camino primitivo y el camino francés hacia Santiago, en la provincia de A Coruña y a 53km de Santiago.
Los distintos eventos se realizarán en los espacios socio culturales cedidos por el Concello de Melide concretamente en el Centro Sociocultural Mingos de Pita y en el Edificio Multiusos situados justo al lado uno del otro en la misma Praza das Universidades.
A long-waited feature for syslog-ng, the Kafka source, is getting ready soon. The development is still in progress, but you can already try it, and it is worth the effort. How? Using the very same tool the syslog-ng testing and release process relies on.
From this blog you can learn how to download and patch syslog-ng git sources and build packages for popular RPM and DEB Linux distributions. Once you have installable packages, comes the fun part: getting the Kafka source working.
As the founder of the openSUSE Innovator initiative, and a member of the openSUSE and Intel Innovator communities, I maintain my ongoing commitment to bringing cutting-edge technologies to the different flavors of the openSUSE Linux distribution.
With the arrival of NPU (Neural Processing Unit) devices, it has become possible to run LLMs and generative AI applications without relying on a dedicated GPU. In light of this advancement, we began the work of packaging the Intel NPU Driver into RPM for the openSUSE ecosystem. As a result of this collective effort, the openSUSE for Innovators initiative is proud to announce the official availability of this package to the community.
The Intel NPU is an inference accelerator integrated into Intel CPUs starting with the Intel® Core™ Ultra family (formerly known as Meteor Lake). It enables efficient and low-power execution of artificial neural network workloads directly on the processor.
The NPU is integrated into the processor die, designed to perform matrix operations of neural networks with high energy efficiency. Its architecture complements CPU and GPU, enabling intelligent offloading for ONNX models, computer vision pipelines, quantized models, and hybrid model operations with simultaneous use of CPU+GPU+NPU.
Participating in this project is a source of great satisfaction, as we know it will have a significant impact on future applications. As members of an open-source community, we have a responsibility to democratize emerging technologies and help reduce the digital divide, and this delivery is another important step in that direction.
I was reading a blog post about the testing strategy for the Wild
linker, when I came upon a link to cargo-mutants, a
mutation testing tool for Rust. The tool promised to be easy to set
up, so I gave it a try. I'm happy to find that it totally delivers!
Briefly: mutation testing catches cases where bugs are
deliberately inserted in the source code, but the test suite fails to
catch them: after making the incorrect changes, all the tests still
pass. This indicates a gap in the test suite.
Previously I had only seen mentions of "mutation testing" in passing,
as something exotic to be done when testing compilers. I don't recall
seeing it as a general tool; maybe I have not been looking closely
enough.
Setup and running
Setting up cargo-mutants is easy enough: you can cargo install
cargo-mutants and run it with cargo mutants.
For librsvg this ran for a few hours, but I discovered a couple of
things related to the way the librsvg repository is structured. The
repo is a cargo workspace with multiple crates: the librsvg
implementation and public Rust API, the rsvg-convert binary, and
some utilities like rsvg-bench.
By default cargo-mutants only seemed to pick up the tests for
rsvg-convert. I think it may have done this because it is the
only binary in the workspace that has a test suite
(e.g. rsvg-bench does not have a test suite).
I had to run cargo mutants --package librsvg to tell it to
consider the test suite for the librsvg crate, which is the main
library. I think I could have used cargo mutants --workspace to
make it run all the things; maybe I'll try that next time.
Initial results
My initial run on rsvg-covert produced useful results; cargo-mutants
found 32 mutations in the rsvg-convert source code that ought to
have caused failures, but the test suite didn't catch them.
The second run, on the librsvg crate, took about 10 hours. It is
fascinating to watch it run. In the end it found 889 mutations with
bugs that the test suite couldn't catch:
With the sorted results, I can clearly see how cargo-mutants gradually
does its modifications on (say) all the arithmetic and logic operators
to try to find changes that would not be caught by the test suite.
Look at the first two lines from above, the ones that refer to AcceptLanguage::any_matches:
The two lines from missed.txt mean that if the body of this
any_matches() function were replaced with just true or false,
instead of its actual work, there would be no failed tests:
135fnany_matches(&self,tag:&LanguageTag)->bool{136false// or true, either version wouldn't affect the tests137}}
This is bad! It indicates that the test suite does not check that
this function, or the surrounding code, is working correctly. And
yet, the test coverage report for those
lines shows that they are indeed getting executed by the test suite.
What is going on?
I think this is what is happening:
The librsvg crate's tests do not have tests for AcceptLanguage::any_matches.
The rsvg_convert crate's integration tests do have a test for
its --accept-language option, and that is what causes this code to
get executed and shown as covered in the coverage report.
This run of cargo-mutants was just for the librsvg crate, not for
the integrated librsvg plus rsvg_convert.
Getting a bit pedantic with the purpose of tests, rsvg-convert assumes
that the underlying librsvg library works correctly. The library
advertises support in its API for matching based on AcceptLanguage,
even though it doesn't test it internally.
On the other hand, rsvg-convert has a test for its own
--accept-language option, in the sense of "did we implement this
command-line option correctly", not in the sense of "does librsvg
implement the AcceptLanguage functionality correctly".
After adding a little unit test for AcceptLanguage::any_matches in
the librsvg crate, we can run cargo-mutants just for that the
accept_language.rs file again:
Great! As expected, we just have 1 missed mutant on that file now.
Let's look into it.
The function in question is now <impl fmt::Display for
AcceptLanguageError>::fmt, an error formatter for the
AcceptLanguageError type:
implfmt::DisplayforAcceptLanguageError{fnfmt(&self,f:&mutfmt::Formatter<'_>)->fmt::Result{matchself{Self::NoElements=>write!(f,"no language tags in list"),Self::InvalidCharacters=>write!(f,"invalid characters in language list"),Self::InvalidLanguageTag(e)=>write!(f,"invalid language tag: {e}"),Self::InvalidWeight=>write!(f,"invalid q= weight"),}}}
What cargo-mutants means by "replace ... -> fmt::Result with
Ok(Default::default()) is that if this function were modified to
just be like this:
then no tests would catch that. Now, this is just a formatter function;
the fmt::Result it returns is just whether the underlying call to
write!() succeeded. When cargo-mutants discovers that it can change this function to return
Ok(Default::default()) it is because fmt::Result is defined as
Result<(), fmt::Error>, which implements Default because the unit
type () implements Default.
In librsvg, those AcceptLanguageError errors are just surfaced as
strings for rsvg-convert, so that if you give it a command-line
argument with an invalid value like --accept-language=foo, it will
print the appropriate error. However, rsvg-convert does not make any
promises as to the content of error messages, so I think it is
acceptable to not test this error formatter — just to make sure it
handles all the cases, which is already guaranteed by its match
statement. Rationale:
There already are tests to ensure that the error codes are computed
correctly in the parser for AcceptLanguage; those are the
AcceptLanguageError's enumeration variants.
There is a test in rsvg-convert's test suite to ensure that it
detects invalid language tags and reports them.
For cases like this, cargo-mutants allows marking code to be
skipped. After marking this fmt implementation with
#[mutants::skip], there are no more missed mutants in
accept_language.rs.
Yay!
Understanding the tool
You should absolutely read "using results" in the
cargo-mutants documentation, which is very well-written. It gives
excellent suggestions for how to deal with missed mutants. Again,
these indicate potential gaps in your test suite. The documentation
discusses how to think about what to do, and I found it very helpful.
Then you should read about genres of mutants. It tells you
the kind of modifications that cargo-mutants does to your code. Apart
from changing individual operators to try to compute incorrect
results, it also does things like replacing whole function bodies to
return a different value instead. What if a function returns
Default::default() instead of your carefully computed value? What
if a boolean function always returns true? What if a function that
returns a HashMap always returns an empty hash table, or one full
with the product of all keys and values? That is, do your tests
actually check your invariants, or your assumptions about the shape of
the results of computations? It is really interesting stuff!
Future work for librsvg
The documentation for cargo-mutants suggests how to use it in CI, to
ensure that no uncaught mutants are merged into the code. I
will probably investigate this once I have fixed all the missed
mutants; this will take me a few weeks at least.
Librsvg already has the gitlab incantation to show test coverage for
patches in merge requests, so it would be nice to know
if the existing tests, or any new added tests, are missing any
conditions in the MR. That can be caught with cargo-mutants.
Hackery relevant to my tests, but not to this article
If you are just reading about mutation testing, you can ignore this
section. If you are interested in the practicalities of compilation,
read on!
The source code for the librsvg crate uses a bit of conditional
compilation to select whether to export functions that are used by the
integration tests as well as the crate's internal tests. For example,
there is some code for diffing two images, and this is used when
comparing the pixel output of rendering an SVG to a reference image.
For historical reasons, this code ended up in the main library, so
that it can run its own internal tests, but then the rest of the
integration tests also use this code to diff images. The librsvg
crate exports the "diff two images" functions only if it is being
compiled for the integration tests, and it doesn't export them for a
normal build of the public API.
Somehow, cargo-mutants didn't understand this, and the integration
tests did not build since the cargo feature to select that
conditionally-compiled code... wasn't active, or something. I tried
enabling it by hand with something like cargo mutants --package
librsvg -- --features test-utils but that still didn't work.
So, I hacked up a temporary version of the source tree just for
mutation testing, which always exports the functions for diffing
images, without conditional compilation. In the future it might be
possible to split out that code to a separate crate that is only used
where needed and never exported. I am not sure how it would be
structured, since that code also depends on librsvg's internal
representation of pixel images. Maybe we can move the whole thing out
to a separate crate? Stop using Cairo image surfaces as the way to
represent pixel images? Who knows!
Un relato sobre cómo el brillo de un producto de Apple puede ser nada más que un espejismo, una cárcel muy lujosa y cara para sus «fanboys»
Una pequeña ficción sobre una historia de uno de esos dispositivos de Apple, que su márketing hace que lo necesites y después de unos años te dice que eso ya no es «cool» que mejor que cambies ese dispositivo que puede ser funcional, pero que ya está desfasado.
Un modelo de negocio que está basado en la opacidad, en la privación de libertad a sus usuarios, que irónicamente muchos de ellos son fieles defensores de sus dispositivos Apple, como Adam, el protagonista de este relato.
Este artículo es una traducción de un artículo escrito en inglés por Jason Self publicado bajo una licencia libre y publicado en su blog, que puedes leer en este enlace:
Adam no solo poseía productos Apple, profesaba fe en ellos. Con treinta y ocho años, programador de profesión, había pasado casi dos décadas cultivando una identidad como hombre de buen gusto, y el sumo sacerdote de ese gusto era la empresa de Cupertino. Sus amigos, su familia, sus compañeros —todos le conocían como «el tipo de la manzana», el que podía explicar, con la paciente convicción de un misionero, por qué sus elecciones eran… menos considerado. Su identidad no era solo usar los productos, sino entender y evangelizar su inherente «genio».
El objeto más sagrado de Adam, el brillante testimonio de su larga devoción, era un iPod Classic de 160GB. Era el último de su tipo, un bloque denso y pulido de cromo y aluminio anodizado que contenía quince años de su vida en sus pistas magnéticas giratorias. Era, decía a menudo, la obra completa de Adam, meticulosamente seleccionada.
Estaba en una fiesta en el abarrotado piso de un amigo, el aire cargado con el olor a cerveza artesanal y curry para llevar. Alguien había puesto una lista de reproducción genérica en streaming: un río sin fricciones de indie pop aprobado por algoritmos. Adam, sosteniendo su iPod como si fuera un libro de oraciones, estaba entre las personas de la fiesta.
«Verás, este es el problema», dijo, señalando a una pequeña audiencia cautivada. «Estás subcontratando tu gusto. Estás dejando que una máquina te diga lo que te gusta.»
Un colega más joven llamado Ben, que vivía su vida a través de una serie de listas de reproducción así, le miró escéptico. «Es fácil, tío. No tengo que pensarlo.»
«¡Exacto!» Los ojos de Adam se iluminaron. Este era su territorio. «Deberías pensarlo. La música no es solo ruido de fondo. Es la arquitectura de tus recuerdos. Mira.» Levantó el iPod. «Cada canción que hay aquí, la he elegido yo. Yo valoré. Lo arreglé. He construido esta biblioteca, pieza a pieza, a lo largo de una década. No es solo una colección, es un mapa de mi vida.»
Desbloqueó la pantalla, la icónica rueda de clics zumbando suavemente bajo su pulgar. El sonido era una fuente de placer profundo y táctil, un fantasma analógico en la máquina digital. «La genialidad de la rueda de clic», continuó, deslizando el pulgar sobre su superficie lisa, «es que puedes navegar por diez mil canciones sin mirar nunca la pantalla. Es memoria muscular. Es conexión».
Navegó hasta una lista de reproducción. «Y el software… Es magia. Pura magia. Hay estas mezclas geniales: simplemente crean sets perfectos de una hora basados en una sola pista. Es como tener un DJ que vive dentro de tu cabeza».
Habló de la «integración fluida», refiriéndose a cómo el iPod, la biblioteca de iTunes en su Mac y su antiguo iPhone funcionaban juntos en una «experiencia de usuario armoniosa y holística.» Describió el ecosistema no como una línea de productos, sino como una filosofía. Era un «jardín amurallado», y él era un residente feliz, alabando los altos muros que mantienen fuera el caos del mundo exterior: los virus, el mal diseño, la vulgaridad de la elección sin una cuidada selección.
«¿Pero qué pasa si muere?» preguntó Ben, con una pregunta sincera. «Ya no las fabrican, ¿verdad?»
Adam sonrió, paciente y cómplice. «Es Apple. Simplemente funciona. Y además,» añadió, con el núcleo de su delirio brillando, «soy parte de la familia. Cuidamos de los nuestros.» De verdad lo creía. No era solo un cliente. Era socio, contribuyente a la cultura, un compañero que compartía su genialidad. En su propia mente, era un vendedor muy querido y valioso para la mejor empresa del mundo.
Parte 2: La ambición bloqueada
La idea llegó, como suelen ocurrir las mejores, en un momento de tránsito tranquilo. Adam iba en el tren de las 7:42 de la mañana hacia la ciudad, el ritmo de las ruedas era una percusión familiar para la banda sonora de su vida. Su iPod estaba en modo aleatorio, un vasto océano de 20.000 canciones. Salió a la luz una canción de una banda indie olvidada hace mucho tiempo, una canción que había puesto cinco estrellas hace una década y que no había vuelto a escuchar desde entonces. La repentina oleada de recuerdos fue embriagadora.
Y entonces surgió la chispa.
El modo aleatorio es demasiado aleatorio, pensó. El genio es demasiado prescriptivo. Su biblioteca era un museo, y él solo visitaba las exposiciones principales. Lo que necesitaba era un conservador de todo ese arte que pudiera indagar en los archivos de esa biblioteca. La idea floreció, completamente formada, en su mente: «Modo aleatorio priorizado.» Un nuevo modo que reproduciría de manera inteligente solo sus canciones valoradas con cinco estrellas, pero con un giro crucial: priorizaría temas que no había escuchado en al menos seis meses, quizá un año. Sería un sistema para volver a descubrir sus propios tesoros olvidados, para revitalizar la misma biblioteca que había construido toda su vida.
Fue una idea realmente brillante. Simple, elegante y, para un programador como él, perfectamente alcanzable. Una oleada de energía pura y creativa recorrió su cuerpo. Esto era todo. Esta era su oportunidad para devolver, para añadir un pequeño toque de su propia ingenio a la «magia» que tanto veneraba. No era solo un usuario, era desarrollador. Podía contribuir a la familia de Apple.
Esa noche, estaba sentado en su escritorio, nervioso de excitación. Conectó el pesado iPod plateado a su MacBook. El dispositivo apareció en su escritorio, un icono familiar de confianza y fiabilidad. Abrió el sistema de archivos, esperando encontrar… algo. Un archivo de configuración, una carpeta de scripts, un lugar donde vivía la lógica del dispositivo. Algo.
Solo encontró las carpetas multimedia: Música, Vídeos y Podcasts. El sistema operativo, el firmware que controlaba todo el sistema, era invisible.
Un destello de confusión, nada más. Se adentro en la red, sus dedos volando sobre el teclado. «Cómo acceder al firmware del iPod Classic.» «Kit de desarrollo para iPod Classic.» «Código fuente del iPod Classic.»
Los resultados de búsqueda eran un páramo árido. No existían portales oficiales para desarrolladores de Apple para el sistema operativo del iPod. No hay kits de desarrollo de software (SDKs). Sin documentación. Encontró decenas de hilos en foros iniciados por personas como él, curiosos que hacían las mismas preguntas, recibidos con el mismo silencio resonante.
Se adentró más en artículos más técnicos. Aprendió sobre los propios archivos de firmware, los paquetes .ipsw que iTunes usaba para las actualizaciones. Pero no eran código fuente. Eran archivos binarios compilados, bloqueados, cifrados y firmados digitalmente por Apple. Eran cajas negras, diseñadas para ser instaladas, no para ser comprendidas.
La emoción en su pecho se fue transformando lentamente en un nudo frío de incredulidad. La «magia» era de sentido único. La interfaz hermosa e intuitiva era únicamente la superficie pulida de una bóveda sellada. Había pasado años admirando la arquitectura de los muros del jardín, sin pensar ni una sola vez en preguntar si la puerta estaba cerrada desde fuera.
El conflicto que iba a definir la siguiente etapa de su vida acababa de comenzar. No era un error del sistema. El sistema funcionaba perfectamente. El problema, empezaba a entender, era su propia ambición. El «problema» era su deseo de cambiar el dispositivo que creía suyo. Por primera vez, se dio cuenta de que no podía.
Parte 3: La despedida
Adam era un hombre del sistema. Cuando se enfrentaba a un problema, su instinto era seguir los canales adecuados. Un muro técnico había bloqueado su ambición, así que ahora apelaría a los arquitectos. Aún mantenía la creencia de que todo era un malentendido. La «familia Apple» se construyó sobre buenas ideas. Tenía una buena idea y necesitaba presentarla a las personas adecuadas.
Navegó hasta los foros oficiales de Soporte de Apple, un espacio limpio y en blanco de discusión ordenada. Pasó una hora componiendo su publicación, refinando cada frase para lograr el tono perfecto de un miembro leal y constructivo de la comunidad. No estaba allí para quejarse, estaba allí para hacer una contribución.
La publicación que realizó en el foro, titulada «Sugerencia de funciones para iPod Classic: ‘Modo aleatorio priorizado'», era un modelo de deferencia educada.
Hola a todos, he sido un miembro devoto de la familia Apple durante más de 15 años, y mi iPod Classic de 160GB sigue siendo mi dispositivo más utilizado. El diseño y el software son atemporales, y me gustaría agradecer a los equipos que construyeron y mantuvieron un producto tan maravilloso. Como desarrollador de software, recientemente tuve una idea para una función que daría nueva vida a las vastas bibliotecas que muchos de nosotros hemos ido creando a lo largo de los años. Lo llamo ‘Modo aleatorio priorizado’. El concepto es sencillo: un modo aleatorio que solo reproduce canciones de 5 estrellas que el usuario no haya escuchado en un periodo especificado (por ejemplo, 6 meses o 1 año). Sería una forma fantástica de revivir favoritos olvidados y hacer que las grandes bibliotecas vuelvan a sentirse frescas. Me encantaría implementar yo mismo un prototipo de esto. Mi pregunta para la comunidad y para cualquier representante de Apple aquí es: ¿Existe alguna forma oficial y autorizada para que los desarrolladores accedan al firmware del iPod o una API relevante para experimentar añadiendo nuevas funciones como esta? Gracias por su tiempo y por crear los productos que nos encantan. Saludos, Adam.
Pulsó el botón de «Publicar» y sintió alivio. Lo había hecho bien. Había sido el vendedor idóneo de su idea, ofreciendo valor y abriendo puertas. Las respuestas iniciales fueron alentadoras. Un usuario llamado «iPodFan82» escribió: «¡Es una gran idea! ¡Me encantaría eso para mi propia biblioteca!» Otro, «ClassicRockr», añadió: «Vaya, llevo años queriendo algo así.» Un pequeño destello esperanzador de comunidad.
Luego vino una versión más cínica de «MacHead_Realist»: «Tío, es un dispositivo de hace 15 años. Lo dejaron de fabricar hace años. No están añadiendo funciones. Sigue soñando.»
Adam estaba escribiendo una respuesta cuando apareció una nueva publicación. Era de un usuario con un logo corporativo azul corporativo de Apple como avatar. El nombre de usuario era «Apple_Kyle».
La respuesta fue alegre, educada y absolutamente devastadora.
¡Gracias por tu comentario! Siempre nos alegra escuchar ideas de nuestra apasionada comunidad. El iPod Classic es un dispositivo ya desfasado muy querido. Aunque ya no recibe actualizaciones de funciones, te animamos a explorar las últimas innovaciones en Apple Music para una experiencia de escucha dinámica.
Adam se quedó mirando las palabras: «comunidad apasionada». «Dispositivo obsoleto muy querido». El lenguaje era una almohada suave y corporativa, diseñada para ahogar su idea sin hacer ruido. Su sugerencia no fue rechazada, fue ignorada. Su dispositivo no era antiguo, era «obsoleto». Su pasión no era un recurso que se pudiera aprovechar, era un sentimiento que debía reconocerse para después redirigirle de nuevo a la línea de productos actual que estaban en el mercado.
Y entonces llegó el golpe final. Debajo de la publicación de Apple_Kyle, apareció una nueva línea de texto en cursiva gris:
Hilo cerrado. Para solicitudes de funcionalidades, por favor utilice el portal oficial de comentarios.
Tema cerrado.
La conversación había terminado. El destello de comunidad se extinguió. Adam sintió un frío estremecimiento, del tipo que siente un empleado leal cuando de repente le rechazan la tarjeta en la puerta. No lo despidieron simplemente, había sido silenciado. Su lealtad, su creatividad, sus años de evangelización no remunerada, no significaban nada. No era un compañero. No era familia. Su contribución no solo era no deseada, sino que era una conversación que ni siquiera se permitía. Había sido despedido de forma educada, eficiente e irrevocable.
Parte 4: La revelación
El despido amable en el foro no apaciguó a Adam. Eso le radicalizó. La informal jerga corporativa de «Apple_Kyle» fue un desafío lanzado. Todos esos años de lealtad y su creencia en la «magia» ahora le parecían una larga y lenta estafa. Se sentía alienado, enfadado y poseído por un pensamiento singular y desafiante: es solo software. Es mi dispositivo. Lo haré yo mismo.
Dio la espalda a los canales oficiales y descendió al subsuelo digital. Sus días y noches se confundían en una neblina obsesiva de investigación alimentada por la cafeína. Ya no era un aficionado. Era arqueólogo, excavando para encontrar una entrada a una tumba sellada.
Sus búsquedas le llevaron a los rincones más grises de internet, a comunidades de hackers y manitas que llevaban años desmontando los muros de Apple. Encontró sitios web y wikis llenos de conocimiento arcano, un repositorio de textos prohibidos. Aprendió las maneras secretas necesarias para comunicarse directamente con su iPod, saltándose el intermediario de iTunes. Aprendió sobre el modo DFU – Actualización de Firmware del Dispositivo – un estado de bajo nivel que fue el primer paso para tomar el control.
Tras un tutorial complejo y de varios pasos, mantuvo pulsados los botones MENÚ y SELECT durante exactamente doce segundos. La pantalla del iPod se puso negra. Lo había conseguido. Su ordenador, que antes saludaba al dispositivo con el icono amigable de iTunes, ahora lo veía como un dispositivo USB desconocido. Fue una pequeña victoria, pero la sintió trascendental.
Descargó las extrañas herramientas para la línea de comandos mencionadas en la red. Encontró enlaces a los propios servidores de Apple, que alojaban los archivos de firmware .ipsw en bruto. Por un momento, la esperanza surgió. Estaba dentro. Iba a entrar en sus entrañas.
Pasó horas en el mundo de la línea de comandos, escribiendo comandos crípticos, intentando enviar fragmentos del firmware al dispositivo, esperando encontrar una costura, una grieta que pudiera explotar. Consiguió que el dispositivo mostrara el logo de Apple, seguido de una pantalla de «No desconectar», indicando que estaba manipulando el proceso de arranque. Pero nunca llegó más lejos. La lógica central, el código real del sistema operativo que determinaba lo que significaba «Aleatorio», seguía siendo un bloque sólido e impenetrable de código binario compilado. Ninguna herramienta podía traducir los unos y ceros de la máquina al lenguaje legible para humanos del código fuente.
La misión no terminó con un estruendo, sino con un suspiro. Tras una semana de noches sin dormir y callejones sin salida, se dejó caer en la silla, mirando el rectángulo plateado inerte sobre su escritorio. La revelación llegó en el aplastante silencio de su fracaso.
La «magia» que había evangelizado durante una década era el muro mismo. La experiencia de usuario elegante y fluida, la simplicidad de «simplemente funciona» — todo se basaba en una regla no escrita: no tienes derechos. La belleza del dispositivo residía en su sello perfecto, una pieza de museo bajo un cristal de protección. Su genialidad era la genialidad de su propia impenetrabilidad.
La traición que sentía era profunda, pero ahora comprendía su verdadera naturaleza. No era una función maliciosa. No era un error. Era el diseño fundamental del sistema. Había comprado un objeto físico, un aparato que sostenía en la mano, pero no había tenido ningún control sobre el software que le daba vida. Se le prohibió estudiarlo, se le prohibió modificarlo y mejorarlo. La empresa no era su socio. Era su mando. El hermoso jardín que tanto había admirado era, de hecho, una prisión muy sofisticada y cómoda.
Parte 5: La confrontación
La guerra había terminado. Adam había perdido. Su ambición de contribuir, mejorar, participar, estaba muerta. Solo quedaba el deseo de escapar. Miró el reluciente iPod plateado y la biblioteca perfectamente organizada de iTunes en su pantalla, y no sintió nada más que el frío peso del encierro. Decidió quemar todo el edificio. Abandonaría el ecosistema Apple, liberaría su música y empezaría de cero.
Su primera y tarea más importante fue exportar la biblioteca —fruto de quince años de meticulosa recopilación— la obra de su vida.
Abrió iTunes, fue al menú Archivo y seleccionó biblioteca, luego Exportar lista de reproducción. Guardó el archivo y lo abrió en un editor de texto. Era un archivo XML, una lista de metadatos perfectamente estructurada. Pero no contenía música. Era solo una lista de punteros a los archivos de canciones, cuyas ubicaciones estaban codificadas en la ruta específica de su Mac. Era inútil en cualquier otra máquina o con cualquier otro software: un mapa sin territorio.
Intentó otra manera. Encontró la opción «Consolidar archivos», que prometía reunir toda su música en una sola carpeta. Lo ejecutó. Horas después, miró el resultado: un laberíntico caos de carpetas, miles de archivos duplicados y, lo peor de todo, un rastro de metadatos corruptos. Las canciones estaban mal etiquetadas. Faltaba la portada del álbum. Sus preciadas valoraciones de cinco estrellas, sus reproducciones, el campo «Fecha añadida» que anclaba cada canción a un momento concreto de su vida: todo estaba mezclado o desaparecido. El alma misma de su biblioteca había sido arrancada.
El desencanto técnico provocó un colapso emocional total. Se desplomó sobre el teclado, mirando los restos en la pantalla. Las filas limpias y ordenadas de su biblioteca de iTunes se habían convertido en un barrio marginal digital, un monumento a su devoción desperdiciada.
Habló en voz alta a la habitación vacía, su voz fue un susurro áspero.
«No fui su compañero. Era su prisionero.»
Se apartó del escritorio, paseando por la pequeña sala. «Todo este tiempo… quince años… valorar mis canciones, hacer mis listas de reproducción… No estaba recopilando una biblioteca. Estaba construyendo mi propia prisión, ladrillo a ladrillo. No les importan mis ideas. No les importa mi música.» Se detuvo y miró el iPod, objeto de traición. «Solo les importa que no pueda irme. Simplemente un número sin valor. Solo otro usuario encerrado en su jardín.» Era la claridad cruda y dolorosa de Willy Loman dándose cuenta de que la obra de su vida no le había valido más que un pequeño retiro.
Derrotado, hizo una última y desesperada búsqueda en internet de una herramienta de terceros, cualquier cosa que pudiera salvar sus datos. Hizo clic en un enlace a una antigua entrada de blog en un foro tecnológico de nicho. El título era «Sobre la libertad del software.»
La publicación empezaba con una historia. «Si alguna vez te has sentido impotente ante tu propia tecnología», leyó, «tienes que leer la historia de Richard Stallman y la impresora láser Xerox.»
Adam leyó la historia real sobre un programador del MIT en los años 80 que se frustraba por una impresora que se atascaba constantemente. Leyó sobre cómo este programador, llamado Stallman, quería añadir una función de software sencilla para notificar a los usuarios del atasco, pero fue bloqueado porque el fabricante se negó a compartir el código fuente. Leyó sobre el acuerdo de confidencialidad, la negativa egoísta a cooperar y la impotencia de un programador hábil al que se le niega la capacidad de arreglar sus propias herramientas.
Un escalofrío recorrió a Adam como una corriente eléctrica al reconocerse en esa historio. Es la misma historia. Dios mío, es la misma historia.
La entrada del blog concluía explicando la filosofía que surgió de esa frustración. Enumeraba, en una simple lista con viñetas, las Cuatro Libertades Esenciales del Software Libre de Richard Stallman.
Adam las leyó, y cada una impactó como un martillo, dando nombre y forma a la injusticia que acababa de sufrir.
La libertad de ejecutar el programa como desees, para cualquier propósito (libertad 0).
La libertad de estudiar cómo funciona el programa y cambiarlo para que haga tu computación como quieras (libertad 1). El acceso al código fuente es una condición previa para esto.
«Mi idea de ‘modo aleatorio priorizado'», pensó, con el corazón latiendo con fuerza. «Eso es todo lo que quería. Estudiarlo. Para cambiarlo. Para que mi propio dispositivo funcione mejor para mí.»
La libertad de redistribuir copias para poder ayudar a otros (libertad 2).
La libertad de distribuir copias de tus versiones modificadas a otros (libertad 3). Hacer esto permite que toda la comunidad se beneficie de tus cambios.
«Podría haberlo compartido», se dio cuenta. «Las otras personas en el foro… Lo querían. Podríamos haberlo construido juntos. Podríamos habernos ayudado mutuamente.»
Fue una revelación. El problema no era Apple. El problema era toda la filosofía del software privativo. Era un sistema construido no sobre el empoderamiento, sino sobre el control. Un sistema que, por su propia naturaleza, trataba a sus usuarios no como iguales, sino como sujetos. Ahora entendía que era un sistema de poder injusto.
Parte 6: El Réquiem
La muerte fue total. No la muerte del iPod, sino la muerte de la fe de Adam. La muerte de su lealtad a la «magia», la muerte de su identidad como «el tipo de la Manzana». Lo que siguió no fue duelo, sino una excavación silenciosa y decidida.
Transcurrieron meses. El trabajo constante y concentrado de la liberación reemplazó la ira frenética. El escritorio de Adam ya no era una escena de frustración, sino un yacimiento arqueológico.
Había descubierto un mundo de software libre. Envió a MusicBrainz Picard los miles de archivos recuperados, esperando una larga noche de etiquetados. En cambio, recibió una lección. El software comenzó su trabajo, pero surgió un patrón escalofriante. Era ordenar la colección de su vida en dos montones distintos.
La primera pila —los archivos en formato .m4a, su música desde aproximadamente 2009— fue «liberada». El software los etiquetaba, corregía sus metadatos y los restauraba en su nueva biblioteca.
El segundo montón era un cementerio digital. Los archivos .m4p. Su música más temprana. Picard no podía tocarlas. Intentó abrir uno. Apareció un mensaje de error. Estaban bloqueados con DRM. Inútil. No había sido un coleccionista, había sido inquilino.
Se centró en su otra tarea, escribiendo sus propios scripts en Python para analizar los archivos XML rotos. Esto solo hizo más daño. El script funcionaba perfectamente, recuperando sus escuchas perdidas y el número de reproducciones para todo. Ahora poseía un contorno perfecto y fantasmal de su biblioteca: una base de datos de recuerdos entrañables de canciones de las que estaba permanentemente excluido.
No fue una resurrección. Era un funeral por la música que le habían engañado para alquilar. Y de sus cenizas, nació una nueva determinación. No podía resucitar el cementerio digital de archivos .m4p, pero podía reemplazarlos por algo nuevo.
Fue a su armario y sacó viejas carpetas y vitrinas de joyas, la fuente física de una colección de vida. Entonces comenzó el tedioso trabajo. Cruzaba la entrada fantasmal de un álbum .m4p muerto en su base de datos y luego buscaba en sus medios físicos su contraparte de plástico y papel.
Instaló un software de extracción de autio de software libre, estableció la salida en formato FLAC —un códec de audio libre y sin pérdida— y comenzó el meticuloso trabajo de rellenar los huecos. Uno a uno, fue introduciendo los CDs específicos en la unidad. El trabajo era lento y manual, un acto meticuloso de archivo y reparación. Era todo lo contrario de la compra «sin interrupciones» con un solo clic que antes valoraba.
Pero con cada hueco que llenaba, con cada archivo bloqueado que reemplazaba por una versión FLAC perfecta, bit por bit, sentía una creciente sensación de poder. Era un artesano, reforzando su casa donde las paredes se habían podrido, reconstruyéndola a su manera.
La escena final de su transformación ocurrió en una tranquila tarde de sábado. En su escritorio estaba su viejo iPod Classic de 160GB, pero no era el mismo dispositivo. Había realizado el acto final de liberación: había instalado Rockbox.
Lo encendió. La interfaz animada y elegante de Apple, con su portada flotante y bonitos degradados, había desaparecido. En su lugar había un menú sencillo basado en texto sobre un fondo negro liso. La fuente era funcional, la navegación directa. No había «magia». Pero había algo mejor: transparencia. La antigua interfaz era una pintura preciosa que solo podía admirar desde lejos. La nueva era un taller sencillo pero completamente surtido, y le habían dado las llaves. Le ofrecía cosas que Apple nunca haría: reproducción FLAC nativa, un ecualizador parametrizable de 10 bandas, fundido de canciones avanzado y una serie de complementos y juegos creados por la comunidad.
Abrió el navegador de archivos —su navegador, no una biblioteca seleccionada— y seleccionó una canción. Mientras escuchaba, notó un pequeño problema. En la pantalla de «Ahora en reproducción», el texto del número de pista estaba ligeramente desalineado, sobreponiéndose con otro elemento en un solo píxel.
Hace un año, esto habría sido un problema sin importancia. Ahora, sonrió.
Se giró hacia su ordenador y abrió una carpeta titulada «código fuente de rockbox». Dentro estaba todo el código fuente del sistema operativo que estaba ejecutando. Abrió un archivo C en un sencillo editor de texto. El código estaba todo ahí: complejo, pero legible, comprensible. Pasó una hora siguiendo la lógica de renderizado, encontró la línea que calculaba la posición del texto y realizó una pequeña corrección: un solo cambio de carácter.
Guardó el archivo, ejecutó el compilador y copió la nueva versión del firmware en su iPod. Lo reinició. Volvió a la pantalla de «Ahora en reproducción». El texto estaba perfectamente alineado. El problema había desaparecido.
Sintió una satisfacción silenciosa y profunda que eclipsaba cualquier deleite que hubiera sentido con una nueva función «mágica» de Apple. Redactó un correo breve y directo a la lista pública de correo para desarrolladores de Rockbox.
Hola equipo, he notado una pequeña superposición de texto en la pantalla de Reproduciendo Ahora. Adjunto hay un parche que corrige el cálculo de coordenadas. Gracias por todo vuestri trabajo en este increíble proyecto. -Adam
Adjuntó el pequeño archivo de texto con su cambio y pulsó Enviar.
Una hora después, apareció una notificación en su ordenador. Era una respuesta de alguien que nunca había conocido, probablemente al otro lado del mundo. El mensaje era sencillo, directo y carente de cortesías corporativas.
Buen apunte. Aplico el parche. Gracias, Adam.
Adam cerró los ojos y se recostó en la silla. Las dos palabras que había anhelado de Apple_Kyle, la validación que buscaba por su lealtad, finalmente llegaron de un desconocido. Gracias, Adam.Ya no era un prisionero en el jardín de otra persona. Era un colaborador.
Software package updates for openSUSE Tumbleweed in November had a steady rhythm and delivered both user-visible improvements and deeper technical fixes across the stack.
Plasma 6.5.3 and KDE Gear 25.08.3 focused on stability and polish across the KDE desktop and applications, while GNOME 49.2 delivered smoother session behavior, fewer freezes and more reliable system handling. The rolling release moved forward with Kernel Source 6.17.9, Mesa 25.3.0, and PipeWire 1.5.83 and several other important updates. Security fixes were also widespread this month, spanning the kernel, X.Org Server, Firefox, grub2, OpenEXR, and multiple networking components.
As always, be sure to roll back using snapper if any issues arise.
Plasma 6.5.3 and 6.5.2: The 6.5.3 update focuses on polish and stability across the desktop. KWin receives numerous fixes, including proper scaling in window screenshots, improved DRM handling after suspend, and better X11 test isolation, while also resolving popup activation and blur contrast issues. Breeze and breeze-gtk address visual glitches in menus and GTK4 app theming, such as missing expander arrows and incorrect corner radii. The 6.5.2 update provided fixes across core components like Discover, which now correctly handles firmware packages on certain distributions. KWin resolves crashes, improves screencast cleanup, fixes cursor and clipboard behavior under Xwayland, and addresses display issues with the FPS plugin and screenshot tool. Additional fixes include improved applet stability in Plasma Addons, better mobile task switching, proper timezone translation handling, and enhanced logging in plasma-welcome.
KDE Gear 25.08.3: Dolphin resolves issues with zoom reset, middle-click opening, and split view sizing, while Kdenlive fixes crashes related to clip pasting and monitor switching, along with improving image sequence detection and subtitle styling. Kate addresses focus and documentation handling in its LSP plugin, Itinerary and Kitinerary add new transport ticket extractors (including Comboios de Portugal and Wiener Linien), and KMail reduces false-positive scam warnings. Other updates include translatable settings in KDE Connect, a missing SVG file type fix in Kdenlive, and minor UI and stability fixes in apps like Okular, NeoChat and KWalletManager.
KDE Frameworks 6.20.0: The latest frameworks improves handling of vCard 4 properties like photos and death dates in KContacts, and has better trash detection for network filesystems in KIO. Key fixes include enhanced security in KWallet with modern session management, reduced crashes in image format plugins (KImageFormats) when handling malformed files, and improved User Interface consistency in Kirigami for overlays and action toolbars. The release also aligns with Qt 6.8+ by removing outdated version checks and improving CMake module policies across Extra CMake Modules.
Pillow 12.0.0: This major version modernizes Python image handling with better performance, cleaner APIs, and updated codec support, improving reliability for everyday image processing and development workflows. Users benefit from refreshed image libraries like libjpeg-turbo, libpng, FreeType, and WebP, which improves format support and rendering quality. Developers gain stricter type hints, improved testing, and new features like ImageText and enhanced TIFF handling. Support for Python 3.9 and very old FreeType versions is dropped, so older environments may need upgrading, but in return people get a faster, better-maintained imaging stack.
GNOME 49.2: This update provides noticeably fewer freezes, smoother window behavior, and more reliable lock-screen notifications, networking indicators, and keyboard input. Display calibration, offline updates, and the on-screen keyboard are also more dependable. GDM 49.2, GNOME Control Center 49.2.1, and gnome-session 49.2 all updated in the latter half of the month. Autologin now correctly falls back to X11 if Wayland fails, avoiding painful lockouts, while the Control Center no longer crashes when configuring global shortcuts. Apps like Calculator, Builder, and Boxes did clean up some long-standing bugs that affected everyday workflows.
Orca 49.5: Screen reading became clearer and less frustrating for everyday browsing and typing with this update. Users should notice less repeated speech on web pages, fewer verbose announcements, and more natural handling of editable tables in apps and websites. Typing passwords is also improved with spaces now spoken correctly instead of being silently ignored.
switcheroo-control 3.0: This major version update improves how hybrid-GPU laptops detect and switch between integrated and discrete graphics, which directly affects gaming performance, battery life, and desktop smoothness. The new API can now reliably discover discrete GPUs across AMD, Intel, NVIDIA, and Nouveau drivers, reducing cases where apps fail to pick the right GPU. Vulkan handling is cleaner thanks to support for driver selection through VK_LOADER_DRIVERS_SELECT, making GPU-intensive tools more predictable.
GStreamer 1.26.8: This update corrects colors when subtitles are enabled, has fewer glitches with oddly sized or subsampled video, and has smoother muxing and RTP handling in streaming or conferencing apps. Developers benefit from faster pad forwarding, better parsing for AAC and AV1, improved WebRTC deadlock avoidance, and clearer error messages.
PipeWire 1.5.83: Users should notice fewer sync issues with this release, more reliable Bluetooth/HDMI device changes. There is also improved streaming especially for RTP-based tools and apps using echo cancellation. Developers gain clearer format-parsing errors, more flexible multichannel support, and safer renegotiation behavior in GStreamer and SPA components. Despite being a release candidate, it keeps full ABI compatibility. Additional fixes reduce glitches across pro-audio, gaming, and desktop setups.
Key Package Updates
Kernel Source 6.17.9: This update provides AMD and Intel GPU fixes for suspend failures, display quirks and performance issues. Storage and filesystems (NFS, SMB, exFAT, EROFS) gain reliability improvements that reduce stalls and corruption risks. Networking and input devices receive targeted bug fixes for Wi-Fi, Ethernet, and HID peripherals. Futex and input–output memory management unit (IOMMU) updates improve memory handling and virtualization edge cases.
OpenSSH 10.2p1: This update improves connection reliability and strengthens future-proof security for anyone using SSH daily. Sessions are now more stable thanks to fixes for ControlPersist terminal issues, and key handling with agents or PKCS#11 tokens work more consistently. You’ll also see smarter QoS behavior: interactive sessions get better responsiveness while file transfers fall back to normal network priority. OpenSSH also begins phasing out weak SHA1 SSHFP records and warns when non–post-quantum algorithms are used, nudging users toward safer defaults without breaking current setups.
libvirt 11.9.0: This release improves GPU-like clarity for Hyper-V thanks to a new host-model mode that exposes exactly which enlightenments are active, and network interfaces can finally be hot-plugged on Cloud Hypervisor guests. USB controller selection is smarter and more consistent across architectures, while NVMe disks and virtio memory models gain cleaner, safer options.
Mesa 25.3.0 and 25.2.7: The 25.3.0 release adds OpenGL 4.6 and Vulkan 1.4 API support (depending on driver) along with extensions for video encode, atomic operations, robust context handling and shader features on various drivers. Many driver bugs and game-specific crashes have been fixed. Games like Borderlands 4, RE4 Separate Ways, No Man’s Sky, Endless Legend 2, and Penumbra: Overture see stability and rendering improvements version 25.2.7. Video encoding paths, uniform updates, and AV1 handling are also more reliable. Developers benefit from safer Vulkan and OpenGL state handling, corrected modifiers, and cleanup across ACO, RADV, PanVK, and llvmpipe. While no new features land, this update delivers a noticeably smoother and more predictable GPU experience.
curl 8.17.0: This update closes several vulnerabilities, including an SFTP host-verification flaw and a Windows path-traversal issue, making network transfers safer by default. Users and developers also benefit from more reliable TLS handling, fewer memory leaks, better socket management, and improved QUIC and HTTP/3 stability.
sdbootutil 1+git20251111.611edd1: This update smooths out system boot management, so day-to-day usage becomes a bit more predictable with cleaner configuration files, corrected package summaries, and fewer rpmlint-related quirks that could cause confusion or misbehavior in tooling. The release also improves compatibility by recognizing tracing parameters and adds a Snapper drop-in to support CAP_SYS_CHROOT, making snapshot-based recovery more robust.
coreutils 9.9: This update addresses performance regressions in cp and tail giving smoother handling of compressed or large files, while cksum and basenc regain correct behavior for modern formats. Developers and power users benefit from safer parsing in numfmt, more predictable error handling, and faster wc -l on AVX512 systems. A few edge cases, like Ceph snapshot directories or malformed compressor scripts, now behave more consistently.
fwupd 2.0.17: This update provides fewer failed updates, smoother activation for docks and devices, and better support for newer hardware like Framework’s Copilot keyboard and additional NVMe SSDs. Behind the scenes, fwupd adds post-quantum signature support, phased update deployment, cleaner cache handling, improved EFI parsing, and fixes several crashes involving Intel GPUs, docks, and nested firmware images.
crypto-policies 20250714.cd6043a: This cryptographic algorithm for your system provides stronger defaults with expanded post-quantum and hybrid crypto support, cleaner FIPS behavior, and fewer mismatches between tools. Developers benefit from clearer policy mappings, stricter cipher enabling, and improved test coverage across PQC-capable stacks.
CVE-2025-54771: Addresses a memory corruption or a bootloader crash.
CVE-2025-54770: Addresses an issue that may trigger a potentially crashing the loader.
CVE-2025-61662: Fixes a manipulation that may crash or destabilize the boot process.
CVE-2025-61663: Fixes an issue that risks memory corruption or boot failures.
CVE-2025-61664: Addresses a possible loader instability or denial of service.
CVE-2025-61661: Addresses a vulnerability that could allow crafted USB hardware to corrupt memory, possibly enabling arbitrary code execution or boot compromise.
CVE-2025-6075: Fixes a weakness causing high CPU use or performance degradation.
CVE-2025-8291: Addresses specially crafted ZIP files that may be parsed incorrectly, potentially breaking archive integrity or causing unexpected behavior.
CVE-2025-13021: A boundary-checking flaw could allow remote code execution by a malicious web page.
CVE-2025-13022: Another boundary-condition bug that enables sandbox escape or arbitrary code execution.
CVE-2025-13012: A race-condition vulnerability that may lead to data corruption or memory compromise when exploited.
CVE-2025-13023: A sandbox-escape issue allowing an attacker to break out of the browser sandbox.
Users are advised to update to the latest versions to mitigate these vulnerabilities.
Conclusion
Tumbleweed in November a steady cadence of updates that balanced desktop refinement with core system resilience. Plasma 6.5.3, KDE Gear 25.08.3 and GNOME 49.2 sharpened daily usability, while kernel 6.17.9, Mesa 25.3.0 and PipeWire 1.5.83 strengthened performance across graphics, audio and hardware support. Security remained front-and-center with fixes spanning the kernel, bootloader, network stack, browsers and virtualization.
Slowroll Arrivals
Please note that these updates also apply to Slowroll and arrive between an average of 5 to 10 days after being released in Tumbleweed snapshot. This monthly approach has been consistent for many months, ensuring stability and timely enhancements for users. Updated packages for Slowroll are regularly published in emails on openSUSE Factory mailing list.
Contributing to openSUSE Tumbleweed
Stay updated with the latest snapshots by subscribing to the openSUSE Factory mailing list.
For those Tumbleweed users who want to contribute or want to engage with detailed technological discussions, subscribe to the openSUSE Factory mailing list . The openSUSE team encourages users to continue participating through bug reports, feature suggestions and discussions.
Your contributions and feedback make openSUSE Tumbleweed better with every update. Whether reporting bugs, suggesting features, or participating in community discussions, your involvement is highly valued.
Hace ya muchas semanas que fue lanzado el nuevo entorno de escritorio de la Comunidad KDE y todavía no he tenido tiempo para difundirlas todas como se merece. Sigo hoy la serie con las mejoras de los plasmoides de Plasma 6.5, un extenso repaso a todo el gran trabajo del equipo de desarrolladores de KDE.
Las mejoras de aplicaciones en Plasma 6.5
La distinción entre los diferentes equipos de desarrollo de la Comunidad KDE es complicada ya que hay aplicaciones que están tan integradas en el escritorio Plasma que el lanzamiento de éste último también conlleva mejoras en esa rama de desarrollo.
De esta forma, esta quinta versión de la sexta rama de Plasma nos ofrece estas mejoras notables, por ejemplo, en Discover, el gestor de software/tienda de aplicaciones de Plasma, que se ha centrado en el rendimiento y en las valoraciones. Deberíamos notar que Discover arranca más rápido en Plasma 6.5. Y cuando no lo es, mostrará más información sobre lo que está haciendo, de modo que pueda detectar la fuente que lo está ralentizando.
Por otra parte, Discover también ha ganado compatibilidad con las URL de tipo flatpak+https://, lo que permite que los botones «Instalar» de Flathub abran Discover automáticamente.
Por último comentar que Discover puede mostrar los controladores de hardware disponibles para instalar en los sistemas operativos que sean compatibles con esta funcionalidad.
También el Selector de emojis ha recibido mejoras (prueba a ejecutarlo con Meta+.). En esta nueva versión al abrir el selector se visualizará una página que muestra todo en lugar de en una página «Recientes» vacía.
Además, el campo de búsqueda está visible en todo momento y las búsquedas se ampliarán a todo el conjunto de emojis si no hay coincidencias en la página actual.
Por último, Spectacle, la utilidad de Plasma para realizar capturas de pantalla o grabarla en vídeo, también incluirá ahora en las grabaciones de pantalla cualquier ventana emergente que cree la ventana objetivo, ideal para crear tutoriales.
Es increíble el trabajo de promoción que está realizando Nate en su blog, desde hace más del tiempo que puedo recordar. Cada semana hace un resumen de las novedades más destacadas, pero no en forma de telegrama, sino de artículo completo. Su cita semanal no falla y voy a intentar hacer algo que es simple pero requiere constancia. Traducir sus artículos al castellano utilizando los magníficos traductores lo cual hará que la gente que no domine el inglés esté al día y que yo me entere bien de todo. Bienvenidos pues a » Mejoras en la interfaz de usuarios y el rendimiento«de la serie Esta semana en Plasma. Espero que os guste.
Muchas cosas interesantes – Esta semana en Plasma
Nota: artículo original en Blogs KDE. Traducción realizada utilizando Perplexity. Esta entrada está llena de novedades de la Comunidad KDE. Mis escasos comentarios sobre las mejoras entre corchetes.
¡Bienvenido a una nueva edición de Esta semana en Plasma Esta semana hubo bastante trabajo en nuevas funciones y mejoras en la interfaz de usuario para Plasma 6.6. ¡Échale un vistazo!
Nuevas funcionalidades
Plasma 6.6.0
Ahora hay acciones globales para avanzar o retroceder 5 o 30 segundos en el medio actualmente reproduciéndose. Estas funcionan siempre que el reproductor de medios actual admita que otras aplicaciones controlen el avance mediante MPRIS. Las acciones no tienen atajos de teclado asignados por defecto, pero puedes configurarlos tú mismo. (Christoph Wolk, enlace) [Las acciones globales siempre son bienvenidas, cuanto más lejos del ratón más eficiente ].
Ahora puedes configurar el widget Lista de ventanas para que muestre su menú al pasar el ratón por encima, o para ocultar el icono y solo mostrar el nombre de la ventana activa. (Shubham Arora, enlace 1 y enlace 2)
Ahora puedes configurar el orden de los iconos mostrados en el widget Bloqueo/Cerrar sesión. (Shubham Arora, enlace)
Mejoras en la interfaz de usuario
Plasma 6.6.0
Se continuó puliendo los diálogos del portal XDG. Esta vez, el diálogo selector de pantalla y ventana se ha simplificado y mejorado aún más. (Harald Sitter, enlace)
Cancelar un pegado de algunos archivos en el escritorio de Plasma ya no produce una notificación de error innecesaria. (Nicolas Fella, enlace)
Se añadieron botones de fijar a los widgets de Navegador web y Volumen de audio, para que si los tienes en forma independiente en un panel, puedas mantener sus ventanas emergentes abiertas mientras los usas. (Alexander Lohnau y Nate Graham, enlace 1 y enlace 2) [Las chichetas para fijar widgets son más útiles de lo que parecen].
Se mejoró la usabilidad de la búsqueda usando el widget Lanzador de aplicaciones Kickoff de varias maneras: ahora puedes usar las teclas de flecha para navegar desde la vista de resultados de búsqueda de vuelta al campo de búsqueda, y los nuevos resultados de búsqueda que llegan tarde no hacen que el resaltado de selección salte. (Christoph Wolk, enlace 1 y enlace 2) [¡Navegación con teclado bien!].
Se mejoró la apariencia y usabilidad de los discos mostrados en la página de Estado S.M.A.R.T. del Centro de información. (Joshua Goins, enlace)
Limpiar el portapapeles mientras muestra un código QR de uno de los elementos ya limpiados ahora también descarta el código QR. (Fushan Wen, enlace)
El widget Menú de aplicaciones Kicker ya no muestra brevemente un mensaje diciendo «No se encontraron coincidencias» justo después de buscar cosas. (Christoph Wolk, enlace)
Se mejoró la experiencia de mover rápidamente el puntero sobre elementos de menú de nivel superior en el widget de Aplicaciones Kicker; ahora los submenús aparecen de la misma manera que en otros menús de las aplicaciones. (Christoph Wolk, enlace)
Al usar el widget Menú de aplicaciones Kicker en un panel en el borde derecho de la pantalla, los sub-submenús ahora se abren a la izquierda de su padre, en lugar de a la derecha donde cubren el menú principal. Esto también funciona correctamente ahora con un idioma RTL y un panel en el borde izquierdo de la pantalla. (Christoph Wolk, enlace 1, enlace 2)
KDE Frameworks 6.21, con el efecto completo llegando en Plasma 6.6.0
Los encabezados de las aplicaciones basadas en Kirigami ahora tienen la misma altura que los de las aplicaciones basadas en QtWidgets. En el proceso de mejorar esto, también se logró igualar el relleno en los cuatro lados de los elementos de lista resaltados, y hacerlos consistentes con el relleno externo de los elementos de encabezado. (Marco Martin, enlace 1, enlace 2, enlace 3, enlace 4, enlace 5, enlace 6 y enlace 7)
El widget Fifteen Puzzle ahora tiene un nuevo icono bonito, y también usa un icono simbólico cuando se coloca en un panel. (Martin Sh, enlace 1 y enlace 2)
KDE Frameworks 6.21
Se revirtió un cambio realizado hace unos meses que ocultaba los archivos .desktop con NoDisplay=true de los menús «Abrir con» de las aplicaciones. Aunque el cambio original parecía técnicamente correcto, tenía efectos secundarios negativos que superaban sus ventajas. (Nate Graham, enlace)
Corrección de errores importantes
Plasma 6.5.4
Se corrigió un fallo aleatorio de Plasma. (Nicolas Fella, enlace)
Se corrigió un caso en el que activar las actualizaciones automáticas en Discover hacía que este se cerrara en segundo plano en lugar de ejecutar las actualizaciones. (Aleix Pol Gonzalez, enlace)
Se corrigió un problema que rompía el pegado de imágenes desde el portapapeles en Dolphin. (Vlad Zahorodnii, enlace)
Se corrigió un caso en el que dibujar con ciertas tabletas gráficas de comportamiento extraño dibujaba fuera del área de pantalla. (Xaver Hugl, enlace)
Se corrigió un caso en el que reasignar los botones del stylus de la tableta de dibujo no funcionaba. (Joshua Goins, enlace)
Plasma 6.6.0
Se corrigió un problema que desordenaba la disposición de iconos del escritorio al arrastrar algo al escritorio mientras usaba uno de los modos de ordenación automática. (Błażej Szczygieł, enlace)
Se corrigió un problema que hacía que ciertas GPUs se mostraran como «llvmpipe» en el Centro de información. (Oleg Gorobets y Harald Sitter, enlace 1 y enlace 2)
Se corrigieron algunos problemas que hacían que el escritorio de Plasma a veces no detectara archivos recién creados, eliminados o modificados. (Błażej Szczygieł, enlace)
Se corrigió un problema que impedía reabrir el teclado virtual inmediatamente después de cerrarlo, pero antes de hacer clic o enfocar cualquier otra cosa. (Xaver Hugl, enlace)
KDE Frameworks 6.21
Se corrigió un problema que deformaba la visualización de dispositivos cuyos nombres contienen caracteres Unicode en las notificaciones de conexión/desconexión USB. (Nicolas Fella, enlace)
Al arrastrar y soltar un elemento desde una ventana de Dolphin que accede a una ubicación de red que requiere autenticación Kerberos, soltarlo en el escritorio ahora descarga correctamente el archivo. (Kai Uwe Broulik, enlace)
Se implementó soporte para emulación XRandr en KWin, lo que permite que se comporte de manera sensata al ejecutar aplicaciones que usan XWayland y que hacen uso de APIs de X11 para cambiar la resolución de pantalla de forma que requiere letterboxing o pillarboxing. (Xaver Hugl, enlace)
Se mejoró el rendimiento de la caja rectangular que puedes arrastrar en el escritorio para seleccionar elementos. (Błażej Szczygieł, enlace)
Se implementó soporte para la configuración estándar «reduced motion» que informa a las aplicaciones que deseas minimizar las animaciones. Ahora se activa automáticamente cuando desactivas las animaciones en Configuración del sistema. (Nicolas Fella, enlace)
Plasma 6.5.4
Se corrigió una fuga de memoria en Plasma. (Vlad Zahorodnii, enlace)
Si andáis mal de dinero, podéis ayudar a KDE convirtiéndoos en un miembro activo de la comunidad e involucrándoos de alguna manera. Cada colaborador marca una enorme diferencia en KDE — ¡no sois un número ni un engranaje en una máquina! Tampoco es necesario que seáis programadores; también existen muchas otras oportunidades.
No tienes que ser programador. Existen muchas otras oportunidades: