En las décadas de 1950 y 1960, el software operativo y los compiladores se entregaban como parte de las compras de hardware sin tarifas adicionales. En ese momento, el código fuente, la forma de software legible por humanos, generalmente se distribuía y el software brindaba la capacidad de corregir errores o agregar nuevas funciones. [1] Las universidades fueron las primeras en adoptar la tecnología informática. Muchas de las modificaciones desarrolladas por las universidades fueron compartidas abiertamente, de acuerdo con los principios académicos de compartir conocimientos, y surgieron organizaciones para facilitar el intercambio. A medida que los sistemas operativos a gran escala maduraron, menos organizaciones permitieron modificaciones en el software operativo y, finalmente, dichos sistemas operativos quedaron cerrados a la modificación. Sin embargo, las utilidades y otras aplicaciones con funciones añadidas todavía se comparten y se han formado nuevas organizaciones para promover el intercambio de software.
El concepto de libre intercambio de información tecnológica existía mucho antes que las computadoras. Por ejemplo, en los primeros años del desarrollo del automóvil, una empresa poseía los derechos de una patente de motor de gasolina de dos tiempos presentada originalmente por George B. Selden . [2] Al controlar esta patente, pudieron monopolizar la industria y obligar a los fabricantes de automóviles a cumplir con sus demandas, o arriesgarse a una demanda. En 1911, el fabricante de automóviles independiente Henry Ford ganó una impugnación de la patente de Selden. El resultado fue que la patente de Selden quedó prácticamente sin valor y se formó una nueva asociación (que eventualmente se convertiría en la Asociación de Fabricantes de Vehículos de Motor ). [2] La nueva asociación instituyó un acuerdo de licencia cruzada entre todos los fabricantes de automóviles estadounidenses: aunque cada empresa desarrollaría tecnología y presentaría patentes, estas patentes se compartían abiertamente y sin intercambio de dinero entre todos los fabricantes. [2] Cuando Estados Unidos entró en la Segunda Guerra Mundial, 92 patentes de Ford y 515 patentes de otras empresas estaban siendo compartidas entre estos fabricantes, sin ningún intercambio de dinero (o demandas). [2] [ ¿ síntesis inadecuada? ]
En las décadas de 1950 y 1960, casi todo el software era producido por académicos e investigadores corporativos que trabajaban en colaboración, [3] a menudo compartido como software de dominio público . Como tal, generalmente se distribuía según los principios de apertura y cooperación establecidos desde hacía mucho tiempo en los ámbitos académicos , y no se consideraba una mercancía en sí misma. Este comportamiento comunitario se convirtió más tarde en un elemento central de la llamada cultura del hacking (un término con una connotación positiva entre los programadores de código abierto). En ese momento, el código fuente , la forma de software legible por humanos, generalmente se distribuía con el código de máquina del software porque los usuarios frecuentemente modificaban el software ellos mismos, porque no se ejecutaba en hardware o sistema operativo diferente sin modificaciones, y también para corregir errores o agregar nuevas funciones. [4] [5] [ verificación fallida ] Se cree que el primer ejemplo de software gratuito y de código abierto es el sistema A-2 , desarrollado en la división UNIVAC de Remington Rand en 1953, [6] que se lanzó a clientes con su código fuente. Se les invitó a enviar sus mejoras a UNIVAC. [7] Posteriormente, casi todo el software de mainframe de IBM también se distribuyó con el código fuente incluido. Grupos de usuarios como el del IBM 701 , llamado SHARE , y el de Digital Equipment Corporation (DEC), llamado DECUS , se formaron para facilitar el intercambio de software. El sistema operativo SHARE , desarrollado originalmente por General Motors , fue distribuido por SHARE para las computadoras IBM 709 y 7090 . Algunos laboratorios de computación de universidades incluso tenían una política que exigía que todos los programas instalados en la computadora tuvieran que venir con archivos de código fuente publicados. [8]
En 1969 se construyó la Red de Agencias de Proyectos de Investigación Avanzada (ARPANET), una red informática transcontinental de alta velocidad. La red (más tarde reemplazada por Internet) simplificó el intercambio de códigos de software. [4]
Parte del software libre que se desarrolló en la década de 1970 continúa desarrollándose y utilizándose, como TeX (desarrollado por Donald Knuth ) [9] y SPICE . [10]
A finales de la década de 1960 se avecinaban cambios: a medida que evolucionaban los sistemas operativos y los compiladores de lenguajes de programación , los costos de producción de software aumentaban dramáticamente en relación con el hardware. Una industria de software en crecimiento competía con los productos de software empaquetados de los fabricantes de hardware (el costo de los productos empaquetados estaba incluido en el costo del hardware), las máquinas arrendadas requerían soporte de software y no generaban ingresos por el software, y algunos clientes podían satisfacer mejor sus necesidades. necesidades, [11] no quería que los costos del software del fabricante se incluyeran con los costos del producto de hardware. En la demanda antimonopolio entre Estados Unidos y IBM , presentada el 17 de enero de 1969, el gobierno estadounidense acusó que el software empaquetado era anticompetitivo. [12] Si bien parte del software siguió disponible sin costo alguno, había una cantidad creciente de software que estaba a la venta solo bajo licencias restrictivas.
A principios de la década de 1970, AT&T distribuyó las primeras versiones de Unix sin costo alguno para el gobierno y los investigadores académicos, pero estas versiones no venían con permiso para redistribuir o distribuir versiones modificadas y, por lo tanto, no eran software libre en el sentido moderno de la frase. Después de que Unix se generalizara a principios de la década de 1980, AT&T detuvo la distribución gratuita y cobró por los parches del sistema. Como es bastante difícil cambiar a otra arquitectura, la mayoría de los investigadores pagaron por una licencia comercial.
El software no se consideraba protegido por derechos de autor antes de que la Comisión Estadounidense sobre Nuevos Usos Tecnológicos de Obras Protegidas por Derechos de Autor (CONTU) de 1974 decidiera que "los programas de computadora, en la medida en que incorporan la creación original de un autor, son materia propia de derechos de autor". [13] [14] Por lo tanto, el software no tenía licencias adjuntas y se compartía como software de dominio público , generalmente con código fuente. La decisión de CONTU, más decisiones judiciales posteriores, como Apple contra Franklin en 1983 para el código objeto , otorgaron a los programas de computadora el estatus de derechos de autor de obras literarias y comenzaron la concesión de licencias de software y el modelo de negocio de software de código cerrado retráctil . [15]
A finales de la década de 1970 y principios de la de 1980, los proveedores de computadoras y las empresas que sólo fabricaban software comenzaron a cobrar rutinariamente por las licencias de software , a comercializar el software como "Productos de programa" y a imponer restricciones legales a los nuevos desarrollos de software, ahora vistos como activos, a través de derechos de autor , marcas registradas y arrendamientos. contratos. En 1976, Bill Gates escribió un ensayo titulado " Carta abierta a los aficionados ", en el que expresaba su consternación por el uso generalizado del producto Altair BASIC de Microsoft por parte de aficionados sin pagar su licencia. En 1979, AT&T comenzó a hacer cumplir sus licencias cuando la empresa decidió que podría beneficiarse vendiendo el sistema Unix. [16] En una carta de anuncio fechada el 8 de febrero de 1983, IBM inauguró una política de no distribuir más fuentes con el software comprado. [17] [18]
Para aumentar los ingresos, comenzó una tendencia general a dejar de distribuir código fuente (fácilmente legible para los programadores) y distribuir solo el código de máquina ejecutable que se compiló a partir del código fuente. Una persona especialmente angustiada por esta nueva práctica fue Richard Stallman . Le preocupaba no poder seguir estudiando o modificando programas inicialmente escritos por otros. Stallman consideró esta práctica como éticamente incorrecta. En respuesta, fundó el Proyecto GNU en 1983 para que la gente pudiera utilizar ordenadores utilizando únicamente software libre . [1] Estableció una organización sin fines de lucro, la Free Software Foundation , en 1985, para organizar más formalmente el proyecto. Inventó el copyleft , un mecanismo legal para preservar el estatus "libre" de una obra sujeta a derechos de autor, y lo implementó en la Licencia Pública General GNU . Las licencias Copyleft permiten a los autores otorgar una serie de derechos a los usuarios (incluidos los derechos para usar una obra sin cargos adicionales y los derechos para obtener, estudiar y modificar el código fuente correspondiente completo del programa), pero requieren que los derivados permanezcan bajo la misma licencia o una sin ella. cualquier restricción adicional. Dado que los derivados incluyen combinaciones con otros programas originales, a los autores posteriores se les impide convertir el trabajo inicial en software propietario y se les invita a contribuir a los bienes comunes copyleft. [4] Posteriormente, otros desarrollaron variaciones de tales licencias.
Sin embargo, todavía había quienes deseaban compartir su código fuente con otros programadores y/o usuarios de forma gratuita, llamados entonces "aficionados" y " hackers ". [19] Antes de la introducción y el uso público generalizado de Internet, había varias formas alternativas disponibles para hacer esto, incluidos listados en revistas de informática (como Dr. Dobb's Journal , Creative Computing , SoftSide , Compute!, Byte , etc.) y en libros de programación de computadoras, como el bestseller BASIC Computer Games . [20] Aunque todavía está protegido por derechos de autor, el código fuente anotado para componentes clave del software del sistema de la familia Atari de 8 bits se publicó en libros de mercado masivo, incluido The Atari BASIC Source Book [21] (fuente completa de Atari BASIC ) y Inside Atari DOS (completa fuente para Atari DOS ). [22]
El grupo de usuarios SHARE, fundado en 1955, comenzó a recopilar y distribuir software gratuito. La primera distribución documentada de SHARE data del 17 de octubre de 1955. [23] La "Agencia Bibliotecaria del Programa SHARE" (SPLA) distribuyó información y software, especialmente en cinta magnética.
A principios de los años 1980, las llamadas cintas DECUS [24] eran un sistema mundial para la transmisión de software libre para usuarios de equipos DEC. Los sistemas operativos solían ser software propietario , pero muchas herramientas como el editor TECO , el formateador de texto Runoff o la utilidad de listado de archivos List , etc. se desarrollaron para facilitar la vida de los usuarios y se distribuyeron en las cintas DECUS. Estos paquetes de utilidades beneficiaron a DEC, que a veces los incorporaba en nuevas versiones de su sistema operativo propietario. Incluso se podrían distribuir compiladores y, por ejemplo, Ratfor (y Ratfiv ) ayudaron a los investigadores a pasar de la codificación Fortran a la programación estructurada (suprimiendo la declaración GO TO). La cinta Decus de 1981 fue probablemente la más innovadora al incorporar el sistema operativo virtual de herramientas de software del laboratorio Lawrence Berkeley que permitía a los usuarios utilizar un sistema similar a Unix en PDP-11 de DEC de 16 bits y VAX de 32 bits que se ejecutaban bajo el sistema operativo VMS . . Era similar al actual sistema cygwin para Windows. A menudo se distribuían binarios y bibliotecas, pero los usuarios normalmente preferían compilar a partir del código fuente. [ cita necesaria ]
En la década de 1980, paralelamente al movimiento del software libre, se compartía software con código fuente en las redes BBS . A veces esto era una necesidad; El software escrito en BASIC y otros lenguajes interpretados sólo podía distribuirse como código fuente, y gran parte de él era software gratuito. Cuando los usuarios comenzaron a recopilar dicho código fuente y a crear foros específicamente para discutir su modificación, este era de facto un sistema de código abierto.
Uno de los ejemplos más obvios de esto es uno de los sistemas y redes BBS más utilizados, WWIV , desarrollado inicialmente en BASIC por Wayne Bell . Una cultura de "modificar" su software y distribuir las modificaciones creció tan ampliamente que cuando el software fue portado primero a Pascal y luego a C++ , su código fuente continuó distribuyéndose a los usuarios registrados, quienes compartían modificaciones y compilaban las suyas propias. versiones del software. Esto puede haber contribuido a que sea un sistema y una red dominantes, a pesar de estar fuera del paraguas de Fidonet que compartían tantos otros fabricantes de BBS.
Mientras tanto, la llegada de Usenet y UUCPNet a principios de la década de 1980 conectó aún más a la comunidad de programación y proporcionó una forma más sencilla para que los programadores compartieran su software y contribuyeran al software que otros habían escrito. [25]
En 1983, Richard Stallman lanzó el Proyecto GNU para escribir un sistema operativo completo libre de restricciones en el uso de su código fuente. Los incidentes particulares que motivaron esto incluyen un caso en el que una impresora molesta no pudo repararse porque el código fuente no se reveló a los usuarios. [26] Stallman también publicó el Manifiesto GNU en 1985 para delinear el propósito del Proyecto GNU y explicar la importancia del software libre. Otra probable inspiración para el proyecto GNU y su manifiesto fue un desacuerdo entre Stallman y Symbolics , Inc. sobre el acceso del MIT a las actualizaciones que Symbolics había realizado en su máquina Lisp, que estaba basada en el código del MIT. [27] Poco después del lanzamiento, [19] utilizó [ se necesita aclaración ] el término existente " software libre " y fundó la Free Software Foundation para promover el concepto. La Definición de Software Libre se publicó en febrero de 1986.
En 1989 se publicó la primera versión de la Licencia Pública General GNU . [28] En 1991 se publicó una versión 2 ligeramente actualizada. En 1989, algunos desarrolladores de GNU formaron la empresa Cygnus Solutions . [29] El núcleo del proyecto GNU, más tarde llamado " GNU Hurd ", se retrasó continuamente, pero la mayoría de los demás componentes se completaron en 1991. Algunos de ellos, especialmente la Colección de compiladores GNU , se habían convertido en líderes del mercado [ se necesita aclaración ] por derecho propio. . GNU Debugger y GNU Emacs también fueron éxitos notables.
El kernel de Linux , iniciado por Linus Torvalds , fue lanzado como código fuente libremente modificable en 1991. La licencia no era una licencia de software libre , pero con la versión 0.12 en febrero de 1992, Torvalds volvió a otorgar la licencia del proyecto bajo la Licencia Pública General GNU . [30] Al igual que Unix, el kernel de Torvalds atrajo la atención de programadores voluntarios.
Hasta ese momento, la falta de un núcleo del proyecto GNU significaba que no existían sistemas operativos completos de software libre. El desarrollo del núcleo de Torvalds cerró esa última brecha. La combinación del sistema operativo GNU casi terminado y el kernel de Linux creó el primer sistema operativo de software libre completo.
Entre las distribuciones de Linux , Debian GNU/Linux , iniciada por Ian Murdock en 1993, destaca por estar explícitamente comprometida con los principios GNU y FSF del software libre. Los principios de los desarrolladores de Debian están expresados en el Contrato Social de Debian . Desde sus inicios, el proyecto Debian ha estado estrechamente vinculado con la FSF y, de hecho, fue patrocinado por la FSF durante un año en 1994-1995. En 1997, el exlíder del proyecto Debian, Bruce Perens, también ayudó a fundar Software in the Public Interest , una organización sin fines de lucro que financia y apoya varios proyectos de software libre . [31]
Desde 1996, el kernel de Linux incluye componentes con licencia propietaria, por lo que dejó de ser software enteramente libre . [32] Por lo tanto, la Fundación para el Software Libre de América Latina lanzó en 2008 una versión modificada del kernel de Linux llamada Linux-libre , donde se eliminaron todos los componentes propietarios y no libres.
Muchas empresas ofrecen productos o distribuciones personalizados basados en Linux con soporte comercial. El nombre sigue siendo controvertido . Es un uso común referirse al sistema completo simplemente como "Linux". Sin embargo, la Free Software Foundation , y muchos otros, abogan por el uso del término "GNU/Linux", diciendo que es un nombre más exacto para todo el sistema operativo. [33]
La adopción de Linux creció entre empresas y gobiernos en las décadas de 1990 y 2000. Al menos en el mundo de habla inglesa, Ubuntu y sus derivados se convirtieron en un grupo de distribuciones de Linux relativamente popular .
Cuando la demanda USL contra BSDi se resolvió extrajudicialmente en 1993, FreeBSD y NetBSD (ambos derivados de 386BSD ) se lanzaron como software libre. En 1995, OpenBSD se separó de NetBSD. En 2004, Dragonfly BSD se bifurcó de FreeBSD.
A mediados y finales de los años 90, cuando muchas empresas basadas en sitios web estaban naciendo, el software libre se convirtió en una opción popular para los servidores web. El servidor HTTP Apache se convirtió en el software de servidor web más utilizado, título que aún se mantiene en 2015. [34] Sistemas basados en una "pila" común de software con el kernel de Linux como base, Apache proporciona servicios web, el El motor de base de datos MySQL para almacenamiento de datos y el lenguaje de programación PHP para proporcionar páginas dinámicas pasaron a denominarse sistemas LAMP . En realidad, el lenguaje de programación anterior a PHP y que dominó la web a mediados y finales de los años 1990 fue Perl. Los formularios web se procesaron en el lado del servidor a través de scripts de Common Gateway Interface escritos en Perl.
El término "código abierto", en relación con el software libre, era de uso común en 1995. [35] Otros recuerdos lo mencionan en uso durante la década de 1980. [36]
En 1997, Eric S. Raymond publicó " La Catedral y el Bazar ", un análisis reflexivo de la comunidad hacker y los principios del software libre. El artículo recibió mucha atención a principios de 1998 y fue uno de los factores que motivó a Netscape Communications Corporation a lanzar su popular paquete de Internet Netscape Communicator como software gratuito . [37]
La ley de Netscape impulsó a Raymond y otros a investigar cómo llevar los principios y beneficios del software libre a la industria del software comercial. Llegaron a la conclusión de que el activismo social de la FSF no era atractivo para empresas como Netscape y buscaron una manera de cambiar el nombre del movimiento de software libre para enfatizar el potencial comercial de compartir el código fuente. [38]
La etiqueta "código abierto" fue adoptada por algunas personas en el movimiento del software libre en una sesión de estrategia [39] celebrada en Palo Alto, California , en reacción al anuncio de Netscape en enero de 1998 sobre la publicación del código fuente de Navigator . El grupo de personas en la sesión incluyó a Christine Peterson, quien sugirió "código abierto", [1] Todd Anderson, Larry Augustin , Jon Hall , Sam Ockman, Michael Tiemann y Eric S. Raymond . Durante la semana siguiente, Raymond y otros trabajaron para correr la voz. Linus Torvalds dio una sanción muy importante al día siguiente. Phil Hughes ofreció un púlpito en Linux Journal . Richard Stallman , pionero del movimiento del software libre, coqueteó con adoptar el término, pero cambió de opinión. [39] Aquellas personas que adoptaron el término aprovecharon la oportunidad antes de la publicación del código fuente de Navigator para liberarse de las connotaciones ideológicas y de confrontación del término "software libre". Netscape publicó su código fuente bajo la Licencia Pública de Netscape y posteriormente bajo la Licencia Pública de Mozilla . [40]
El término recibió un gran impulso en un evento organizado en abril de 1998 por el editor de tecnología Tim O'Reilly . Originalmente titulado "Cumbre de software libre" y más tarde "Cumbre de código abierto", [41] el evento reunió a los líderes de muchos de los proyectos de código abierto y libre más importantes, incluidos Linus Torvalds , Larry Wall , Brian Behlendorf , Eric Allman , Guido van Rossum , Michael Tiemann , Paul Vixie , Jamie Zawinski de Netscape y Eric Raymond. En aquella reunión se sacó a relucir la confusión que provoca el nombre de software libre. Tiemann abogó por "sourceware" como un nuevo término, mientras que Raymond abogó por "código abierto". Los desarrolladores reunidos votaron y esa misma noche se anunció el ganador en una conferencia de prensa. Cinco días después, Raymond hizo el primer llamado público a la comunidad del software libre para que adoptara el nuevo término. [42] La Iniciativa de Código Abierto se formó poco después. [1] [39] Según OSI, Richard Stallman inicialmente coqueteó con la idea de adoptar el término de código abierto. [43] Pero a medida que el enorme éxito del término de código abierto enterró el término de software libre de Stallman y su mensaje sobre los valores sociales y la libertad de los usuarios de computadoras, [44] [45] [46] más tarde, Stallman y su FSF se opusieron firmemente al enfoque de la OSI. y terminología. [47] Debido al rechazo de Stallman del término "software de código abierto", el ecosistema FOSS está dividido en su terminología; consulte también Términos alternativos para software gratuito . Por ejemplo, una encuesta de desarrolladores de FOSS de 2002 reveló que el 32,6% se asociaba con el OSS, el 48% con el software libre y el 19,4% se asociaba con el software libre o estaba indeciso. [48] Stallman aún mantenía, sin embargo, que los usuarios de cada término eran aliados en la lucha contra el software propietario.
El 13 de octubre de 2000, Sun Microsystems lanzó la suite ofimática StarOffice como software gratuito bajo la licencia pública general reducida GNU . La versión de software libre pasó a llamarse OpenOffice.org y coexistió con StarOffice.
A finales de la década de 1990, el término "código abierto" ganó mucha fuerza en los medios públicos [49] y aceptación en la industria del software en el contexto de la burbuja de las puntocom y la Web 2.0 impulsada por el software de código abierto .
El sistema X Window se creó en 1984 y se convirtió en el sistema de ventanas estándar de facto en los sistemas operativos de software libre de escritorio a mediados de la década de 1990. X se ejecuta como servidor y es responsable de comunicarse con el hardware de gráficos en nombre de los clientes (que son aplicaciones de software individuales). Proporciona servicios útiles, como tener varios escritorios virtuales para el mismo monitor y transmitir datos visuales a través de la red para que se pueda acceder a un escritorio de forma remota.
Inicialmente, los usuarios o administradores de sistemas ensamblaban sus propios entornos a partir de X y los administradores de ventanas disponibles (que agregan controles estándar a las ventanas de las aplicaciones; X en sí no hace esto), buscapersonas , muelles y otro software. Si bien X puede funcionar sin un administrador de ventanas, tener uno aumenta enormemente la comodidad y facilidad de uso.
En la década de 1990 surgieron dos entornos de escritorio "pesados" clave para sistemas operativos de software libre que fueron ampliamente adoptados: KDE y GNOME . KDE fue fundado en 1996 por Matthias Ettrich . En aquel momento le preocupaban las incoherencias en las interfaces de usuario de las aplicaciones UNIX . Propuso un nuevo entorno de escritorio. También quería que este escritorio fuera fácil de usar. Su publicación inicial en Usenet despertó mucho interés. [50]
Ettrich optó por utilizar el kit de herramientas Qt para el proyecto KDE. En aquel momento, Qt no utilizaba una licencia de software libre . Los miembros del proyecto GNU se preocuparon por el uso de dicho conjunto de herramientas para construir un entorno de escritorio de software libre. En agosto de 1997, se iniciaron dos proyectos en respuesta a KDE: el kit de herramientas Harmony (un reemplazo gratuito de las bibliotecas Qt) y GNOME (un escritorio diferente sin Qt y construido enteramente sobre software libre). [51] Se eligió GTK+ como base de GNOME en lugar del kit de herramientas Qt.
En noviembre de 1998, el kit de herramientas Qt obtuvo la licencia pública Q (QPL), gratuita y de código abierto , pero continuó el debate sobre la compatibilidad con la licencia pública general (GPL) de GNU. En septiembre de 2000, Trolltech puso a disposición la versión Unix de las bibliotecas Qt bajo GPL, además de QPL, lo que eliminó las preocupaciones de la Free Software Foundation . Desde entonces, KDE se ha dividido en KDE Plasma Workspaces , un entorno de escritorio, y KDE Software Compilation , un conjunto mucho más amplio de software que incluye el entorno de escritorio.
Tanto KDE como GNOME participan ahora en freedesktop.org , un esfuerzo lanzado en 2000 para estandarizar la interoperabilidad de los escritorios Unix, aunque todavía existe competencia entre ellos. [52]
Desde el año 2000, el software escrito para X casi siempre utiliza algún conjunto de herramientas de widgets escrito sobre X, como Qt o GTK. [ cita necesaria ]
En 2010, Canonical lanzó la primera versión de Unity , un reemplazo del anterior entorno de escritorio predeterminado para Ubuntu, GNOME. Este cambio a un nuevo entorno de escritorio e interfaz de usuario en desarrollo fue inicialmente algo controvertido entre los usuarios de Ubuntu.
En 2011, se introdujo GNOME 3, que descartó en gran medida la metáfora del escritorio en favor de una interfaz más orientada a dispositivos móviles. La controversia resultante llevó a Debian a considerar hacer que el entorno Xfce sea el predeterminado en Debian 7. Se iniciaron varios proyectos independientes para mantener el código de GNOME 2.
Fedora no adoptó Unity, conservando su oferta existente de una opción de GNOME, KDE y LXDE , siendo GNOME el predeterminado y, por lo tanto, Red Hat Enterprise Linux (para el cual Fedora actúa como "campo de pruebas inicial") tampoco adoptó Unity. Desarrolladores externos interesados crearon una bifurcación de Ubuntu que mantuvo GNOME y descartó Unity. En marzo de 2017, Ubuntu anunció que abandonará Unity en favor de GNOME 3 en versiones futuras y cesará sus esfuerzos en el desarrollo de teléfonos inteligentes y tabletas basados en Unity . [53] [54]
Cuando Google creó el sistema operativo Android basado en Linux , principalmente para teléfonos y tabletas, reemplazó X con el SurfaceFlinger especialmente diseñado .
Los desarrolladores de código abierto también criticaron a X por ser obsoleto, por contener muchos elementos no utilizados o demasiado complicados en su protocolo y bibliotecas, mientras que faltaban funcionalidades modernas, por ejemplo, composición, protectores de pantalla y funciones proporcionadas por los administradores de ventanas. [55] Se han realizado o están en marcha varios intentos para reemplazar X por estos motivos, entre ellos:
A medida que el software libre se hizo más popular, los titulares de la industria como Microsoft comenzaron a verlo como una seria amenaza. Así se demostró en un documento filtrado de 1998, confirmado por Microsoft como genuino, que pasó a denominarse el primero de los Documentos de Halloween .
Steve Ballmer comparó una vez la GPL con "un cáncer", pero desde entonces dejó de utilizar esta analogía. De hecho, Microsoft ha suavizado su postura pública hacia el código abierto en general, y desde entonces el código abierto se ha convertido en una parte importante del ecosistema de Microsoft Windows . [57] Sin embargo, al mismo tiempo, detrás de escena, las acciones de Microsoft han sido menos favorables hacia la comunidad de código abierto . [ cita necesaria ]
En 2003, un proveedor propietario de Unix y ex proveedor de distribución de Linux llamado SCO alegó que la propiedad intelectual de Unix se había copiado de manera inapropiada en el kernel de Linux y demandó a IBM, alegando que era responsable de esto. Siguieron varias demandas y contrademandas relacionadas, algunas originadas por SCO y otras por otros que demandaron a SCO. Sin embargo, las acusaciones de la SCO carecían de especificidad y, aunque algunos medios de comunicación las consideraron creíbles, muchos críticos de la SCO creían que eran, en el mejor de los casos, muy dudosas.
En el transcurso del caso SCO contra IBM , surgió que no sólo SCO había estado distribuyendo el kernel de Linux durante años bajo la GPL, y continuaba haciéndolo (lo que hacía que cualquier reclamación fuera difícil de sostener legalmente), sino que SCO no Incluso poseía los derechos de autor de gran parte del código Unix sobre el cual afirmaba tener derechos de autor, y no tenía derecho a demandar por ellos en nombre del presunto propietario, Novell .
Esto fue a pesar de que el CEO de SCO, Darl McBride , había hecho muchas afirmaciones descabelladas y dañinas sobre apropiación inapropiada a los medios, muchas de las cuales luego se demostró que eran falsas o legalmente irrelevantes incluso si fueran ciertas.
El blog Groklaw fue uno de los examinadores más forenses de las afirmaciones de la SCO y eventos relacionados, y ganó popularidad al cubrir este material durante muchos años.
SCO sufrió derrota tras derrota en SCO v. IBM y sus diversos otros casos judiciales, y se acogió al Capítulo 11 de la ley de bancarrota en 2007. Sin embargo, a pesar de que los tribunales determinaron que SCO no era propietaria de los derechos de autor (ver arriba), y el CEO de SCO, feliz con la demanda, Darl McBride ya no dirige la empresa, el síndico de quiebras a cargo de SCO en quiebra decidió seguir adelante con algunas partes que, según él, seguían siendo relevantes en la demanda de SCO contra IBM . Aparentemente podía permitirse el lujo de hacer esto porque el principal bufete de abogados de SCO en SCO contra IBM había firmado un acuerdo desde el principio para representar a SCO por una cantidad fija de dinero sin importar cuánto tiempo tomara completar el caso.
En 2004, la Institución Alexis de Tocqueville (ADTI) anunció su intención de publicar un libro, Samizdat: y otras cuestiones relativas a la 'fuente' del código abierto , mostrando que el kernel de Linux se basaba en código robado de Unix, en esencia utilizando el argumento de que era imposible creer que Linus Torvalds pudiera producir algo tan sofisticado como el kernel de Linux. El libro nunca se publicó, después de haber sido ampliamente criticado y ridiculizado, incluso por personas supuestamente entrevistadas para el libro. Se supo que algunas de las personas nunca fueron entrevistadas y que ADTI no había intentado ponerse en contacto con Linus Torvalds ni le había planteado las acusaciones para permitir una respuesta. Microsoft intentó poner fin a este incidente, afirmando que se trataba de una "distracción".
Muchos sospechaban que algunos o todos estos ataques legales y de miedo, incertidumbre y duda (FUD) contra el kernel de Linux fueron organizados de forma encubierta por Microsoft, aunque esto nunca se ha demostrado. Sin embargo, tanto ADTI como SCO recibieron financiación de Microsoft.
En 2004, la Comisión Europea declaró a Microsoft culpable de comportamiento anticompetitivo con respecto a la interoperabilidad en el mercado de software para grupos de trabajo. Microsoft ya había llegado a un acuerdo en Estados Unidos contra Microsoft en 2001, en un caso en el que se acusaba de haber abusado ilegalmente de su poder de monopolio para obligar a los fabricantes de computadoras a preinstalar Internet Explorer .
La Comisión exigió que Microsoft presentara documentación completa de sus protocolos de grupo de trabajo para permitir a los competidores interoperar con su software de grupo de trabajo, e impuso multas de 1,5 millones de euros por día por el incumplimiento de Microsoft. La comisión tenía competencia porque Microsoft vende el software en cuestión en Europa.
Microsoft, después de un intento fallido de apelar la decisión ante el Tribunal de Justicia de la Unión Europea , finalmente cumplió con la demanda, presentando volúmenes de documentación detallada.
El proyecto Samba , como único competidor restante de Microsoft en el mercado de software para grupos de trabajo, fue el principal beneficiario de esta documentación.
En 2008, la Organización Internacional de Normalización publicó Office Open XML de Microsoft como estándar internacional , lo que significaba de manera crucial que él, y por lo tanto Microsoft Office , podía usarse en proyectos donde el uso de estándares abiertos fuera obligatorio por ley o política. Los críticos del proceso de estandarización, incluidos algunos miembros de los comités nacionales de ISO involucrados en el proceso en sí, alegaron irregularidades y violaciones de procedimiento en el proceso, y argumentaron que la ISO no debería haber aprobado OOXML como estándar porque hacía referencia a comportamientos no documentados de Microsoft Office. .
A partir de 2012 [update], no existe una implementación correcta de código abierto de OOXML, lo que valida los comentarios de los críticos acerca de que OOXML es difícil de implementar y está poco especificado. Actualmente, Google aún no puede convertir correctamente los documentos de Office a su propio formato propietario de Google Docs. Esto sugiere que OOXML no es un verdadero estándar abierto, sino más bien un documento parcial que describe lo que hace Microsoft Office y que solo involucra ciertos formatos de archivo.
En 2006, Microsoft lanzó su sitio de alojamiento de código fuente abierto CodePlex , para proporcionar alojamiento a desarrolladores de código abierto dirigidos a plataformas Microsoft. En julio de 2009, Microsoft abrió algunos parches compatibles con Hyper-V para el kernel de Linux, porque así lo exigía la Licencia Pública General GNU , [58] [59] y los contribuyó al kernel principal. Tenga en cuenta que Hyper-V en sí no es de código abierto. El compilador F# de Microsoft , creado en 2002, también se lanzó como código abierto bajo la licencia Apache . El compilador de F# es un producto comercial, ya que se ha incorporado a Microsoft Visual Studio , que no es de código abierto.
Los representantes de Microsoft han aparecido regularmente en varias conferencias de código abierto y Linux durante muchos años.
En 2012, Microsoft lanzó una subsidiaria llamada Microsoft Open Technologies Inc., con el objetivo de cerrar la brecha entre las tecnologías patentadas de Microsoft y las tecnologías que no son de Microsoft mediante la interacción con estándares de código abierto. [60] Posteriormente, esta filial volvió a formar parte de Microsoft a medida que la posición de Microsoft en plataformas de código abierto y distintas de Windows se volvió más favorable.
En enero de 2016, Microsoft lanzó Chakra como código abierto bajo la licencia MIT ; el código está disponible en GitHub . [61]
La postura de Microsoft sobre el código abierto ha cambiado a medida que la empresa comenzó a respaldar más software de código abierto. En 2016, Steve Balmer, ex director ejecutivo de Microsoft, se retractó de su afirmación de que Linux es un cáncer maligno. [62] En 2017, la empresa se convirtió en patrocinadora platino de la Fundación Linux . En 2018, poco antes de adquirir GitHub, Microsoft lideraba las listas de personal remunerado que contribuía a proyectos de código abierto allí. [63] Si bien Microsoft puede respaldar o no la filosofía original del software libre , los datos muestran que sí respalda estratégicamente el código abierto. [ ¿ investigacion original? ]
Los críticos han señalado que, en marzo de 2019, Microsoft demandó a la filial de Foxconn por un contrato de patente de 2013; [64] En 2013, Microsoft había anunciado un acuerdo de patente con Foxconn relacionado con el uso por parte de Foxconn de Android y ChromeOS basados en Linux . [sesenta y cinco]
La gran mayoría de los lenguajes de programación que se utilizan hoy en día tienen disponible una implementación de software gratuita.
Desde la década de 1990, el lanzamiento de nuevos lenguajes de programación importantes en forma de compiladores y/o intérpretes de código abierto ha sido la norma, más que la excepción. Los ejemplos incluyen Python en 1991, Ruby en 1995 y Scala en 2003. En los últimos tiempos, las excepciones más notables han sido Java , ActionScript , C# y Swift de Apple hasta que la versión 2.2 fue propietaria . Para la mayoría se han desarrollado implementaciones de código abierto parcialmente compatibles y, en el caso de Java, la implementación principal de código abierto está ahora muy cerca de la versión comercial.
Desde su primer lanzamiento público en 1996, la plataforma Java no había sido de código abierto, aunque la parte del código fuente de Java del tiempo de ejecución de Java se incluyó en los kits de desarrollo de Java (JDK), de forma supuestamente "confidencial", a pesar de que se podía descargar gratuitamente. por el público en general en la mayoría de los países. Posteriormente, Sun amplió este acceso al código fuente "confidencial" para incluir el código fuente completo de Java Runtime Environment a través de un programa separado que estaba abierto al público, y luego puso a disposición también la fuente del compilador Java javac . Sun también puso el código fuente del JDK a disposición de forma confidencial para el proyecto Blackdown Java , que era un grupo de voluntarios que portaron las primeras versiones del JDK a Linux o mejoraron las versiones del JDK para Linux de Sun. Sin embargo, nada de esto era de código abierto, porque la modificación y redistribución sin el permiso de Sun estaban prohibidas en todos los casos. Sun declaró en ese momento que estaban preocupados por evitar la bifurcación de la plataforma Java.
Sin embargo, se habían creado varias reimplementaciones parciales independientes de la plataforma Java, muchas de ellas por parte de la comunidad de código abierto , como el Compilador GNU para Java (GCJ). Sun nunca presentó demandas contra ninguno de los proyectos de clonación de código abierto . GCJ causó notablemente una mala experiencia de usuario para Java en distribuciones de soporte de software libre como Fedora y Ubuntu , que en ese momento incluían GCJ como su implementación de Java. Cómo reemplazar GCJ con Sun JDK era una pregunta frecuente entre los usuarios, porque GCJ era una implementación incompleta, incompatible y con errores.
En 2006, Jonathan I. Schwartz se convirtió en director ejecutivo de Sun Microsystems y señaló su compromiso con el código abierto. El 8 de mayo de 2007, Sun Microsystems lanzó el kit de desarrollo Java como OpenJDK bajo la licencia pública general GNU. Parte de la biblioteca de clases (4%) no pudo publicarse como código abierto debido a que tenían licencia de otras partes y se incluyeron como complementos binarios. [ cita necesaria ] Debido a esto, en junio de 2007, Red Hat lanzó IcedTea para resolver los componentes gravados con los equivalentes de la implementación GNU Classpath . Desde el lanzamiento, la mayoría de los obstáculos se han resuelto, dejando solo el código del motor de audio y el sistema de gestión de color (este último se resolverá utilizando Little CMS ).
El primer sistema de control de revisiones distribuido (DVCS) de código abierto fue 'tla' en 2001 (desde entonces rebautizado como GNU arch ); sin embargo, él y sus sucesores 'baz' y 'bzr' ( Bazaar ) nunca llegaron a ser muy populares, y GNU arch fue descontinuado, aunque Bazaar todavía continúa y es utilizado por Canonical.
Sin embargo, surgieron otros proyectos DVCS y algunos comenzaron a obtener una adopción significativa.
Git , el DVCS más popular, fue creado en 2005. [66] Algunos desarrolladores del kernel de Linux comenzaron a usar un DVCS propietario llamado BitKeeper , en particular el fundador de Linux, Linus Torvalds, aunque algunos otros desarrolladores del kernel nunca lo usaron debido a su naturaleza patentada. La situación inusual en la que el desarrollo del kernel de Linux implicaba el uso de software propietario por parte de algunos "llegó a un punto crítico" cuando Andrew Tridgell comenzó a aplicar ingeniería inversa a BitKeeper con el objetivo de producir una herramienta de código abierto que pudiera proporcionar algunas de las mismas funciones que el versión comercial. BitMover, la compañía que desarrolló BitKeeper, en respuesta, en 2005 revocó la licencia especial gratuita que había otorgado a ciertos desarrolladores del kernel.
Como resultado de la eliminación de la licencia BitKeeper, Linus Torvalds decidió escribir su propio DVCS, llamado git, porque pensaba que ninguno de los DVCS de código abierto existentes era adecuado para sus necesidades particulares como mantenedor del kernel (razón por la cual había adoptó BitKeeper en primer lugar). Varios otros desarrolladores rápidamente intervinieron y lo ayudaron, y con el tiempo, git pasó de ser un "rastreador de contenido estúpido" relativamente simple (en el que algunos desarrolladores desarrollaron extensiones de "porcelana") al sofisticado y poderoso DVCS que es hoy. Sin embargo, Torvalds ya no mantiene git; Junio Hamano lo ha mantenido durante muchos años y ha seguido recibiendo contribuciones de muchos desarrolladores.
La creciente popularidad de los DVCS de código abierto como git, y luego, más tarde, los sitios de alojamiento de DVCS, el más popular de los cuales es GitHub (fundado en 2008), redujo progresivamente aún más las barreras a la participación en proyectos de software libre. Con sitios como GitHub, los posibles contribuyentes ya no tenían que hacer cosas como buscar la URL del repositorio de código fuente (que podría estar en diferentes lugares de cada sitio web o, a veces, escondido en un archivo README o documentación del desarrollador), o trabajar Descubra cómo generar un parche y, si es necesario, suscríbase a la lista de correo adecuada para que el correo electrónico del parche llegue a las personas adecuadas. Los contribuyentes pueden simplemente crear su propia copia de un repositorio con un solo clic y emitir una solicitud de extracción desde la rama correspondiente cuando sus cambios estén listos. GitHub se ha convertido en el sitio de alojamiento de software de código abierto más popular del mundo, y esto, junto con la facilidad de bifurcación y la visibilidad de las bifurcaciones, lo ha convertido en una forma popular para que los contribuyentes realicen cambios, grandes y pequeños.
Si bien los derechos de autor son el principal mecanismo legal que utilizan los autores de software libre para garantizar el cumplimiento de las licencias de su software, otros mecanismos como la legislación, las patentes de software y las marcas comerciales también tienen usos. En respuesta a los problemas legales con las patentes y la DMCA , la Free Software Foundation lanzó la versión 3 de su Licencia Pública GNU en 2007 que abordaba explícitamente las disposiciones de gestión de derechos digitales (DRM) y los derechos de patente de la DMCA.
Después del desarrollo de GNU GPLv3 , como titular de los derechos de autor de muchas piezas del sistema GNU, como el software GNU Compiler Collection (GCC), la FSF actualizó la mayoría [ cita necesaria ] de las licencias de los programas GNU de GPLv2 a GPLv3. Apple , un usuario de GCC y un gran usuario tanto de DRM como de patentes, decidió cambiar el compilador en su IDE Xcode de GCC a Clang , otro compilador FOSS, [67] pero que está bajo una licencia permisiva . [68] LWN especuló que Apple estaba motivada en parte por el deseo de evitar la GPLv3. [67] El proyecto Samba también cambió a GPLv3, que Apple reemplazó en su paquete de software con una alternativa de software propietario de código cerrado. [69]
Las fusiones recientes han afectado a importantes software de código abierto. Sun Microsystems (Sun) adquirió MySQL AB , propietario de la popular base de datos MySQL de código abierto , en 2008. [70]
Oracle, a su vez, compró Sun en enero de 2010, adquiriendo sus derechos de autor, patentes y marcas comerciales. Esto convirtió a Oracle en el propietario tanto de la base de datos propietaria más popular como de la base de datos de código abierto (MySQL) más popular. [ cita necesaria ] Los intentos de Oracle de comercializar la base de datos MySQL de código abierto han generado preocupaciones en la comunidad FOSS. [71] En parte como respuesta a la incertidumbre sobre el futuro de MySQL, la comunidad FOSS dividió el proyecto en nuevos sistemas de bases de datos fuera del control de Oracle. Estos incluyen MariaDB , Percona y Drizzle . [72] Todos estos tienen nombres distintos; son proyectos distintos y no pueden utilizar el nombre de marca registrada MySQL. [73]
En septiembre de 2008, Google lanzó la primera versión de Android , un nuevo sistema operativo para teléfonos inteligentes , como código abierto (algunas aplicaciones de Google que a veces, pero no siempre, se incluyen con Android no son de código abierto). Inicialmente, Google regaló el sistema operativo y muchos fabricantes de teléfonos lo adoptaron con entusiasmo; Posteriormente, Google compró Motorola Mobility y produjo sus propios teléfonos y tabletas con Android " vainilla ", mientras seguía permitiendo que otros fabricantes utilizaran Android. Android es ahora la plataforma móvil más popular del mundo. [74]
Debido a que Android se basa en el kernel de Linux, esto significa que Linux es ahora el kernel dominante tanto en plataformas móviles (a través de Android) como en supercomputadoras, [75] y también un actor clave en los sistemas operativos de servidores.
En agosto de 2010, Oracle demandó a Google alegando que su uso de Java en Android infringía los derechos de autor y patentes de Oracle. El juicio inicial de Oracle contra Google terminó en mayo de 2012, con la conclusión de que Google no infringió las patentes de Oracle, y el juez de primera instancia dictaminó que la estructura de las interfaces de programación de aplicaciones (API) Java utilizadas por Google no estaba sujeta a derechos de autor. El jurado consideró que Google cometió una infracción trivial (" de minimis ") de los derechos de autor, pero las partes estipularon que Google no pagaría daños y perjuicios porque era muy trivial. [76] Sin embargo, Oracle apeló ante el Circuito Federal y Google presentó una contraapelación sobre el reclamo de copia literal. [77] El Circuito Federal dictaminó que la pequeña infracción de derechos de autor reconocida por Google no era de minimis y devolvió la cuestión del uso legítimo al juez de primera instancia para su reconsideración. En 2016, el caso se volvió a juzgar y un jurado falló a favor de Google, por motivos de uso legítimo .
Hasta hace poco, Linux todavía era una opción relativamente poco común de sistema operativo para computadoras de escritorio y portátiles. Sin embargo, los Chromebook de Google , que ejecutan ChromeOS , que es esencialmente un cliente ligero , han capturado entre el 20% y el 25% del mercado estadounidense de portátiles de menos de 300 dólares. [78] ChromeOS se construye a partir del ChromiumOS de código abierto , que está basado en Linux, de la misma manera que las versiones de Android enviadas en teléfonos disponibles comercialmente se crean a partir de la versión de código abierto de Android.
Entonces, si
el código abierto
solía ser la norma en los años 1960 y 1970, ¿cómo cambió esto?
¿De dónde surgió
el software propietario
, cuándo y cómo?
¿Cómo se desmoronó
la pequeña utopía de
Richard Stallman en el
laboratorio de IA del MIT
y lo obligó a salir al desierto para intentar reconstruirla?
Dos cosas cambiaron a principios de los años 80: la base instalada de hardware de microcomputadoras, en crecimiento exponencial, alcanzó una masa crítica alrededor de 1980, y una decisión legal alteró la ley de derechos de autor para cubrir los archivos binarios en 1983.
Si bien la política de IBM de retener el código fuente de productos de software seleccionados ya ha cumplido su segundo aniversario, los usuarios recién ahora están comenzando a afrontar el impacto de esa decisión.
Pero independientemente de que la llegada de productos de código objeto haya afectado o no sus operaciones diarias de DP, algunos usuarios siguen enojados por la decisión de IBM.
Anunciada en febrero de 1983, la política de código objeto de IBM se ha aplicado a una lista cada vez mayor de productos de software de sistemas Big Blue.