¿Cuál es la historia del código abierto hasta ahora?

Christoffer lo tiene en su mayoría correcto. El problema es el contexto. El grupo de usuarios de IBM SHARE era básicamente bueno para compartir el sistema operativo y otras herramientas en un momento en que el almacenamiento era costoso y solo se distribuían ejecutables binarios. Al mismo tiempo, varios grupos científicos compartían y trabajaban en el código fuente de la aplicación para bibliotecas y otros programas de aplicación: hacer copias de tarjetas perforadas.

El verdadero problema era este: todo este software, aplicación o código de sistema, tenía y tiene errores. El programa de errores más famoso fue el sistema operativo IBM OS / 360. Este primer boondoggle de software inspiró el libro clásico de Fred Brooks, The Mythical Man Month , y la carrera de ingeniería de software de un tipo en TRW llamado Barry Boehm. La gente comenzó a darse cuenta del problema de la complejidad durante esta y la era de Multics (otro sistema operativo). Los piratas informáticos de Unix retoman la historia desde aquí.

El problema en ese momento era que AT&T no estaba en el negocio de las computadoras, y mucho menos en el negocio del software. Distribuyeron una porción barata ($ 150) de código fuente de SO bastante comprensible que despegó en las universidades porque estaba escrito en un lenguaje de nivel superior, en contraste con muchos sistemas anteriores. Todo esto está documentado en una referencia conocida como BSTJ ’78. Esta fuente se distribuyó “tal cual” principalmente a las universidades (recuerdo que el tipo de la NSA señaló que tenía la mayor cantidad de licencias de Unix (14) en su agencia al precio total de $ 20K por pop; eso le dice un poco cómo gastan mucho dinero: no es necesario saber el nombre de este tipo).

Así que aquí está este sistema operativo con errores (como cualquier otro), pero es una herramienta de enseñanza barata y “suficientemente buena”. Otros dos desarrollos ocurrían al mismo tiempo:

  • El auge de las redes: el ARPANET (yo era un fanático del host # 3) y poco después UUCP y Usenet (el “ARPANET del pobre”). Todas las demás compañías afirmaron tener “redes”, pero muchos sitios sintieron que tenían que mantener un estado sin fines de lucro (esto desconcertó a muchos).
  • El fracaso de una línea popular de computadoras para mantener el costo-rendimiento (DEC) en muchos hosts ARPA con su primer protocolo, y DARPA / DCA eligió TCP / IP. Richard Stallman (en el MIT) estaba molesto por esta y otras decisiones que consideraba estúpidas.

Varios factores contribuyeron a esta historia: el hombre principal de Unix (Ken) regresó a Berkeley por un año; Berkeley hizo una puerta de enlace para intercambiar correos electrónicos entre los hosts ARPAnet y el UUCP / Usenet infantil, y comenzaron una lista de correo para anunciar las correcciones de errores de Unix y herramientas útiles llamadas asistentes de Unix . ¡Nacieron múltiples comunidades cooperativas en un momento en que la mayoría de los sistemas operativos de los proveedores estaban ocultos a la vista del usuario final! Esto fue emocionante y seminal.

Estas redes eran geográficamente anteriores y estaban mejor conectadas que las BBS. Fue genial. Si supiera cómo, podría enviar un correo electrónico a la mayoría de las personas involucradas. Lamentablemente para mí, Mike Muuss y Jim Ellis (quien hizo Usenet) han fallecido. Eran buenos chicos. El mundo es un poco menor sin estos tipos.

La parte del código fuente de Usenet unix-wizards se duplicó como net.sources , y luego en Great Renaming como comp.source. * (elija su sistema operativo) jerarquía. Y fue gratis y abierto. Y todo es visible en Grupos de Google (el anterior Deja News; y existen otras copias replicadas en numerosos sitios web que el mundo mainframe no ve).

Entonces Richard (RMS para quienes le enviaron un correo electrónico) creó la Free Software Foundation, también inventando el marco legal que conocemos como GPL (gran parte de este trabajo ocurrió en colaboración en Usenet). Y hubo esfuerzos paralelos menos conocidos pero ambiciosos como la OSF (Open Source Foundation). Linux (y otros intentos como Mach (entró en macOS (sistema operativo)), MINIX y munix lo intentaron) intervino. Don Becker agregó TCP / IP a Linux (esto fue fundamental para la aceptación de Linux). El resto se convirtió en historia.

Todo esto está muy simplificado y carece de muchas de las flechas en la espalda de las personas. Se sugirieron algunos cambios con enlaces agregados, y tengo razones específicas para volver a cambiarlos.

No lo creerá, pero todo comenzó con una impresora láser : la Xerox 9700 .

El nacimiento de una filosofía

En 1980, a Richard Matthew Stallman (conocido popularmente como rms en la comunidad de hackers) que era programador en el Laboratorio de Inteligencia Artificial del MIT se le negó el acceso al código fuente del software de una impresora láser recién instalada, la Xerox 9700. ( Una fuente El código para un software es esencialmente un texto escrito por programadores para escribir un programa que luego se traduce en un conjunto de instrucciones que solo las máquinas pueden comprender; ingeniería inversa, que generalmente es una tarea hercúlea.

Esta impresora era enorme y tenía su propio piso en comparación con el resto de los usuarios. RMS había modificado con éxito el software de la impresora anterior para que pudiera enviar un mensaje a un usuario cuando se imprimió el trabajo de la persona, y enviaría un mensaje a todos los usuarios que esperaban si la impresora estaba atascada. No poder agregar estas características a la nueva impresora fue un gran inconveniente.

Esta experiencia convenció a Stallman de la necesidad de las personas de poder modificar libremente el software que usan. Sintió que los derechos de propiedad intelectual que las empresas estaban aplicando al software estaban perjudicando a la sociedad y ralentizando la innovación. Había una gran necesidad de un conjunto de software que estuviera “ libre ” de todos los enredos de propiedad intelectual.

El proyecto GNU

En septiembre de 1983, RMS anunció que comenzaría a trabajar en un sistema operativo compatible con el popular pero patentado sistema operativo Unix. Para que los usuarios de Unix puedan hacer el cambio fácilmente.

Se llamaba el sistema operativo GNU. GNU es un acrónimo recursivo. Simplemente significa: G NU es N ot U nix. Lo que significa que es como Unix pero no es Unix. A diferencia de Unix, se suponía que debía venir con total libertad.

Fundación para el software libre

Para 1985, RMS comenzó a FSF a emplear programadores y proporcionar una infraestructura legal para el movimiento de software libre.

Hubo un énfasis constante en la correcta comprensión del término “ libre

Gratis como en libertad de expresión y no cerveza gratis.

GNU General Public License y Copyleft

RMS redactó la primera versión de una licencia que podría usarse con software libre en 1989. Desde entonces, ha habido pocos altercados, pero es el término copyleft que introdujo todavía es cierto.

Copyleft, que es una obra de teatro con la palabra copyright, significa esencialmente: que si le doy un software con total libertad para modificar, compartir y redistribuir, no privará a ningún destinatario de su software con el mismo privilegio.

GNU Hurd: el núcleo que siempre estuvo

Aquí está esto sobre los sistemas operativos. Nadie usa un sistema operativo. Lo que usamos son aplicaciones. Estas aplicaciones necesitan recursos como memoria, disco, procesamiento, etc. Existe una entidad conocida como el núcleo que se encuentra en el núcleo del sistema y asigna estos recursos a las aplicaciones.

El núcleo es esencialmente el verdadero sistema operativo. Sin embargo, para que todo el paquete sea utilizable. Necesita algunas aplicaciones esenciales que deberían incluirse junto con el paquete, como un compilador que los programadores pueden usar para traducir su código a 1s y 0s que la máquina entiende. Necesita un editor de texto básico para escribir y guardar texto. También se necesitan algunos comandos básicos para realizar tareas diarias.

Cuando el equipo FSF se embarcó en una misión para crear un sistema similar a Unix, comenzaron a reemplazar todas sus utilidades, comandos y aplicaciones básicas con sus contrapartes gratuitas . Les llevó casi una década hacer eso. La mayoría de las aplicaciones se realizaron a fines de la década de 1980.

Sin embargo, el desarrollo de GNU Hurd, el núcleo con un diseño muy ambicioso: la arquitectura de microkernel comenzó tarde y estaba llena de errores. El diseño fue radical. Querían que el núcleo fuera un conjunto de microentidades responsables de diferentes recursos que se enviarían mensajes asincrónicos entre sí y realizarían el trabajo. Por diseño, era una idea superior a otra arquitectura popular conocida como la arquitectura del núcleo monolítico, que trata el núcleo como una gran entidad central responsable de todas las asignaciones de recursos y otras tareas del sistema operativo.

Hurd estaba con errores. la mensajería asincrónica se estaba volviendo muy difícil hacer que el núcleo funcionara según las expectativas.

Linus Torvalds al rescate

Mientras FSF y el equipo de GNU estaban trabajando duro tratando de hacer funcionar su núcleo, en algún lugar de Finlandia, un estudiante de la Universidad de Helsinki, Linus Torvalds estaba jugando con la idea de crear un pequeño sistema operativo portátil para su tesis. Se inspiró en cómo funcionaba Unix. Compró una copia del libro Sistemas operativos: diseño e implementación, del profesor Andrew Tanenbaum. Había una descripción de MINIX en él. Era una versión educativa simplificada de Unix.

Linus quería llamar a su versión freax (Fre e y Uni x) pero su amigo, que alojaba el servidor FTP para descargarlo, nombró el directorio después de él como Linux .

Una vez asistió a una conferencia donde Richard Stallman estaba dando una charla. Estaba tan inspirado por su discurso que lanzó Linux Kernel bajo la licencia GNU GPL.

El kernel de Linux y el proyecto GNU

Incluso en su infancia, Linux Kernel era mucho más estable que muchos otros sistemas operativos en producción. Aunque no era lo que RMS imaginó, aceptó que era mejor que lo que estaba tratando de hacer con Hurd.

Personas de todo el mundo comenzaron a unirse para el desarrollo de estas aplicaciones. Muchos de ellos comenzaron a agrupar estas aplicaciones junto con el Kernel de Linux.

Fue un partido hecho en el cielo.

La comercialización del software libre

Con el modelo de software libre, surgió la oportunidad de que varias compañías brinden soporte para software libre. Ningún cliente o empresa fue bloqueado con una compañía que les proporcionó soporte. Tenían elección. Podrían elegir a quién comprar el producto. A quién ir para los servicios. A quién pedir apoyo.
Podrían elegir el mejor entre muchas opciones disponibles.

Pronto, compañías como Redhat y los sistemas VA Linux tuvieron éxito en sus OPI. Estas compañías regalaron algunas de sus acciones a Linus Torvalds, lo que también lo convirtió en millonario y lo puso en la portada de Forbes.

La observación que cambió la industria del software.

Eric S. Raymond, uno de los primeros contribuyentes al proyecto GNU, estaba asombrado por lo que estaba sucediendo con la comunidad. Miles y miles de contribuyentes de todo el mundo colaboraron a través de Internet para crear una pieza de software.

Esto fue un caos absoluto. Esto fue como el bazar. Se suponía que esto debía fallar. Las prácticas tradicionales de desarrollo de software exigían equipos pequeños. gestionado por una fuerte jerarquía. Sin embargo, el apasionado grupo de programadores entusiastas de todo el mundo estaba produciendo software de calidad a un ritmo rápido.

La detección y resolución de errores fue tan rápida que fue casi increíble. Anotó su observación del sistema en un artículo titulado – La Catedral y el Bazar.

Código abierto: una nueva terminología

A medida que aumentaba la comercialización del software libre. Hubo áreas en las que convencer a las empresas y los clientes de que el software gratuito ” podría valer la pena y no es algo que sea una alternativa barata al software emprendedor que recomendaban los peces gordos.

Se estaba volviendo difícil para las empresas que trataban con software libre explicar que todo el aspecto del término “ libre ” se refería a la libertad que obtendrían.

Entonces, como un buen punto de venta, Open Source resultó ser un mejor término para tales empresas. El código abierto sonaba bien y significaba que algo estaba abierto. Cuando compra, sabe cuál es la fuente detrás de su funcionamiento y los derechos que lo acompañan.

Una comunidad: la Iniciativa de Código Abierto fue fundada por Bruce Perens, quien sirvió hasta 1999. Establecieron una agenda de 9 puntos bajo el título Definición de Código Abierto.

Para adoptar el software de código abierto en la industria, se agregaron licencias más permisivas a la lista. Muchas de estas licencias permitieron a las personas aprovechar los beneficios que venían con el software gratuito, pero no obligaron al software modificado a estar limitado por la misma licencia. Algunos ejemplos son: licencias Apache, MIT y BSD.

Estas licencias tiran el copyleft, algo que todavía enoja a Stallman.

Adopción rápida con el auge de Internet

A medida que las empresas de Internet comenzaron a crecer, las empresas de alojamiento web comenzaron a utilizar software de código libre / abierto. Linux junto con el servidor web Apache, que permitía a los ISP alojar múltiples sitios web en la misma máquina: una característica que era muy nueva y era una de las pocas que una comunidad dedicada estaba desarrollando rápidamente a un ritmo incomparable.

La adopción de Linux comenzó a ganar terreno.

Mozilla por amor a una web abierta

A finales de los 90, cuando Microsoft, que dominaba el negocio de las PC, comenzó a agrupar Internet Explorer junto con su sistema operativo de forma gratuita. Casi mata el negocio de su competidor: Netscape.

La compañía comenzó a perder cuota de mercado con IE ya que la gente prefería algo que venía preinstalado y que era gratuito.

Uno de los ingenieros principales asistió a una sesión de Eric S Raymond en la Catedral y el Bazar y luego convenció a la alta gerencia de que lo echara un vistazo.

Pronto el código fuente de Netscape fue de código abierto y se inició un nuevo proyecto: Mozilla.

Con algunos buenos acuerdos con compañías como Google, Mozilla ganó un dinero decente para prosperar y también se aseguró de que la web siga siendo un espacio competitivo abierto y que Microsoft no pueda dominarlo con un monopolio.

¿Hasta dónde hemos llegado desde la n?

Más allá. Hay toneladas de proyectos de código abierto que surgen todos los días. Hay una rápida innovación en este espacio. Hay CMS, motores de blog, kits de herramientas de PNL, motores de inteligencia artificial de grandes entidades comerciales como Oracle, Google, Facebook e incluso … ejem ejem … Microsoft.

Rise of Github y otras plataformas de control de código fuente que le permiten alojar software de código abierto sin costo, ha fomentado la creación de muchos proyectos de código abierto.

Aunque Microsoft ganó el negocio de las PC pero los espacios relevantes en estos días: el software de código abierto ha conquistado el móvil y la nube.

Open Source ahora no solo se usa junto con el software, sino que también ha habido proyectos de hardware de código abierto.

Una nota personal

El software libre y de código abierto es una confluencia fascinante de filosofía, filantropía, antropología, comercio innovador y derecho. Tiene algo de lo que todos pueden aprender.

Si la filosofía de Richard Stallman es práctica o no. Si el uso de software de código abierto por las grandes compañías para sus estrategias comerciales es moralmente bueno o malo. Ya sea que contribuyas al código abierto o no.

Estas cosas no importan. Lo que importa es que compartir el conocimiento humano es algo bueno para que la humanidad prospere y es nuestro deber ayudar de alguna manera a estas personas a seguir haciendo tan buen trabajo con total dedicación.

Si tienes la oportunidad de donar poco dinero. Tienes la oportunidad de reportar un pequeño error que encontraste. Tienes la oportunidad de contribuir a FOSS o tienes la oportunidad de educar a alguien sobre esto. ¡Ve a por ello!

¡Difundir la palabra!

Gracias.