Explicar el concepto de software libre no siempre resulta sencillo. Que me disculpen los informáticos más puristas por las analogías utilizadas para explicar la idea, pero estarán de acuerdo en que, para alumnos de la ESO, es un primer paso para comprender el concepto de software libre y código abierto.
Si buscamos una definición encontramos que “el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado”.
La idea de ejecutar, copiar y distribuir un programa es fácil de comprender; lo habremos hecho más de una vez, incluso cuando no debíamos (que tire la primera piedra…). Ejecutar un programa es “abrirlo para usarlo”. Copiar un programa es leer el programa original, bit a bit, para obtener una copia digital exacta del producto. Distribuir un programa es poder entregar copias del programa a quien queramos.
Lo que quizá no está tan claro es qué es eso de poder “estudiar y modificar” el software. Para comprender esta idea, antes hay que conocer el proceso de creación de un programa, qué elementos son necesarios. Es en este punto donde hay que hablar del código fuente.
No todo el mundo conoce qué hace exactamente un programador informático. Es el profesional que en una de las fases de desarrollo del software “escribe” el programa. Así que un primer intento para explicar la idea de código fuente puede ser hablar de arquitectos y planos.
Nadie confiaría en la construcción de un edificio si los albañiles empezarán a construir el Día 1 sin haber recibido ninguna instrucción. Sería impensable levantar el edificio sin unos planos creados por un arquitecto, porque en esos diseños y otros documentos vienen registradas indicaciones detalladas sobre el proceso correcto de la obra. De hecho, el mismo arquitecto podría construir el mismo edificio en otro lugar del mundo siguiente los mismos pasos, utilizando los mismos planos.
El proceso de creación de un programa es similar. Son necesarios unos planos, que llamamos código fuente, donde están “anotadas” de forma exacta (mediante algoritmos) cada una de las instrucciones, los cálculos, cada paso del funcionamiento del programa informático.
Volvamos a la definición de software libre. Una de sus características es la libertad de cualquiera de nosotros para “estudiar y modificar” el programa. Para ser más exactos lo que se puede estudiar y modificar no es el programa, sino el código fuente del programa. ¿Qué significa esto? ¿Qué ventajas tiene?
El programa final se obtiene a partir del código fuente, cientos, miles o millones de líneas con instrucciones que detallan “qué hace el programa”. Entonces, ¿podemos cambiar su funcionamiento? Así es. Podemos cambiarlo y mejorarlo. Imaginad que pudiéramos acceder al código fuente de un juego de ordenador y que tuviéramos los conocimientos y el tiempo para modificar el código y diseñar nuestra propia versión del juego. Esto sólo es posible si es software es libre.
Y sin con arquitectos y planos todavía no queda claro el concepto, otra de las analogías utilizadas viene del mundo gastronómico, con pasteles y recetas. Ya puede uno imaginar que en este segundo intento de explicar el software libre, el pastel es el programa y la receta es el código fuente.
Sobre el tema de software libre propongo a algunos alumnos hacer una lista de la compra (de software). ¿Cuánto nos costaría equipar a un ordenador con los programas básicos para poder trabajar a diario? En general, el software libre es gratuito y, por tanto, el coste de tener un equipo con todo tipo de programas es 0 euros. Aunque hay muchos programas gratuitos en Internet (freeware), en general el software que está más generalizado entre los usuarios utiliza un sistema de licencias (de uso del programa) por las que hay que pagar una cantidad, lo que incrementa el coste final del equipo. Un ordenador no sólo vale lo que marca la etiqueta en la tienda; también hay que tener en cuenta lo que nos costará «llenarlo de programas».
Hay que buscar otras opciones. Alternativas libres.
Fotografía | Source code ON PAPER de Tim Lucas | House Plans: Side Left de Anton Raath
Enlaces | Software Libre | Código Fuente
Vídeo | Software Libre (Recetas de Cocina)
3 Comments
[…] Software libre, arquitectos y pasteles […]
[…] de las ventajas del software libre es la posibilidad de estudiarlo y modificarlo. Para comprender esta idea, es necesario […]
[…] Visual, Informática, Mis recursos, Recursos with 1 Comments TweetA principio de curso hablaba de “Software libre, arquitectos y pasteles“, sobre las ventajas de publicar el código fuente del software para que cualquier usuario […]