Software y hardware Libre
Introducción
El concepto de Software libre y Hardware Libre es algo que por un lado me entristece porque teniendo una importancia vital tanto en el mundo de la tecnología como en el día a día, ya que vemos la tecnología tiene un impacto directo en la vida de las personas, no solo es un concepto totalmente desconocido sino que ademas, hubo un momento que se empezó a conocer, ya que no es un concepto técnico, es mas bien un concepto relacionado con los derechos de autor y derechos de las personas, pero a partir del 2000 hubo una gran campaña por parte de las grandes industrias tecnológicas para no solo que volviera a ser un concepto totalmente desconocido por parte del publico en general sino que ademas fue un concepto también bastante confuso por parte de la misma comunidad tecnológica y hasta dentro de las empresas tecnológicas, llegando a haber incluso pleitos legales al no entender correctamente sus implicaciones. Pero por otra parte, es innegable el éxito que tuvo que tuvo, fuera conocido, valorado o no, y la revolución que ha provocado a todos los niveles, intelectual, académico, técnico, económico y social ha sido increíble y ha sido revolucionario. Podemos decir que ha sido una verdadera revolución en la sombra.
Por mi parte me gustaría explicar, sin tecnicismos ninguno, tal como esta siendo este ensayo, un poco el origen, historia y evolución del concepto que hay detrás del software libre y las implicaciones que tiene para todos nosotros.
Historia
Como mucho de lo que estamos viendo en este ensayo, todo esto viene de universidades de EE.UU donde personas que estudiaban o trabajaban en esas universidades, compartían sus conocimientos en ellas sin ningún tipo de problemas y se ayudaban entre ellos, compartiendo tanto programas de software para manejar ciertas computadoras o solucionar ciertos problemas científicos, como se ayudaban a solucionar los problemas de esos programas si estos no iban bien compartiendo el código fuente de esos programas.
Aquí voy a hacer una pequeña parada para explicar lo que es el código fuente de un software o programa de ordenador.
Normalmente cuando una persona crea un programa con un lenguaje de programación que puede entender cualquier ser humano que conozca ese lenguaje de programación. Una vez hecho, ese código, llamado código fuente se le pasa a un programa especial llamado Compilador que o transforma en un código especial de ceros y unos que solo lo entiende la maquina. Ese nuevo código se llama código maquina. Pasar del código fuente a código maquina es fácil, pasar de código maquina a código fuente es casi imposible.
Por eso en universidades como el MIT, Instituto Tecnológico de Masasuchet, sus miembros, se pasaban solo los códigos fuentes, para que todos pudieran estudiar y ver como eran los programas y así la gente aprendía y ademas si alguien veía algún error o alguna forma de hacer que el programa funcionase mejor o mas rápido, lo modificaba, lo compartía con todo el mundo y así todos se beneficiaba tanto de la mejora o del arreglo como del aprendizaje. Digamos que el programa no era el fin, solo una herramienta para que pudieran hacer sus trabajos científicos que era para ellos lo importante.
Los tiempos cambian
Pero los tiempos cambian y después del trabajo de las hormigas llegan los saltamontes, por si os acordáis del cuento, y eso, empieza a llegar gente que ni sabe programar ni le interesa la ciencia ni nada, sino lo que le interesa es ganar dinero del trabajo de los demás, y solo ganar dinero, no para mejorar el mundo, ni para conseguir algún fin en concreto, solo ganar por ganar, tal vez para llenar un vacío interior que nunca podrán llenar, y llegan los Gates y los Jobs o los Musk o los Altman, que nunca tienen suficiente, y de ahí cosas como la famosa carta de Bill Gates, donde explicaba perfectamente que no se podía permitir eso de que la gente compartiera software así como así.
Y fue como en los años 1980 apareció una persona muy peculiar. Una persona totalmente vilipendiada por la historia, por los suyos, por la industria y por todos, que dudo que alguna vez aparezca en algún libro de historia, pero que sin el la informática actual no seria ni por asomo lo que es, una persona adelantado a todo y a todos y que si no hubiera existido habría que haberlo inventado, el Sr. y me pongo de pie, Richard Matthew Stallman.
Un señor, que lo han acusado de muchas cosas, pero sea por lo que sea, ha hecho más por las personas y por el mundo en el que vivimos que el 90% de las personas famosos del mundo de la tecnología que la gente conoce y como digo, posiblemente, la gente que este leyendo esto será la primera vez que este leyendo su nombre.
El asunto es que el Sr. Richard Stallman venia del MIT y vio con muy malos ojos el giro que estaba tomando el mundo de la tecnología, de ser un lugar donde las personas compartía sus conocimientos en forma de código fuente, a un lugar donde la gente solo vendía esos conocimientos en modo código maquina, abusando ademas de los usuarios con clausuras abusivas, como por ejemplo empezó a hacer Bill Gates. Steve Jobs por ejemplo, era abusivo, te vendía una maquina con un software, pero al menos la maquina en general era buena, tenia garantía, y cualquiera problema tenia un muy buen servicio de post-venta. Para muchas personas era un servicio caro, pero al menos, no te engañaba.
En cambio, Bill Gates y compañía con su empresa Microsoft, decía que te vendía su software Windows, pero en realidad, lo que hacia era venderte una licencia, que en realidad era como pagar un alquiler. El software solo valía para una maquina, si cambiabas de ordenador, era necesario otra licencia, si actualizabas el ordenador, también y lo mas interesante es que sobre errores o problemas de su software ellos no se responsabilizaban de nada.
Así que el Sr. Richard Stallman decidió montar una fundación y una serie de licencias para crear un software que defendiera las ideas que se habían desarrollado desde siempre en el MIT y sobre todo que protegieran a los usuarios y sus derechos, ya que el ya había tenido bastantes experiencias de ex-compañeros que se habían aprovechado del trabajo de otros compañeros suyos de MIT para montar sus propias empresas y hacerse ricos a sus costas.
De este modo, la licencia más importante que hizo fue la llamada GPL.
La GPL es una licencia que exige que el software que tenga esta licencia debe seguir cuatro condiciones, aquí llamadas, libertades esenciales:
+ Libertad de usar el software con cualquier propósito.
+ Libertad de modificar el software para adaptarlo a nuestras necesidades.
+ Libertad de compartir el software con nuestros amigos y vecinos.
+ Libertad de compartir los cambios que uno realiza.
Esto es lo mas importante que hay que saber del software libre, y aunque luego se realizaron algunas otras licencias como la AGPL, que esta adaptada para servicios en la red, lo importante del software es su carácter de que el software nos tiene que permitir estudiar y compartir siempre el código fuente y que el software libre tiene un carácter que se llama "viral", es decir, el software con licencia GPL, siempre mantendrá el mismo o todos sus derivados la licencia GPL.
Esta última libertad, para muchas personas, fue finalmente un estorbo, y terminó provocando un cisma en el movimiento del software libre, pero es algo que veremos en la siguiente sección.
En todo caso para cualquier duda lo mejor es ir a la fuente, esto es a la Fundación del Software libre o la Free Software Foundation. https://www.gnu.org/licenses/#GPL
Software Libre vs Open Source
A día de hoy, en la década del 2020, sobre todo para las personas que han visto o sufrido los mandatos de Donald Trump, se están dando cuenta, mas o menos, como están las cabezas de los ciudadanos norteamericanos. El tema es que, en los años 1990, muchas personas, no terminaban de entender la mentalidad norteamericana, que ya en aquella época empezaba a ser enfermiza en el tema de que todo lo que no fuera ultracapitalista era comunismo malo. Y esto no es un tema de ideas o de temas políticos, es un tema de manipulación de las personas por parte de ciertas personas o empresas para sacar un rédito económico.
Richard Stallman, el solo, sin prácticamente ayuda, consiguió desde cero crear una gran cantidad de software fundamental, como compiladores, editores, y muchos programas, que el usuario medio no conoce pero son básicos para el funcionamiento de una computadora o un servidor y les puso la licencia GPL. Luego le ayudó muchas otras personas, también grandes personas muy brillantes y también les pusieron esas licencias y todos compartieron ese software de forma totalmente altruista. Hubo un caso de una persona que solo pedía chocolate a cambio y termino recibiendo tanto que al final tuvo que comunicar que, por favor dejasen de hacerlo que ya no le cabía más chocolate en casa.
Al final Ricahrd Stallman y todos los voluntarios de la fundación por el Software Libre o la FSF, ya que en ingles es la Free Software Foundation, hicieron durante años un gran trabajo de forma altruista y crearon todas las herramientas para tener un sistema operativo totalmente libre, es decir, todo con licencias GPL. Lo tenían todo pero faltaba lo mas importante que es el núcleo del sistema, o el corazón o kernel (del alemán núcleo). Para que se entienda la filosofía de este movimiento, es como si se juntase un grupo de personas aficionadas a la automoción y decidiesen hacer todos los diseños de las partes de un coche y que cada uno se las pueda hacer gratis en casa y montar su propio coche.
Como digo, al final solo faltaba el kernel o núcleo del sistema, que seria el motor del coche, y en 1991, un estudiante de la universidad de Helsinkti creo un pequeño sistema UNIX que llamo Linux, ya que el se llamaba Linus Torvald. En principio, él no era muy favorable a la filosofía del Software Libre, pero un conocido le convenció que lo compartiese con la comunidad bajo esa licencia y en muy pocos años gracias a toda la comunidad ese sistema operativo creció de manera exponencial y junto a esas herramientas gobiernan hoy en día básicamente el 90% de todos los ordenadores del mundo, desde los servidores que controlan nuestro dinero, que nos ofrecen musica, películas, videojuegos, etc, los supercomputadores, o incluso manejan los pequeños mini-ordenadores que gestionan nuestras impresores, routers o incluso robots industriales.
El asunto fue que al principio, todo pareció algo muy de nicho, ya sabéis, como el internet primigenio, o algo mas parecido a un hobbie de cuatro frikis, tal vez algo reducido al ámbito académico y sin ninguna repercusión en la industria y menos aun en los negocios.
Pero, esto rápidamente se vio que no era así, empresas como Red Hat, aparecieron muy pronto demostrando lo contrario, y desde el punto de vista intelectual, Eric Raymond, dio un gran toque de atención con su libro, La Catedral y el Bazar, donde hizo una muy buena explicación de como ese nuevo modelo de desarrollo que había detrás del software libre era mejor, mas ágil y hacia que desarrollar software fuera mas barato y mas seguro y mas flexible que desarrollar software tal como lo hacían las empresas con sus software privativo.
Hagamos aquí un pequeño parón para ponernos en situación ya que esto ya paso hace mucho años.
En los años 80 y 90, había como un dogma de fe que solo el software creado por una empresa que fuera privado y que costase mucho dinero, era el único software válido. Que fuera privado o privativo como he explicado, es que no siga las 4 libertades explicadas anteriormente y al usuario solo se le de el código maquina y en la mayoría de las ocasiones sin ninguna garantía.
Ahora estamos muy acostumbrados a que haya software gratuito o en países como España o en latinoamerica, a instalar software "pirateándolo" pero esto en otros países de Europa y sobre todo en EE.UU era impensable y menos aun en el mundo empresarial que se considera algo peor que robar.
Cuando llego el modelo de desarrollo del Software Libre, empezó a aparecer software gratuito ya que mucho software libre también era gratis y se mezclaba con el freeware. Y esto daba mucha confusión.
Richard Stallman siempre tenia que estar diciendo que Free Software es a Freedom no a Free Beer, ya que en ingles la palabra Free tiene la doble acepción de libertad y de gratis. El asunto llego a ser tan molesto para él que como sabe hablar perfectamente inglés y español incluso prefería usar la expresión Software Libre, ya que en español no tenia ese problema.
El asunto es que tal como explico Raymond en su libro de La Catedral y el Bazar, el software privativo era como una catedral, era estático, requería un desarrollo, estructurado y podía hacer cosas muy bonitas, como una catedral, pero una vez finalizado ya se quedaba estancado. En cambio, el software libre era como un bazar, podía aparecer de pronto, se adaptaba, crecía rápidamente, y tenia una forma orgánica de funcionar.
Esto, en su momento rompió muchos esquemas, ahora no lo parece pero en su día era como decirle a un creyente que dios no existe o a un físico que la gravedad tampoco, y era el hecho de que un software creado por voluntarios, cada uno en su casa, sin un supuesto control estricto, sin una estructura fija, sin una gran empresa detrás y ademas con todo el código totalmente mostrado y a la luz, podía llegar a generar programas mejores, en menos tiempo y mas complejos y además mas seguros y con menos fallos que cualquier multinacional con miles de millones de presupuesto.
Una vez pasado unos 20 años y ya viendo las empresas en secreto que efectivamente, el software generado con este modelo era increíblemente efectivo, con un desarrollo muy rápido y lo mejor para ellas, gratis, y digo en privado porque, en publico, seguían diciendo que este movimiento del software libre, era algo de "comunistas" se "reían" de él, y hacían campañas abiertas contra el, diciendo que ninguna empresa seria nunca lo usaría también por falta de seguridad.
Y digo, en publico, porque en privado se filtraron documentos de que en un principio querían acabar con este movimiento, dándoles mala fama, pero después vieron que lo mejor era aprovecharse de el, en un movimiento ahora muy famoso llamado movimiento "Adoptar, extender, y extinguir" (en inglés Embrace, Extend and Extinguish o EEE), fueron los ya por desgracia los documentos llamados Halloween, que descubrió el ya citado Eric Raymon y que mostró al público
Los tres pasos de la estrategia EEE serían:
+ Adoptar: Esto se vio cuando Microsoft anunció públicamente que va a dar apoyo a un estándar y asigna empleados para colaborar con las organizaciones de estandarización.
+ Extender: Microsoft implementa el estándar, al menos parcialmente, pero paulatinamente añade extensiones propietarias sólo disponibles en sus productos. Microsoft alega que necesita otorgar beneficios extra a sus clientes, quienes demandan estas nuevas características. Esto lo hizo con el formato de Word, Excel, etc, que anunció hace tiempo que iba a seguir los estándares pero la realidad es que no.
+ Extinguir: A través de varios medios, como implementando su estándar ampliado en sus productos de servidor o herramientas de desarrollo, aumentan el uso de las extensiones propietarias, hasta el punto de que los competidores que no siguen la versión del estándar creada por Microsoft ya no pueden competir. El estándar de Microsoft se convierte entonces en el único relevante en la práctica (un estándar de facto), porque permite a la compañía controlar el mercado gracias al control del estándar.
Así el primer paso, fue crear sus propias licencias de software donde básicamente copiaban el concepto y la idea de las licencias de software libre, pero con una pequeña sutiliza, que era la ultima libertad o la libertad de que el software que se haya licenciado con licencia GPL, mantenga esa licencia, pues las licencias que crearon no mantenían esta ultima libertad, por lo que el software creado con sus nuevas licencias "libres" podían ser cerradas posteriormente, es decir, el trabajo de muchos voluntarios que han participado en el desarrollo de un software inicialmente libre y que lo han hecho de forma gratis, una empresa puede coger ese software y cuando esta suficientemente maduro, cerrarlo, quedárselo esa empresa y ganar dinero con el vendiéndolo. Era el negocio perfecto.
Viéndolo desde fuera parece un engaño donde nadie caería, pero no debemos menospreciar la fuerza de las empresas gastándose millones de dólares o euros en publicidad, ingeniería social y muchos años de presión en universidades y otras empresas, y ademas ponerles a sus licencias nombres rimbombantes como la licencia MIT, una de las mas usadas hoy en día, pero que no tienen absolutamente nada que ver con el Instituto Tecnológico de Massachusetts, pero que mucha gente o la mayoría piensa que si, y por eso a la mayoría de programadores la usan porque les da esa confianza.
Ademas, decidieron que llamarlo Software Libre, o Free Software, no les gustaba a las empresa porque les sonaba a demasiado comunista, esto es real, y preferían llamarlo Open Source, para no espantar a las empresas, por el tema de poder ver el código fuente, y lo mismo después de 10 años de gastar ingentes cantidades de dinero en publicidad e ingeniera social, finalmente lo consiguieron. A día de hoy, en el mundo sobre todo anglosajón hay mucha confusión entre los conceptos de Software Libre y Open Source y la relación entre licencias de un tipo y otro aunque es difícil de analizar esta bastante equilibrado.
Aún así como digo esta confusión es mas en el mundo anglosajón aunque por desgracia, son los principales productores de software del planeta, principalmente los norteamericanos, aunque esperemos que en un futuro esto vaya cambiando, por eso es importante que se siga luchando porque se entiendan los conceptos de software libre y su importancia porque en los países emergentes esta diferencia si esta mucho mas clara.
Hardware libre
El concepto de software libre, programas donde puedes ver como esta programado, estudiarlos y compartirlos, también llego en un momento determinado al hardware, es decir, a las placas de los ordenadores. Por supuesto, primero eran placas muy sencillas, algo que casi uno podía hacer en su casa, vamos no cualquiera ya que tenia que tener unos conocimientos de ingeniería bastante avanzados, pero digamos que si los tenias y con ciertas herramientas podías hacerlo.
Normalmente, era tecnología obsoleta por decirlo así, pero efectiva, y con la que muchos informáticos aun le podían sacar bastante partido, de hecho las personas que amamos la permacomputación nos encanta, ya que para muchas cosas básicas, es mas que suficiente, y ademas, tiene la ventaja que es fácilmente reparable, sin la necesidad de depender de ninguna gran empresa.
Aun así, con el tiempo, tuvo la misma evolución, que el Software libre, lo que empezó como algo de aficionados, algo de niño, algo que pensaban que nunca tendría impacto económico o industrial, finalmente, paso a crear hardware complejo, que rivalizaba perfectamente con el de empresas que se gastaba millones en desarrollo, mucho mas barato, y finalmente era mas efectivo.
Así que al final, las empresas también se fueron interesando por este hardware libre y muchas de ellas se han ido interesando en este hardware para ir aprovechándose del trabajo de voluntarios y ya de la buena reputación que tiene este hardware.
El futuro del software y hardware libre
El futuro del software y hardware libre esta en un momento critico, pero por supuesto depende de la comunidad y de las personas mas que nunca en su vida. Ya esta mas que demostrado que es un odelo que funciona, que crea software de calidad, de manera rapida y segura, que se adapta a las necesidades de los usuarios y de una forma muy barata, pero por supuesto estan las grandes empresas que se aprovechan, por un lado de la inocencia o falta de conocimientos tanto de los programadores como de los usuarios y de la gente en general, para aprovecharse económicamente tanto aprovechándose del trabajo de los desarrolladores como de los usuarios ofreciéndoles productos que realmente no necesitan.
Desde el punto de vista de la permacomputación, el software y hardware libre es la respuesta perfecta, ya que podemos tener un modelo que podemos estudiar, adaptar perfectamente a nuestras necesidades y depende unicamente de nosotros y nuestras necesidades.
Es un derecho y una obligación para todos, seamos permacompputacionistas o no, exigir que se difunda y se respete el software y hardware libre, y se defienda casi como un derecho universal tanto por gobiernos como por instituciones internacionales, por su importancia tanto por la independencia tecnológica que nos da a todos como por su respecto al conocimiento científico y su derecho a compartir este conocimiento.
/Libros/permacomputacion/