Nuestras vidas están cada vez más atravesadas por software y, sin embargo, hablamos poco de ello. Impuestos, textos, contabilidad, comunicación en tiempo real y muchas otras funciones cotidianas están atravesadas por una cosa llamada código, de la que sabemos poco pero dependemos mucho. ¿Qué es esto que nos es tan común y tan ajeno al mismo tiempo, y cómo debemos tratarlo?
Podemos empezar definiendo con más precisión al software. Wikipedia sigue un camino que es ya tradicional y que depende de un contraste con hardware: se conoce como software (…), logicial o soporte lógico al sistema formal1 de un sistema informático,2 que comprende el conjunto de los componentes lógicos necesarios que hace posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.3 La interacción entre el software y el hardware hace operativo un ordenador (u otro dispositivo), es decir, el software envía instrucciones que el hardware ejecuta, haciendo posible su funcionamiento. Ejemplos clásicos de software son las aplicaciones informáticas4 (como el procesador de texto usado para escribir este artículo, o el navegador que sirve para su lectura) y el software de sistema5 (cuyo ejemplo más conocido son los sistemas operativos6 que, básicamente, sirven para que otros programas funcionen adecuadamente).
La principal razón por la que esto nos compete a todos y todas es que este conjunto de componentes lógicos son cada vez más omnipresentes. Piensen en la última vez que atravesaron un día de sus vidas sin interactuar con alguna computadora (celular incluido) y verán que es difícil.
Sin embargo, esto no termina de explicar la relevancia del tema; al final, tenemos muchas cosas compartidas que no necesariamente requieren de un análisis exhaustivo (pensemos, por ejemplo, en las funciones vitales: comer, respirar, etcétera). ¿Por qué el software sí? La respuesta breve es que los componentes lógicos no nacen de la nada: alguien, llamado programador o programadora, tuvo que hacerlos; y, al hacerlos, definió unilateralmente no sólo qué hace esa porción específica de código sino también cómo lo hace.
Un ejemplo concreto: hay una enorme variedad de navegadores que sirven para aprovechar, de manera sencilla y normalmente gráfica, la enorme cantidad de información y herramientas disponibles en internet. Sin embargo, no todos los navegadores nos dan acceso a esta información de la misma manera: Chrome, por ejemplo, que es uno de los más populares, tiene un consumo de memoria muy importante (sobre todo en celular) que lo hace más lento que algunas otras alternativas. Y no sólo eso: su política de admisión de código adicional para funciones específicas (conocidas como add-ons) es tan permisiva que tiene no pocos problemas potenciales de seguridad en la gestión de información privada; por mencionar un posible contra. El ejemplo es relativamente sencillo (espero): todos los navegadores sirven para explorar internet; pero no todos son tan lentos, ni son tan permisivos con la conexión con otros programas más pequeños. Todos nos conectan, pero no todos nos conectan de la misma forma. Esto importa, sobre todo, cuando lo que está en juego es la explotación de nuestros datos personales (hábitos, gustos, nombre, número de celular o de tarjeta de crédito… las posibilidades son enormes).
Sirva esta introducción para anunciar un tema que ocupará un par de mis columnas: el software popular. La relevancia de este tema hace que definir una aproximación colectiva a él sea muy importante, y mi opinión es que deberíamos diseñar y garantizar que cuando menos una porción importante de código sea de fácil y seguro acceso para el pueblo que lo necesita, cada vez más, para atravesar su cotidianidad.
NOTAS
1. Se mantienen los vínculos a conceptos específicos para quien desee indagar un poco más: https://es.wikipedia.org/wiki/Sistema_formal.
2. https://es.wikipedia.org/wiki/Sistema_inform%C3%A1tico.
3. https://es.wikipedia.org/wiki/Hardware.
4. https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_inform%C3%A1tica.