Una breve historia del código abierto: cómo el software libre luchó con el propietario

Hoy le diremos cómo las soluciones comerciales casi reemplazaron el código distribuido libremente a su debido tiempo. Y cuál de los desarrolladores comenzó a corregir la situación.


/ foto Peter Hamer CC BY-SA

Entre ciencia y seguridad nacional


El período de la Segunda Guerra Mundial fue una época de avances tecnológicos para los Estados Unidos. La colaboración de institutos de investigación con organizaciones militares ha dado sus frutos en los campos de la radio , la criptografía y los semiconductores .

Después de la guerra, la investigación sentó las bases para inventos como un transistor , y los lazos científicos se convirtieron en contactos comerciales. El desarrollo activo de las computadoras comenzó.

La primera computadora comercial, IBM 701, se llam√≥ extraoficialmente Calculadora de defensa . De 1952 a 1955, solo 19 copias de esta computadora salieron de la l√≠nea de montaje. Era imposible comprarlos, pero era posible alquilar por un mes por mucho dinero, alrededor de $ 12 mil ($ 107 mil seg√ļn los est√°ndares modernos).

La lista de compa√Ī√≠as que han ofrecido ese lujo, como se esperaba, consiste casi en su totalidad de organizaciones cient√≠ficas y estatales . Adem√°s, por ese tipo de dinero, recibieron hardware "desnudo" sin ning√ļn software y sistema operativo.

Para simplificar el trabajo, los ingenieros pasaron programas entre s√≠. Un esp√≠ritu de colaboraci√≥n acad√©mica reinaba en la industria. Los institutos de investigaci√≥n, los clientes militares y las grandes empresas crearon grupos de intercambio de conocimientos, y sus productos laborales estaban en el dominio p√ļblico .

Periodo de intercambio del programa


Los grupos más famosos cuyos miembros compartieron la fuente entre ellos fueron PACT, SHARE y DECUS. El primero, PACT - Proyecto para el avance de las técnicas de codificación - estaba formado por representantes de contratistas militares como Lockheed y Douglas, así como IBM.

Juntos desarrollaron una serie de compiladores del mismo nombre para IBM 701 y 704, que utilizaban métodos de hash. El liderazgo del grupo enfatizó el "valor de la cooperación" en el trabajo en tales proyectos y prometió mantener este espíritu en el futuro.

El sucesor de PACT fue el grupo SHARE que apareci√≥ en 1955 y cre√≥ el sistema operativo SOS (Share Operating System). Esta soluci√≥n primitiva, seg√ļn los est√°ndares modernos, para la entrada y salida de informaci√≥n ha crecido en el desarrollo interno de General Motors. Fue SOS quien sent√≥ las bases para los primeros sistemas operativos de procesamiento por lotes que realizaron varias tareas preparadas por uno o diferentes usuarios. Sistemas similares dominaron el mercado inform√°tico a fines de los a√Īos 50 y principios de los 60.

En 1961, apareció otro grupo llamado DECUS (Digital Equipment Computer Users 'Society). Sus participantes intercambiaron programas de cintas magnéticas entre ellos. DECUS duró bastante tiempo: en 1998 todavía constaba de 50 mil personas.

Gracias a la colaboración científica y al intercambio de software , aparecieron los lenguajes de programación Interlisp y UCI Lisp, y esta cultura impulsó el desarrollo del sistema operativo abierto Unix. Pero a finales de los 60 y principios de los 70 hubo varios eventos importantes que suspendieron el desarrollo del código abierto. Hicieron de los programas un producto que se puede monetizar.

Software pagado y propiedad intelectual


Si no había software incluido con el IBM 701, entonces en los mainframes posteriores se hizo más y más. Todo este software se incluyó en el precio del sistema y se suministró como un conjunto. Desde el punto de vista de los reguladores, este fue un ataque al monopolio. Después de un poco de presión y la amenaza de un litigio, IBM se rindió, y en 1969 comenzó a vender software por separado. Esto condujo a la aparición del mercado de software para máquinas IBM.

Los idiomas de nivel relativamente alto, FORTRAN y COBOL, se generalizaron y las microcomputadoras llegaron a los hogares de los entusiastas. La l√≠nea entre usuarios y programadores comenz√≥ a formarse. Aparecieron sistemas de software complejos, incluidos los orientados para uso personal. Y sus creadores, l√≥gicamente, quer√≠an proteger su trabajo. Esto llev√≥ a una discusi√≥n p√ļblica: ¬Ņes posible patentar productos de software? ¬ŅC√≥mo se les aplican las leyes de propiedad intelectual?

En 1974, se organizó una comisión especial que garantizó los derechos de los programadores en la ley estadounidense. Desde ese momento, los fabricantes de software estuvieron a la par de los inventores. Un poco más tarde, el Tribunal de Apelaciones de los Estados Unidos decidió que los derechos de autor se extienden a los programas de computadora. Los desarrolladores pudieron controlar quién usa los resultados de su trabajo. Y en 1983, el software libre dio paso al software propietario. Entonces IBM dejó de revelar el código fuente de sus programas.

Entonces, toda la era del intercambio de software libre ha terminado. Pero había personas que no iban a soportar esto. Las personas que hacen que el software libre prospere ahora.

Lecciones Multics


El mercado del software en la década de 1960 se parecía a Cherkizovsky: había muchas cosas, pero no encajaban bien. Para casi todos los nuevos modelos de computadora, el sistema operativo se escribió desde cero. Se lanzaron más y más programas con código cerrado, y la falta de estandarización aumentó el costo de su desarrollo.
La ilustración más vívida de la situación en la industria de TI en ese momento se puede hacer usando el sistema operativo Multics como ejemplo.

A su creaci√≥n asistieron MIT, Bell Labs y General Electrics, pero no pudieron converger en una visi√≥n. Las tareas asignadas a los desarrolladores eran ambiciosas, y el personal consist√≠a en programadores j√≥venes e inexpertos. El resultado de un desarrollo de cinco a√Īos fue un sistema que no estaba destinado a encontrar el √©xito en el mercado inform√°tico. Un an√°lisis detallado de los errores de c√°lculo que contribuyeron al fracaso se dedic√≥ posteriormente a un art√≠culo separado.

Poco despu√©s del lanzamiento del sistema Bell Labs, abandonaron el proyecto y lo consideraron una p√©rdida de tiempo. Pero no todos los empleados de la compa√Ī√≠a compartieron esta opini√≥n. Para Ken Thompson y Dennis Ritchie, esta experiencia sirvi√≥ como una lecci√≥n de arquitectura del sistema operativo. Vieron el potencial inherente al dise√Īo modular de Multics, en el que cada tarea la realiza una utilidad separada, y decidieron desarrollar su propio sistema operativo.

En el verano de 1969, naci√≥ UNICS. Thompson escribi√≥ su primera versi√≥n en la minicomputadora dom√©stica PDP-7 durante las vacaciones. Despu√©s de que el proyecto migr√≥ a Bell Labs, donde cambi√≥ su nombre a UNIX y recibi√≥ un peque√Īo equipo de desarrollo.


/ foto de Jason Scott CC BY

UNIX y el mercado académico


Despu√©s de que el sistema de c√≥digo abierto se introdujo al p√ļblico en 1973, inesperadamente para los gerentes de Bell Labs, comenz√≥ a capturar r√°pidamente el mercado acad√©mico.

La razón de esto fue cuatro factores:

Disponibilidad Las leyes antimonopolio regulaban específicamente a Bell Labs, una subsidiaria de los gigantes de telecomunicaciones AT&T y Western Electric.

En 1956, las empresas llegaron a un acuerdo con el gobierno, cuyos términos limitaron su negocio fuera del negocio principal. En particular, la venta de productos no relacionados directamente con las telecomunicaciones debía realizarse a un "precio nominal". Esta condición también se extendió a UNIX. Puede encontrar más información sobre el aspecto legal de la situación y sus consecuencias en el libro " Quarter Century UNIX " de Peter Salus y este trabajo de investigación .

El resultado de la regulación de los Laboratorios Bell fue el hecho de que las instituciones académicas pudieron comprar el sistema operativo a un precio que no excedía el costo de una copia física.

Centrarse en minicomputadoras. Hasta 1975, el concepto de una "computadora personal" como tal no exist√≠a . La atenci√≥n p√ļblica se centr√≥ principalmente en los mainframes. Pero el mercado de minicomputadoras, alternativas de bajo consumo de energ√≠a a los mainframes, ha crecido r√°pidamente. En gran parte debido al presupuesto limitado del proyecto, UNIX se desarroll√≥ originalmente espec√≠ficamente para tales m√°quinas.

La tercera versi√≥n del sistema operativo se agudiz√≥ para DEC PDP-11, m√°s de 170 mil copias de las cuales salieron de la l√≠nea de ensamblaje en los a√Īos 70. A modo de comparaci√≥n, las ventas del popular mainframe IBM 1401 no superaron las 20 mil unidades para todo el modelo. Como resultado, el sistema operativo ha ganado una gran cantidad de usuarios en los segmentos de aficionados y educativos.

Simplicidad Los grandes programas monol√≠ticos son dif√≠ciles de escribir e incluso m√°s dif√≠ciles de modificar. UNIX constaba de peque√Īos m√≥dulos, cada uno de los cuales era responsable de una funci√≥n separada y se cambiaba f√°cilmente. Adem√°s, a partir de la versi√≥n 4, el sistema operativo se escribi√≥ casi por completo en el lenguaje de alto nivel C (y no en el ensamblador de bajo nivel). Como resultado, fue m√°s f√°cil para los estudiantes universitarios descubrir c√≥mo funciona el sistema operativo.

Portabilidad Para ejecutar UNIX en una arquitectura diferente, fue suficiente para portar el compilador de C. Por esta raz√≥n, las versiones de trabajo de UNIX para nuevos procesadores aparecieron r√°pidamente. Esto se volvi√≥ especialmente importante en la era de las microcomputadoras, que comenz√≥ a fines de los a√Īos 70. Los puertos UNIX para m√°quinas dom√©sticas basados ‚Äč‚Äčen Intel 8086 y Motorola 68000 fueron muy populares.

Los usuarios de UNIX de todo el mundo, en su mayor√≠a acad√©micos, intercambiaron activamente software para el sistema. Existen comunidades de entusiastas en Gran Breta√Īa, Australia y Jap√≥n. En 1975, m√°s de cuarenta instituciones educativas estadounidenses utilizaron este sistema operativo.

El nacimiento de BSD.


Una de las primeras instituciones académicas en utilizar UNIX activamente fue la filial de UC Berkeley. El profesor Robert Fabry recibió una copia del sistema personalmente de Ken Thompson en 1973. Los empleados de la organización se enamoraron rápidamente de UNIX y emprendieron sus propios desarrollos para mejorar el sistema operativo.

Las adiciones de la universidad al sistema se distribuyeron bajo el nombre de Berkley Software Distribution (BSD). La primera versi√≥n de BSD inclu√≠a un compilador Pascal refinado, cuyo c√≥digo se obtuvo directamente de Thompson, y el editor de texto Ex, ahora conocido como Vi . Muchas de las innovaciones de BSD se implementaron en las versiones "oficiales" de UNIX. Pero AT&T no estaba contento de que el control sobre el destino del sistema quedara fuera de las manos de la compa√Ī√≠a.

La cooperación de la Universidad de Berkeley con la agencia militar DARPA, que trajo tecnologías de red avanzadas al BSD, exacerbó la situación. Como es típico de un proyecto académico, las licencias comerciales de BSD estaban disponibles a un bajo precio de mercado de mil dólares , y se vendieron en miles. Para AT&T, fue un negocio perdido.

Mientras que los empleados de Berkeley utilizaron el c√≥digo UNIX principalmente con fines cient√≠ficos, otras compa√Ī√≠as vieron la popularidad del sistema como una oportunidad para ganar dinero. En 1978, apareci√≥ el primer compilador comercial C. AT&T decidi√≥ poner fin a esto y a finales de los a√Īos 70 restringi√≥ la distribuci√≥n del c√≥digo fuente del sistema operativo. Los abogados de la compa√Ī√≠a reanudaron la lucha por el derecho a monetizar completamente el producto y protegerlo de modificaciones de terceros.

En 1983, Bell Labs se separó formalmente de AT&T y Western Electric por orden judicial. UNIX se ha convertido en un producto totalmente comercial, y su costo ha aumentado a decenas de miles de dólares, a menudo más caro que el hierro en el que se estaba ejecutando el sistema operativo.


/ foto Sam Williams CC BY-SA / Richard Stallman

Richard Stallman y el nacimiento de GNU


En la década de 1970, Richard Stallman trabajó como programador en el laboratorio de sistemas de inteligencia artificial del MIT. Era conocido como uno de los autores de EMACS, un editor de texto para minicomputadoras de la familia PDP. Como muchos otros softwares de la época, el código fuente de EMACS se distribuyó libremente y el producto final fue la suma de los esfuerzos de los usuarios.

Todos los cambios en la cultura del desarrollo académico ocurrieron frente a Richard frente a sus ojos. La universidad ya no es un lugar para un intercambio abierto de ideas y herramientas de software. Incluso el creador de la versión EMACS para UNIX, que inicialmente permitió la distribución gratuita de su programa, la vendió a un distribuidor comercial en 1983. Stallman consideró que tal acto era un sabotaje.

Sab√≠a que hab√≠a que hacer algo, pero rectificar esta situaci√≥n no era f√°cil. La distribuci√≥n gratuita de programas no ten√≠a una base jur√≠dica s√≥lida. La mayor√≠a de estos productos simplemente se consideraron "dominio p√ļblico", y nada impidi√≥ la comercializaci√≥n de sus versiones modificadas.

Además, el desarrollo de sistemas patentados limitó la distribución del producto, requiriendo que el usuario compre software comercial y, desde el punto de vista de Stallman, inmoral.

Stallman enfrent√≥ dos tareas: crear un sistema operativo gratuito y una base legal para su distribuci√≥n. Por lo tanto, en 1983, naci√≥ el proyecto GNU (GNU's Not Unix), dise√Īado para convertirse en una copia abierta y mejorada de la plataforma ya propietaria en ese momento.

La decisión de utilizar UNIX como base no fue accidental: Richard se sintió atraído por la portabilidad del sistema operativo. Describiremos cómo se desarrolló este proyecto y a qué condujo en uno de los siguientes materiales.



Publicaciones del primer blog corporativo de IaaS:


Materiales frescos de nuestro canal Telegram:

Source: https://habr.com/ru/post/444438/


All Articles