El mundo de hoy es amd64, armv7 y pronto aarch64

Miod Vallat es un ex-desarrollador de BSD que hace unos días publicó un interesante artículo en el critica duramente a las plataformas de hardware disponibles en la actualidad.

Existen ciertas distribuciones, como Debian, que compilan sus paquetes para una gran cantidad de arquitecturas de procesador. Algunas están completamente abandonadas, otras son cada vez menos populares aunque se siguen usando ampliamente como i386, otras han alcanzado su edad dorada, como amd64 y a otras les espera un futuro prometedor, como ARM tanto en 32 como en 64 bit (aarch64).

En el texto redactado por Miod Vallat, se hace una crítica al estado del hardware, de cómo las empresas se «aprovechan» del software libre para reducir costes en mano de obra y cómo se han popularizado la plataformas «de usar y tirar»:

El mundo de hoy es amd64, armv7, y pronto aarch64. Todo lo demás está muerto, Jim. Nadie está invirtiendo suficiente dinero y capacidad intelectual en otras arquitecturas. En realidad sólo unos pocos conocen el resto de ecosistemas (mips, power8…), y aún así nadie da una mierda.

Mantener viva una plataforma obsoleta es divertido porque nos recuerda a los 90 cuando había una gran cantidad de plataformas entre las que elegir, que eran más o menos similares en la relación potencia/coste. Finalmente, los PCs baratos mataron a casi todos los competidores y el mercado de los teléfonos inteligentes dio a ARM una cuota de mercado enfermiza en el mundo de los sistemas embebidos.

Así que después de un tiempo ha dejado de ser divertido porque nadie está escribiendo código con tu plataforma en mente, porque ya no se considera lo suficientemente potente, porque los compiladores modernos ya no dan soporte a tu plataforma (o generan código defectuoso, lo cual es aún peor). ¿Tu plataforma tiene un límite de hardware de unos pocos cientos de megas de memoria física? No podrás ejecutar un navegador web y ni siquiera un visor PDF. ¿Alguien ejecuta todavía las pruebas de gcc de hoy en día en tu plataforma? ¿No? Lo siento tío, aquí tienes cinco centavos.

Mantener una plataforma viva es un trabajo para un equipo real. Necesita un compromiso serio para todo los proyectos «building block»: una colección de herramientas con no demasiados fallos (como /ls/gcc), así como soporte en proyectos de primera categoría (emacs, python, X11, mozilla, libreoffice…), y disponibilidad de documentación actualizada y precisa sin coste alguno..

Nada de esto es así para las plataformas, excepto para amd64, armv7 y aarch64.

Por eso, intentar mantener una plataforma viva es ir a contracorriente.

Échale un vistazo a los proyectos de sistemas operativos libres: sólo dan soporte a amd64, armv7 y aarch64. ¡Caramba! A veces pretenden dar soporte a otras plataformas experimentales. O a otras plataformas que no han sido probadas en años y están sólo a medio hacer porque ya no se mantienen a si mismas.

Por supuesto encontrarás a algunos locos que harán una cantidad increíble de trabajo para prevenir la decaída de la plataforma que han elegido y dan la impresión de que esas plataformas son todavía ciudadano de primera. Pero estos tíos son los mismos de hace diez años. Y al final se cansan y abandonan. Como yo.

La peor parte de esto es mirar atrás y darse cuenta de que, después de todos esos años, el software libre ha perdido. Las empresas que trabajan en software no-libre han sido lo suficientemente listas para coger el impulso de los desarrollares de software libre para que trabajen en plataformas embebidas a fin de reducir enormemente sus costes en ingeniería de software y encima consiguen prensa positiva.

Así que hoy, estamos construyendo sistemas desechables sin ninguna consideración en futuros productos porque cuando pase el tiempo, cogeremos el siguiente SoC de moda. No hace falta tener lo que hace a una arquitectura: una visión de futuro permitiendo distintas generaciones de hardware que compartan hardware y software; un diseño que permite al software de hoy ejecutarse en el hardware de mañana mientras los cambios no sean demasiado drásticos; consistencia en la elección de buses, chips clave, mapas de direcciones; un auténtico firmware, no algo completamente repugnante como EFI que ni siquiera puede competir con Firmware abiertos de hace más de 20 años (IEEE 1275); y buses que se puedan enumerar con confianza. No señor, cogeremos el último SoC de hoy, le conectamos algunos dispositivos extra donde sea que encontramos un hueco en el mapa de direcciones, le ponemos un cargador de arranque universal y la rama estable de Linux y allá vamos, aquí está tu «plataforma». Y la gente brinda.

He dedicado 20 años de mi vida intentado promover un punto de vista sobre el software , sus valores y su ética, luchando por ello, involucrándome, intentando dar ejemplo y a día de hoy tengo la sensación de que todo lo que he hecho ha sido tirar mi tiempo, que nada de lo que he hecho ha sido útil.

Es difícil de digerir.

Mejor renunciar ahora que seguir intentándolo y amargarme en el proceso.

El artículo original fue anunciado en la cuenta de Miod Vallat en Twitter y de se puede leer en Pastebin.

1 comentario en “El mundo de hoy es amd64, armv7 y pronto aarch64

  1. Este señor Moid Vallat, tiene un pesimismo, tremendo, es ese articulo que publica. Aunque, tenga la razon en cuanto a que el avance de la tecnologia es arrollador, aun quedan en el camino, mucho personajes que querran reutilizar y dar una solucion optima, con los vestigios de esa tecnologia residual y son a estas personas a las que se les debe admirar por su perseverancia. Por lo que respecta a don Moid, deberia inspirarse un poco en el positivismo de esas personas, sin que signifique que el trabajo del señor Vallat, se heche en saco roto.

Los comentarios están cerrados.