Esa frustración que sentimos cuando un dispositivo electrónico se vuelve demasiado lento… Todos y todas la conocemos. Ese smartphone que carece de espacio de almacenamiento o de memoria RAM y que nos impide instalar nuevas aplicaciones o actualizaciones. Ese PC que logra, con dificultad, realizar sus actualizaciones, pero que se ha vuelto tan lento que su uso se vuelve imposible. A la larga, estas frustraciones nos impiden utilizar correctamente nuestros dispositivos y nos llevan a cambiarlos.
Los computadores, los televisores inteligentes, los smartphones y los relojes conectados siguen avanzando hacia una ruta inexorable: la obsolescencia. La decisión de reemplazar un dispositivo electrónico resulta de un proceso acumulativo de deficiencias, tanto de software como de hardware, que generan limitaciones en el uso y funcionamiento de nuestros dispositivos. Además, hay que tener en cuenta el efecto del moda.
¿Quieres saber más sobre la relación entre la obsolescencia de nuestros dispositivos y sus software? ¡Aquí te lo explico!
En este artículo, analizamos cómo el código abierto y el software de código abierto pueden ayudarnos a alargar la vida útil de nuestros dispositivos y, a su vez, retrasar la obsolescencia de nuestro hardware.
¿Por qué hablar de obsolescencia y tratar de alargar la vida útil de nuestros dispositivos?
Como lo sabemos, es durante la fabricación de un dispositivo que se produce la mayor parte de su contaminación ambiental. Por eso, si logramos reducir el número total de dispositivos producidos para nuestro uso personal, reduciremos una parte de las emisiones generadas. Esto se trata de uno de los ejes para limitar el impacto ambiental del sector tecnológico. Al mantener nuestros dispositivos más tiempo y preferir el recondicionamiento en lugar de adquirir modelos nuevos, ya estamos actuando por un futuro digital más sostenible.
Pero, ¿qué es un software libre y de código abierto (open source)?
La definición de software libre es dada por la Free Software Foundation. Es un movimiento cuyo objetivo es garantizar las libertades de quienes utilizan software para ejecutar, estudiar, modificar y redistribuir copias, incluyendo o no estas modificaciones.
Nace en oposición a los software privativos, que pertenecen a una entidad y para los cuales no hay acceso libre. Pensemos, por ejemplo, en un programa de edición de texto como los de Microsoft o Google. Podemos utilizarlos, pero no tenemos acceso a la forma en que han sido implementados, contamos con poca información sobre su funcionamiento y no tenemos derecho a modificarlos. El código de estas aplicaciones es privado y no está disponible públicamente.
Por otro lado, un editor de texto como Libre Office, cuya implementación y código están abiertos, permite a todo el mundo proponer modificaciones, crear una copia del editor y crear su propia versión.
El software libre se centra en las libertades de quienes lo utilizan yse define cuatro reglas fundamentales:
- La libertad de ejecutar el programa por todas las personas.
- La libertad de estudiar el funcionamiento del programa y poder adaptarlo a sus necesidades. Es por esto que el acceso al código fuente es una condición necesaria para esto.
- La posibilidad de redistribuir copias del software. La idea es que si yo utilizo un software y que otra persona lo necesita, yo puedo crear una copia y así compartirla. Aún si esa persona no sabe cómo hacerlo, la comunidad la puede ayudar.
- La libertad de mejorar el programa y de publicar esas mejoras, para así permitir que toda la comunidad pueda aprovechar.
Uno de los principales beneficios de publicar el código fuente es la capacidad que otorga a toda la comunidad para identificar, detectar y solucionar problemas y errores más fácilmente, proponer nuevas funciones, crear sus propias versiones y controlar lo que sucede detrás del programa.
Un ejemplo: deseas utilizar un software de videoconferencia. Tienes acceso al código fuente, el cual es verificado por la comunidad, lo que te garantiza que tus comunicaciones estarán efectivamente seguras y no serán transmitidas ni vendidas. En este caso, el control de la solución recae en la comunidad y en la posibilidad de que cada persona pueda investigar y supervisar lo que ocurre. En cambio, en el software privativo, la confianza en este programa se basa en la confianza que puedes tener en la entidad que lo respalda. No tienes la posibilidad de actuar personalmente para verificar lo que realmente sucede detrás del software.
Eso es básicamente lo que es el software libre. Además, existen otros programas llamados « software de código abierto » (open source), que comparten muchas similitudes con los programas libres. Sin embargo, hay una diferencia a un nivel más filosófico: los programas de código abierto no están tan centrados en la idea de libertad de uso de los usuarios y usuarias del software. En cambio, priorizan aspectos más prácticos, como la posibilidad de desarrollar un programa gracias a un código abierto. Un programa de código abierto puede ser redistribuido libremente, el código fuente es accesible, se puede crear trabajos derivados y es posible modificar el programa. Debe poder ser redistribuido y reutilizado siempre que se respeten las condiciones de la licencia que se aplica a este código.
¿Licencia? Pueden llegar a ser muy técnicas y complicadas, pero debes saber que las licencias son la base del software libre o de código abierto, ya que es un contrato legal que estipula cómo podemos reutilizar o utilizar este código para crear copias u otros tipos de software. Por ejemplo, si quiero crear un programa para crear conferencias en línea, y para hacerlo, me baso en una solución de código abierto ya existente que me permite crear conversaciones de voz en Internet, entonces puedo usar libremente este código, modificarlo y crear mi propia versión de conferencias. Sin embargo, la licencia bajo la cual se creó este código en primer lugar puede o no requerir que mi código sea público y también de libre acceso.
En resumen, con el software de código abierto, tienes la posibilidad de examinar el código fuente, ver cómo se crea un programa, una aplicación o una biblioteca y, respetando ciertas condiciones, puedes modificarlo, proponer nuevas funcionalidades, crear copias o reutilizar ese código para otros fines.
El software libre ≠ gratuito
Es importante reconocer que un gran número de bibliotecas de código, servicios y programas sobre los cuales se basan todas las aplicaciones que utilizamos diariamente son de código abierto. Todas las aplicaciones privadas utilizan, de alguna manera o otra, este código abierto que está mantenido por comunidades. Las comunidades, representadas por seres humanos reales (sí, sí) que dan de su tiempo libre para mantener, compartir y hacer vivir esta comunidad del software libre.
Algunas personas y empresas apoyan a ciertas comunidades o a sus empleados teniendo un papel importante en ciertos proyectos, pero la gran mayoría de los que avanzan en el software que utilizamos son comunidades de código abierto, y generalmente lo hacen de forma voluntaria.
El software de código abierto para prolongar la vida útil de nuestros dispositivos electrónicos
Ya hemos hablado de los diferentes tipos de obsolescencia. Aquí está el artículo nuevamente, si aún no lo has leído.
En resumen, existen tres tipos de obsolescencia:
- Mecánica o electrónica: un componente que ya no funciona o el hecho de que la batería pierde capacidad;
- Por software: smartphone, computador, televisión o reloj conectado, todos estos dispositivos tienen que hacer actualizaciones que cada vez ocupan más espacio, requieren más recursos y poco a poco, lo que acaba ralentizando el dispositivo. En el caso de un teléfono inteligente, se vuelve imposible realizar actualizaciones, tomar fotos, instalar otras aplicaciones. Eventualmente, la falta de actualizaciones de seguridad conducirá a la obsolescencia completa del sistema. La obsolescencia por software también puede manifestarse cuando el dispositivo funciona perfectamente, pero ya no recibe actualizaciones. Esto puede ocurrir si la empresa responsable del soporte técnico quiebra o decide reducir sus actividades, considerando que mantener el soporte y las actualizaciones de seguridad ya no son rentables. Nos encontramos así con un software obsoleto y vulnerable. Un ejemplo entre otros: las nuevas versiones del sistema operativo Windows, donde nos vemos obligados a pasar de una versión a otra. Y si mi computador antiguo no es compatible con la nueva versión, tendré que dejar de usarlo. Porque sin actualizaciones, el sistema operativo se volverá vulnerable y comprometerá mi seguridad, a pesar de que mi computador aún funcionaba perfectamente.
- Percibida: el dispositivo funciona correctamente, pero cuando lo comparamos con otros modelos o nos vemos influenciados por las tendencias impuestas por las empresas, surge la necesidad de adquirir un modelo más nuevo.
Lo que nos preocupa aquí es la obsolescencia por software. Es importante entender que los programas informáticos (software) tienen consecuencias en nuestros dispositivos, lo que puede llevar a una obsolescencia del material, incluso sin defectos físicos.
¿Cómo el software de código abierto puede ayudarnos a combatir la obsolescencia?
Tomemos un ejemplo clásico: un computador que, después de unos años de uso, se vuelve lento, muy lento. Se vuelve difícil realizar tareas simples como enviar un correo electrónico, navegar por la web o leer un documento. Incluso el arranque del dispositivo tarda muchos minutos. ¿Te suena conocida esta situación? Probablemente hay una multitud de factores, pero las actualizaciones de los programas del sistema operativo juegan un papel importante en esta lentitud. Estos software se han vuelto tan pesados y requieren tantos recursos que el computador ya no puede hacer frente a ellos. Aunque al principio todo funcionaba perfectamente. Esto se debe a que las nuevas versiones y actualizaciones han sido diseñadas para funcionar en computadores recientes y no en tu viejo PC. Por lo tanto, los dispositivos antiguos y sus limitadas capacidades quedan atrás y, al final, dejan de ser utilizados.
Sin embargo, existe una alternativa -para aquellos que pueden y saben hacerlo, o que pueden confiar en alguien que sabe- para seguir utilizando su antiguo computador. Se trata de la instalación de otro sistema operativo de código abierto que es mucho más ligero, requiere menos recursos y permite realizar tareas básicas sin problemas. En otras palabras, el código abierto puede permitirnos extender la utilidad y la vida útil de nuestro antiguo hardware informático y teléfonos, dejados atrás por empresas privadas.
Además de los sistemas operativos, esta idea se puede aplicar a los programas. Dos versiones podrían coexistir: una versión estándar destinada a los dispositivos recientes que poseen muchas recursos, y una versión ligera, específicamente diseñada para los dispositivos antiguos. Por supuesto, las actualizaciones de seguridad también estarían incluidas en estas versiones ligeras.
A menudo, durante las actualizaciones de software, no necesitamos necesariamente todas las nuevas funciones. A medida que estas funciones se acumulan, nos encontramos con un gran número de opciones inutilizadas. En este contexto, un servicio más ligero resulta a menudo más adecuado, y la comunidad de código abierto puede ofrecer esta alternativa que permite seguir utilizando el dispositivo de manera eficaz.
Un ejemplo interesante es el de los objetos conectados de tipo IoT (Internet of Things). Considéremos el caso de una cámara inteligente a la cual se puede acceder en línea. Si la empresa que la vendió y mantiene quiebra, no tendrás más remedio que comprar una nueva cámara, porque la antigua ya no recibirá las actualizaciones de seguridad, lo que la hace vulnerable y compromete tu seguridad y confidencialidad. Por el contrario, si el código estaba disponible bajo licencia de open source, la comunidad habría tenido la posibilidad de modificarlo o actualizarlo, incluso después de que la empresa haya ido a la quiebra. Y esto puede suceder con los millones de dispositivos conectados que se han lanzado al mercado. El open source permite así prolongar su vida útil en lugar de tirarlos.
A continuación, el código abierto puede facilitar la compatibilidad con dispositivos externos y garantizar la interoperabilidad entre computadores, smartphones y otros dispositivos externos.
Ejemplo: tenemos un computador al que queremos conectar un lector de CD externo. La mayoría de los nuevos computadores ya no tienen lectores de CD, por lo que debemos usar un viejo lector externo que está guardado en el fondo de nuestro escritorio. Al conectarlo, nuestro computador no reconoce el lector de discos. ¿Qué sucede? El problema no está en el PC ni en el lector, sino en el software que actúa como interfaz, que traduce y realiza la comunicación entre el computador y nuestro lector de CD. A menudo, estos diccionarios, llamados controladores, no existen para todas las combinaciones posibles entre los modelos de sistemas operativos y los modelos de dispositivos externos que existen.
En nuestro caso, es probable que la nueva versión de nuestro sistema operativo no incluya el controlador para reconocer nuestra unidad externa, que es demasiado antigua. ¿Qué haríamos la mayoría de nosotros? Comprar un nuevo reproductor de CD que sea compatible con nuestro computador. Afortunadamente, la comunidad de código abierto ha creado y sigue creando estos diccionarios que nos permiten seguir utilizando dispositivos externos más antiguos.
Para lograr esto, es esencial comprender cómo interactúan el computador y el reproductor de CD para establecer una comunicación efectiva entre ellos. Por lo tanto, los fabricantes de estos productos deben ser transparentes, porque incluso si la comunidad quiere desarrollar software de código abierto, sin esta transparencia, la creación de la interfaz se vuelve imposible. Es importante que esta interfaz sea de código abierto, permitiendo a cualquier persona con las habilidades necesarias mejorar o modificar la comunicación entre el dispositivo y el computador. Es esta transparencia la que nos permitirá alargar la vida útil de nuestro reproductor de CD.
Lector de CD en nuestro ejemplo, pero podría ser al revés: tenemos una webcam nueva que queremos conectar a nuestra viejo PC. Las consecuencias de la incompatibilidad serían peores: si realmente necesitáramos esa webcam, tendríamos que cambiar de computador para poder usarla, aunque el actual funcione perfectamente. Y al igual que en el caso anterior, si la empresa que fabrica nuestro dispositivo quiebra, es posible seguir creando, manteniendo el software actualizado y utilizando los dispositivos si el código es de acceso libre y las interfaces están abiertas.
Otro punto relacionado con esto es que el software de código abierto fomenta, o al menos no obstruye, la creación de estándares operativos. Esto es muy importante, como explicamos en el caso de las interfaces entre diferentes dispositivos. A esto se le llama interoperabilidad.
Un ejemplo claro de las ventajas de la interoperabilidad es la estandarización de los cargadores. Actualmente, un smartphone se recarga principalmente a través de un puerto USB. En el pasado, para quienes lo recuerden, cada teléfono móvil o cada empresa tenía su propio cargador. Esta mutualización de los cargadores, bastante práctica, otorga más libertad, ya que ya no dependemos de una sola empresa. Dado que se trata de una interfaz abierta, en este caso el cargador, puedes utilizar otros modelos de cables o cargadores.
El problema cuando estas interfaces son privadas, cerradas y no estandarizadas, es la dependencia directa de la empresa propietaria. Este tipo de dependencia hacia el proveedor ocurre a menudo en el mundo del software y, hasta cierto punto, con el hardware. Piense en algunos dispositivos que solo funcionan con software de una empresa o dispositivos que solo pueden comunicarse con otros dispositivos de la misma marca. Imaginemos un teléfono inteligente que solo transfiere fotos hacia un cierto tipo de computador. A nivel empresarial, algunos proveedores de software “capturan” a sus usuarios impidiendo la interoperabilidad con otros programas y aplicaciones. De esta manera, mantienen el control y vinculan a sus clientes con sus productos. En resumen, esto se traduce en una dependencia total de un proveedor de software, un proveedor de hardware y, a menudo, ambos.
Un punto esencial: la reparación
La reparación de electrodomésticos a menudo se debe a un componente mecánico o electrónico defectuoso o inutilizable. Aunque esto no depende necesariamente del software, la posibilidad de reemplazar parte de él forma parte de la transparencia y de la apertura tecnológica. Existe una rama llamada “open hardware” que busca “abrir” los elementos físicos para proporcionar la misma idea de comunidad abierta a los dispositivos. Por ejemplo, el caso de “Arduino”. Esta posibilidad de reemplazo se inscribe también en la filosofía del código abierto o del software libre.
Esta transparencia es muy importante para poder realizar reparaciones. Sin embargo, en la actualidad, todavía estamos lejos de esa apertura. El funcionamiento de los dispositivos es opaco, son difícilmente reparables por el público en general y falta documentación pública para llevar a cabo ciertas reparaciones. Esto nos hace dependientes de empresas específicas para realizar nuestras reparaciones, que, sin embargo, deberían ser sencillas, como reemplazar una batería o una pantalla.
En este momento, se han lanzado algunas iniciativas legislativas para definir índices de reparabilidad y mejorar la orientación a los consumidores y consumidoras cuando compran sus dispositivos.
- En Bélgica, la adopción de un índice de reparabilidad y un índice de durabilidad es prevista. Para obtener más información: https://www.ecoconso.be/fr/content/un-indice-de-reparabilite-belge-en-mai-2025.
- En Francia, el índice de reparabilidad ha sido en vigor desde 2021. A partir de 2025, se planea implementar un índice de durabilidad en los televisores y las lavadoras. Para obtener más información: https://www.economie.gouv.fr/particuliers/tout-savoir-indice-reparabilite y https://www.ecologie.gouv.fr/politiques-publiques/indice-durabilite
La fuerza de la comunidad
En definitiva, el código abierto permite la personalización, la adaptación a las necesidades del usuario, la reparación o el soporte técnico. Esto a menudo resultará en una extensión de la vida útil de los dispositivos, ya que es posible satisfacer necesidades, que no son necesariamente rentables para las grandes empresas.
Pero esto no ocurre por arte de magia.
El elemento fundamental para que este ecosistema funcione (creación, soporte técnico, actualizaciones, etc.) es la comunidad. Quienes crean software son seres humanos, a menudo voluntarios que, en su tiempo libre, colaboran, crean, ayudan a probar el software, a redistribuirlo o a instalarlo para otras personas, con el fin de que la comunidad siga creciendo y existiendo. Al igual que una empresa privada, una comunidad puede colapsar, lo que resultaría en proyectos o software de código abierto que dejarían de existir. La única diferencia es que cualquiera, gracias al código abierto, puede retomar este proyecto y relanzarlo. Lo que no es posible con una solución privada. Es importante ser consciente de esto.
El código abierto permite más seguridad, apertura, facilidad de detección de vulnerabilidades, interoperabilidad y, como hemos mencionado, alarga la vida de nuestros dispositivos y retrasa la obsolescencia. Pero si no hay nadie detrás de todo esto, estas alternativas no existen.
Para apoyar a las comunidades, puedes involucrarte, probar lo que se hace, ofrecer soluciones a ciertos problemas, ayudar con tu código personal o financieramente. Creemos que es importante que las empresas que benefician de una parte significativa de este bien común – es decir códigos, bibliotecas y programas open source – aporten con una contribución, de una manera u otra, a esta comunidad. En ausencia de esta reciprocidad, poco importa nuestro deseo de que el software libre resuelva nuestros problemas, esto no sucederá.