¿Os imagináis qué hubiese pasado si al descubrir la electricidad o el petróleo, alguien se hubiese mantenido al margen de la apropiación privada de medios y producción, y existiera la posibilidad de obtener luz o gasolina sin pasar por las manos de Iberdrola o de Repsol? Pues algo así sucede con el software libre.

Los que hemos venido de Twitter a Mastodon y a la Fediverse no hemos hecho un "cambio de compañía". Hemos entrado en la producción colectiva de conocimiento.

Lo digo porque es importante tener claro que el cambio de red exige un cambio de mentalidad, aunque sea mínimo. Los que llevan tiempo aquí creo que nos agradecerán que lo tengamos en cuenta. Esto es una comunidad. Con reglas, con normas, pero una responsabilidad de todos y cada uno de los que forman parte de ella.

¿Y qué es eso del software libre?

Demasiadas veces se confunde software libre con software gratis. Primer gran error, debido básicamente a 2 motivos:

1. Su nombre en inglés: Free Software, que a veces se traduce (mal) como software gratis.

2. Buena parte del software libre es gratuito para el usuario final, como Mastodon. Pero sigue teniendo costes y en algunos casos, hay que pagar por él.

Normal. Si lo comparamos con la luz o la gasolina, que su obtención y distribución fuesen colectivas no significaría que fuesen gratuitas, ¿verdad? Pues salvando las distancias, viene a ser un poco eso.
Las primeras máquinas de sumar y restar en Europa las encontramos con Pascal en el siglo XVII, que después mejora Leibniz en el XVIII (haciendo que estas calculadoras ya pudiesen multiplicar y dividir), y más tarde Baggage (s. XIX), creando la primera calculadora mecánica que permitía hacer cualquier operación matemática, además de poder almacenar hasta 1.000 números de 50 cifras.
Los avances científicos, especialmente en física, permitieron que a principios del XX se desarrollaran algunos componentes que serían fundamentales para la futura informática. Unos de estos componentes fueron los triodos (Fleming, 1904), capaces de controlar flujos de electrones con otros flujos de electrones, y que serían un avance fundamental para el transistor, que se desarrollará a mediados del siglo XX.

La primera generación de computadoras aparece en la década de los años 40, programadas en "lenguaje máquina" y que eran verdaderos monstruos.

Esta es la maqueta que reproduce un Z1 (1938). Museo Alemán de la Teconología. Berlín.

La primera computadora electrónica se construyó en la Universidad de Pennsylvania en 1947. La ENIAC (Electronic Numerical Integrator And Calculator). Con más de 18.000 tubos de vacío, un consumo de 200 KW y un sistema exclusivo de aire acondicionado, podía realizar cinco mil operaciones aritméticas por segundo. Para hacernos una idea, las computadoras de hoy pueden realizar unos 1.000 billones de operaciones por segundo (medidas en petaflops, que equivalen a 10 elevado a 15).

La ENIAC pertenece a esa primera generación de computadoras.

*(veo que antes he escrito Baggage, y es Babbage, Charles Babbage, disculpad).

A principios de los 50 (1951) se pone en marcha la EDVAC (Electronic Discrete Variable Automatic Computer), que no funcionaba según el sistema decimal sino binario, y fue la primera computadora con un programa diseñado para ser almacenado. Ocupaba más de 45 m cuadrados de superficie y fue un verdadero hito en la historia de la computación.

A partir de 1954, y con el IBM 650, la fabricación comercial y a gran escala de computadoras ya e sun hecho. Su desarrollo y uso, hasta entonces en manos de la industria y los fines militares, pasaban al terreno civil. Y cada vez más, se va distinguiendo en la computadora su cuerpo de su cerebro: el hardware o componente duro, y el software o componente blando. Sin embargo, la preeminencia del hardware sobre el software en términos de dependencia y desarrollo aún era apabullante.

Esa menor importancia del software respecto al hardware (la máquina eran sus componentes, lo otro era lo que había que desarrollar para que cumpliese su función) permitió, entre otras cosas, que su desarrollo fuese cooperativo. Las grandes corporaciones ni siquiera le daban importancia en términos de negocio; creían que no tenía valor por sí mismo, a diferencia del hardware. Incluso se distribuía libremente.

Hasta mediados de los años 60, cuando acontece la llamada "crisis del software".

En 1965, los costes de desarrollo de software se habían incrementado hasta tal punto que muchas compañías, especialmente IBM por ser la puntera en este campo, veían inviable seguir incluyendo estos costes en el precio de las máquinas.

En ese momento, muchos ordenadores (por coste, volumen, mantenimiento...) estaban en régimen de alquiler, incluso para instituciones civiles y militares. El mantenimiento del hardware no presentaba problema: se solía hacer por parte de los técnicos de la empresa arrendadora (como decía, con IBM al frente) y se pagaba lo estipulado. Pero con el software ocurría lo mismo: no se concebía pagar por algo desarrollado colectivamente.

Estalla la crisis del software.

El software se había ido complicando con el tiempo. Ya no era fácil desarrollar nuevos códigos y revisarlos, mantenerlos... se suceden accidentes de diversos tipos, con aviones militares, computadoras de entidades financieras con resultado de pérdidas de millones... ¿y dónde y cuándo se plantea el tema abiertamente? Os vais a reír: sí, en la OTAN.

En 1968 la OTAN organiza la primera de las Conferencias sobre Ingeniería del Software que se llevarán a cabo entre 1968 y 1969, con ese tema sobre la mesa, en Garmisch, la entonces RFA (nada es casualidad). En ese primer evento participa Friedrich L. Bauer, quien plantea la cuestión en términos de "crisis del software" acuñando ese nombre.

De esas conferencias nace la rama de la ingeniería del software dentro de la ciencia informática o de la computación.

La crisis no se resuelve de inmediato. De hecho, se arrastra hasta finales de los años 80. Mientras, en 1969 tiene lugar el primer gran juicio sobre la cuestión: "Los Estados Unidos contra IBM", con sentencia contra la compañía por violar la Ley Sherman al tratar de monopolizar el mercado de desarrollo de software vinculándolo por obligación a sus máquinas.

A partir de entonces, IBM contempla dos líneas de negocio separadas: software y hardware. El software empieza a venderse.

Llegamos a los 70 y, con ellos, aparece la tercera generación de computadoras. En el mercado están IBM, UNIVAC y CDC. La práctica de la venta de software se extendió rápidamente durante esa década y a finales de los 70 casi todo el software era privativo.

Sin embargo, la American Telephone and Telegraph (AT&T) empezó a suministrar software gratuito al Gobierno de los EE. UU. en 1974, en virtud de un acuerdo con el Departamento de Justicia.

Ese software se llamaba UNIX y estaba siendo desarrollado por los laboratorios Bell de la AT&T desde 1969.

Pese a ser gratuito, no se permitía modificar ni distribuir sin comprar la patente a la AT&T, aunque esta, fiel a la tradición del software compartido, no hizo cumplir sus licencias restrictivas hasta 1979, cuando vio que podía sacar provecho comercial a su software.

Recordemos que antes de ese momento el software era desarrollado por la comunidad científica y no se vendía. Se desarrollaba, se mejoraba y se compartía. Pero algo estaba cambiando en la escena comercial desde el juicio a IBM en 1969, y esa sentencia que favorecía en principio el libre desarrollo y su distribución terminó convirtiéndose en un buen argumento para segurar un nuevo negocio.

Además, en 1976 sucedió algo también importante.

En 1975 dos chavales, alentados por las nuevas oportunidades que ofrecía el mundo del software (y con dineros de los papis) fundaron Microsoft. Eran Paul Allen y Bill Gates, que tomando el lenguaje BASIC, de dominio público, y adaptándolo a una computadora Altair 8800 de la empresa MITS habían creado un intérprete de lenguaje Basic para esa computadora. Y lo empezaron a vender.

El Altair Basic (y sus versiones) en sí no era una novedad, dado que era una especie de adaptación de BASIC, de dominio público, a una máquina en concreto. Un ordenador, Altair, que sio la casualidad de que fue muy popular y rápidamente se extendió.

Los usuarios empezaron a compartir el software, y en 1976, Bill Gates hizo pública la conocida "Open Letter to Hobbyists", "Carta abierta a los aficionados", que trataba a los usuarios que compartían el Altair BASIC de ladrones y parásitos.

Tal fue el efecto (o la excusa) de la sentida y rotunda carta de ese 'joven emprendedor que había empezado desde 0 en su garaje', que las compañías como AT&T no tardaron en perseguir a los que compartían sus programarios. Así, en 1979 el sistema UNIX de la AT&T también empezó a venderse y al llegar a los 80, casi no quedaba rastro de software en uso que no fuera privativo.

La expansión de las computadoras en los 80 fue a lo bestia y el volumen de negocio asociado al desarrollo de software, ingente. Cualquier usuario que tuviese un problema con el programario ya no podía recurrir a sus conocimientos o la comunidad: debía comunicar la incidencia a la compañía propietaria y que ella lo solucionara.

Esto, por supuesto, abría las puertas a todo tipo de lujurias: cuando no tienes acceso al código y todo lo que haces depende de él...

El software privativo (o firmware) no se puede tocar sin consentimiento del propietario. Tampoco se permite el acceso al código (o a partes de él) con el que está escrito.

Allá por los primeros 80 un desarrollador de la vieja escuela, Richard Stallman (no entraré ahora a hablar de Satllman), se vio obligado a ajustar el firmware de las impresoras del laboratorio donde trabajaba, ya que funcionaban mal. Se ofreció a hacerlo gratis y la compañía le quiso hacer firmar un acuerdo de no divulgación.

Ante el dilema de arreglar ese fallo, adaptar el firmware, regalarlo a la empresa y encima no poder divulgarlo, Stallman anunció que crearía un sistema operativo para las nuevas computadoras que sería completamente libre. Era el año 1983 y en 1985 ya se publicaba el manifiesto GNU, donde se exponían los principios de la iniciativa de Stallman y otros desarrolladores.
También en 1985 se fundó la Free Software Foundation (FSF) y en 1989 se creaba la licencia pública general de GNU, una licencia que otorga derechos de autor al usuario final permitiéndole usar, estudiar, compartir, modificar... el software protegiéndolo como un producto libre, resultado del empeño colectivo en su mejora. El copyleft.
A partir de ese proyecto, Linus Torvalds pronto desarrollaría un núcleo para el nuevo sistema operativo, al que llamaría Linux, y de ahí hasta hoy el software libre, abanderado por el GNU/Linux, no ha hecho más que prosperar, mejorar y evolucionar con el esfuerzo de millones de personas de todo el mundo, pese a las constantes trabas e intentos de las compañías como Microsoft o Apple por hacerlo desaparecer.
La comunidad de desarrolladores de software libre es la más grande, la más capacitada y la más potente del mundo sin duda alguna, en términos globales. Incluso programadores y desarrolladores que venden su fuerza de trabajo a compañías como Microsoft, IBM, Google, Apple... dedican voluntariamente parte de su tiempo libre, conocimientos, trabajo y recursos a este proyecto común. Un ejemplo es Mastodon y la Fediverse.

Mastodon, que recuerdo que tiene al menos un coste objetivo, que es el precio del servidor. Y que habría que apoyar ahí en lo que cada uno pueda.

Twitter, Facebook, Instagram... por supuesto "no cuestan nada", pero su código es privativo. Suyos son los servidores, suya es 'tu' información, suyos son 'tus' datos. Suya es 'tu' vida digital. Y la venden al mejor postor. No hace falta recuerdar la relación del fascista de Steve Bannon con Facebook (+Instagram+Whatsapp), ¿verdad?

Por último, el software libre tiene código abierto, pero Open Source (código abierto) no es lo mismo que software libre. La diferencia es básica. Google, sin ir más lejos, tiene proyectos de código abierto, puede ser "gratis" (sin coste económico) pero no es libre, aunque se empeñe en hablar de "comunidad". El software libre implica mucho más. Pensemos en la relación capital-trabajo para verlo más claro: aquí solo hay trabajo.

Y fin. Si has llegado hasta aquí, mil gracias por aguantar la brasa.

Añado correcciones con las aportaciones de @PepilloGrito y @carquinyolista (gracias)

Firmware no equivale a software privativo.

@ilich @PepilloGrito @carquinyolista Genial hilo. Gracias!!!