Permacomputación (II)
En la entrada anterior, intenté concretar un poco el concepto, bastante abstracto, de la permacomputación. O, por lo menos, mi interpretación del mismo. Es más un grito al aire, una llamada a la colaboración, que una operación engrasada y coordinada. Unas bases o planos para intentar construir un futuro mejor, por lo menos en lo que a la tecnología se refiere.
De acuerdo con la estructura del wiki principal, la permacomputación se estructura en torno a una serie de principios. Me gustaría resumir un poco cada uno de ellos, en parte para organizar mis propias ideas. Si, además, este texto le puede servir luego a alguien, pues esa felicidad que nos llevamos.
Venga. Sin más dilación, aquí van los diez principios de la permacomputación, traducidos, adaptados y resumidos de la fuente original:
1. Espera lo mejor. Prepárate para lo peor.
Es importante que pensemos en todo lo que puede ir mal a cualquier escala. ¿Quiere esto decir que debemos convertirnos en pesimistas profesionales? Nada más lejos de la realidad. La permacomputación plantea el pesimismo como un ejercicio práctico, una forma de diseñar soluciones que tengan en cuenta los límites y restricciones impuestos por la realidad.
La creatividad y las ideas geniales surgen de las limitaciones. Si desarrollamos proyectos tecnológicos en un contexto teórico perfecto, generaremos soluciones frágiles que sólo pueden sobrevivir cuando todo lo que las rodea es estable. Por otro lado, si pensamos en todo lo que puede ir mal, idearemos mecanismos defensivos y técnicas que, además de mejorar la resiliencia de nuestro proyecto, permitirán en ocasiones descubrir nuevos escenarios que no habían sido tenidos en cuenta previamente.
2. Cuida todo el hardware. Especialmente los chips.
Todos los dispositivos tecnológicos que usamos proceden del conjunto finito de recursos que hay en nuestro planeta. Y suelen acabar su vida convertidos en basura electrónica. La producción de nuevo hardware es un proceso que consume muchos de esos recursos, así como cantidades ingentes de energía. La fabricación de microchips, en concreto, es un claro ejemplo de tal derroche.
Uno de los principios centrales de la permacultura (inspiración, recordemos, para la permacomputación) es el de no producir residuos. Sin embargo, cuando hablamos de tecnología digital, esto es claramente imposible. Para mitigar esta situación, lo que sí podemos hacer es apartarnos del modelo capitalista que postula ciclos eternos de crecimiento y consumo. Para ello, debemos reconocer el valor inherente de todos los dispositivos y materiales que ya tenemos. Alargar la esperanza de vida de nuestra tecnología es clave si pretendemos reducir el impacto medioambiental y construir una cultura digital sostenible.
3. Observa primero.
Antes de lanzarnos a desarrollar cualquier proyecto, es importante observar a nuestro alrededor. ¿Qué se necesita? ¿Qué problema estamos tratando resolver? ¿Cuál es su valor? ¿Se trata de algo social? ¿De verdad requiere una solución tecnológica? Si no necesita tecnología, existe otro de los principios que nos sugiere no hacer nada. En caso contrario, tendremos que preguntarnos por el propósito y por los posibles beneficiados.
La permacomputación implica la observación cuidadosa de un problema o una situación durante un período de tiempo, con el fin de evaluar qué necesita hacerse y cómo. La observación puede ser un fin en sí misma, fortaleciendo nuestra relación con nuestros ecosistemas a través de redes de sensores. La obtención de datos sobre la calidad del aire o del agua, sobre la biodiversidad o temperatura, puede ayudar a los ciudadanos a generar evidencia sobre la que reclamar un entorno más saludable y equilibrado para todes les habitantes de este planeta.
4. No hacer.
Nuestra capacidad para decir no, o no hacer nada, es esencial para decrecer y desacelerar el consumo desmedido de tecnología. Debemos rechazar el concepto de la inevitabilidad tecnológica, recuperar las riendas de nuestro destino y considerar futuros alternativos que no tienen por qué coincidir con los dictados por otros.
La historia de la computación ha estado siempre muy relacionada con el capitalismo (automatización del trabajo) y lo militar (estrategia geopolítica). Un ejemplo actual puede ser el de la construcción de una cantidad ingente de centros de datos para soportar la infraestructura de los modelos de IA generativa. La eficiencia de los modelos aumenta a diario, es cierto, pero el neto de los recursos totales empleados aumenta debido al incremento del uso de estos modelos. Esto se conoce como la Paradoja de Jevons.
Frenar la demanda mediante el rechazo (no hacer) es una forma efectiva de reducir el daño tecnológico sobre el planeta y las personas. Antes de acometer un proyecto tecnológico deberíamos preguntarnos si es necesario, a quién beneficia y, sobre todo, a quién perjudica.
5. Expón las costuras.
Un software sin costuras es un software cerrado. La ilusión de continuidad en su interfaz suele esconder en realidad aquellos procesos que de verdad nos interesan. En múltiples ocasiones, el desarrollo de soluciones transparentes para el usuario se convierte en un obstáculo a la hora de entender cómo este funciona, o de criticar las decisiones empleadas. A veces de forma intencional.
Cuando podemos ver las entrañas de la tecnología, ésta se convierte en algo tangible, lo que nos permite criticar y aprender. ¿Por qué se ha hecho así? ¿Cuánta energía usa? ¿Qué procesos se ejecutan de fondo? Mostrar las costuras es necesario para ejercer el control sobre nuestros datos. Debemos tener en cuenta, sin embargo, que esta transparencia no se aplica a la información personal, lo que podría ser peligroso para activistas o colectivos minoritarios.
6. Considera con cuidado la interacción entre Simplicidad, Complejidad y Escala.
Crear sistemas simples redunda en una mayor accesibilidad y sostenibilidad, al tiempo que gastamos menos en energía y mantenimiento. En algunos contextos (lenguajes de programación, por ejemplo), algo simple en apariencia puede llegar a ser ineficiente. Tampoco podemos perder de vista la escala. Muchos sistemas simples interconectados pueden llegar a convertirse en algo muy complejo.
No existe una bala de plata. A veces, la simplicidad no es posible. En esos casos, merece la pena reformular el problema y considerar posibles soluciones parciales, o incompletas, sin automatizar, y que representen un compromiso común para los posibles usuarios. Lo que no tiene sentido es la sobre-ingeniería como desafío, ni el placer de crecer por crecer.
7. Mantenlo flexible.
Este principio existe como contrapeso del anterior, ya que un excesivo foco en la simplicidad puede dar lugar a soluciones rígidas y poco adaptables. Nuestro objetivo debería ser siempre un equilibrio entre simplicidad y flexibilidad.
Los sistemas de computación deberían adaptarse a cambios en el entorno, sobre todo en lo relacionado con la energía y el calor. No se deberían de requerir una total disponibilidad (uptime) ni unos umbrales mínimos de rendimiento.
Si podemos imaginar todos los posibles casos de uso, es señal de que nuestro diseño puede ser demasiado simple. Un ejemplo lo tenemos en las herramientas de línea de comandos de Unix, donde la flexibilidad se obtiene mediante la combinación de múltiples herramientas simples (en el sentido de que hacen una única cosa).
8. Construye sobre terreno firme.
Si queremos que nuestras soluciones sean duraderas, debemos considerar seriamente la infraestructura o stack sobre la que vamos a desplegarlas. Muchos sistemas computacionales se basan en plataformas o lenguajes que cambian constantemente y que pueden quedar obsoletos en cualquier momento.
Nuestro objetivo debe ser minimizar la obsolescencia y el mantenimiento superfluo, y una posible solución puede ser la de usar tecnologías maduras y métodos contrastados. Así mismo, el software que usa estándares abiertos y bien documentados garantiza una mayor supervivencia a la larga de los datos y del conocimiento del problema.
9. (Casi) Todo tiene su lugar.
Nada se queda obsoleto o se convierte en irrelevante. Aunque se pierda su significado original, la mayoría de soluciones tecnológicas pueden ser re-adaptadas para acometer tareas para las que no fueron diseñadas originalmente.
En la práctica, la tecnología hunde sus raíces en lo militar. Esto hace que su principal propósito sea el de reproducir y reforzar las estructuras de poder actuales, así como ayudar al crecimiento económico. La cultura computacional de hoy sigue dominada por una forma concreta de entender la comunicación entre una persona y una máquina; una forma diseñada y controlada por una minoría que comparte pasado, prioridades y valores. Es por eso que debemos abandonar parte de nuestras ideas previas y sesgadas, y abrir nuestra mente a nuevas formas de computación que representen mejor las necesidades y deseos locales.
10. Integra recursos Biológicos y Renovables.
La permacomputación insiste en las prácticas sostenibles y regenerativas, pero no podemos obviar que la industria electrónica está basada en el uso de materiales artificiales, y se asienta sobre procesos extractivos complejos y altamente explotadores. Quizás las soluciones pasen por reemplazar algunos componentes por materiales más sostenibles. ¿Cómo podemos incentivar esto? ¿Es posible, o un simple brindis al sol?
Todo lo que podamos hacer para trabajar con recursos biológicos y renovables es bueno para minimizar el impacto ecológico de nuestros proyectos tecnológicos. Acercarnos a la naturaleza de nuevo nos permite reflexionar sobre las condiciones, recursos, el acceso a los mismos, el reciclaje de los materiales, etc. Construir con métodos más básicos, hacer las cosas por nosotros mismos, puede cambiar nuestra cultura computacional.
Si te ha gustado esta entrada, puedes enviarme tus comentarios en Mastodon: @keyeoh@qoto.org