Código abierto

Logotipo del código abierto.

El código abierto es un modelo de desarrollo de software basado en la colaboración abierta.[2]​ Para muchos el término «libre» hace referencia al hecho de adquirir un software de manera gratuita.

Historia

Se utilizó por primera vez en 1990 en las comunidades de software libre, tratando de usarlo como reemplazo al ambiguo nombre original en inglés del software libre (free software). Lo cual implica, para el caso que nos ocupa, «software que podemos usar, escribir, modificar y redistribuir libremente».

La expresión, para algunos, no resultó apropiada como reemplazo para el ya tradicional free software, pues eliminaba la idea de libertad, confundida con la simple gratuidad. No obstante continúa siendo ambivalente, puesto que se usa en la actualidad por parte de programadores que no ofrecen software libre pero, en cambio, sí ofrecen el código fuente de los programas para su revisión o modificación previamente autorizada por parte de sus pares académicos.

Dada la ausencia de tal ambigüedad en la lengua española, el término software libre es adecuado para referirse a programas que se ofrecen con total libertad de modificación, uso y distribución bajo la regla implícita de no modificar dichas libertades hacia el futuro. De hecho en inglés también se usa el término «libre software» para evitar ambigüedades semánticas.

Desde el punto de vista de una «traducción estrictamente literal», el significado textual de código abierto es que «se puede examinar el código fuente», por lo que puede ser interpretado como un término más débil y flexible que el del software libre. Sin embargo, ambos movimientos reconocen el mismo conjunto de licencias y mantienen principios equivalentes.

Sin embargo, hay que diferenciar los programas de código abierto, que dan a los usuarios la libertad de mejorarlos, de los programas que simplemente tienen el código fuente disponible, previa restricciones sobre su uso o modificación.

En la actualidad el código abierto se utiliza para definir un movimiento nuevo de software (la Iniciativa Open Source), diferente al movimiento del software libre, incompatible con este último desde el punto de vista filosófico, y completamente equivalente desde el punto de vista práctico, de hecho, ambos movimientos trabajan juntos en el desarrollo práctico de proyectos.

La idea bajo el concepto de código abierto es sencilla: cuando los programadores (en Internet) pueden leer, modificar y redistribuir el código fuente de un programa, este evoluciona, se desarrolla y mejora. Los usuarios lo adaptan a sus necesidades, corrigen sus errores con un tiempo de espera menor a la aplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción de un mejor software.

Cronología

Inicio del movimiento de software libre:

Inicio del movimiento de código abierto:[3]

  • 23 de diciembre 1997: Id Software libera el código fuente de Doom.[4]
  • 22 de enero de 1998: Netscape anuncia que liberará el código fuente de Navigator.
  • 3 de febrero de 1998: en la reunión de Palo Alto se acuña el término open source y durante la semana siguiente Bruce Perens y opensource.org.
  • 31 de marzo de 1998: el código de Navigator ya está disponible: en unas horas, mejoras del programa invaden la red.
  • 7 de mayo de 1998: Corel Corporation anuncia Netwinder, un ordenador económico que corre bajo GNU/Linux.
  • 11 de mayo de 1998: Corel anuncia sus planes de adaptar WordPerfect y el resto de sus programas de ofimática a GNU/Linux.
  • 28 de mayo de 1998: Sun Microsystems y Adaptec se unen a Linux International, las primeras grandes empresas vendedoras de equipos y sistemas operativos en hacerlo.
  • 13-17 de julio de 1998: Oracle e Informix anuncian que conectarán sus bases de datos a GNU/Linux.
  • 10 de agosto de 1998: Sun Microsystems ofrece Solaris a usuarios individuales e instituciones educativas o sin ánimo de lucro.
  • 1 de noviembre de 1998: se publican los Halloween Documents: planes de Microsoft contra GNU/Linux y otros proyectos código abierto.
  • 16 de diciembre de 1998: IDG anuncia que la cuota de mercado del GNU/Linux se incrementó un 212% en 1998.
  • 1-5 de marzo de 1999: LinuxWorld Conference and Expo: primera exposición sobre GNU/Linux. HP, IBM, SAP inician el comienzo del apoyo de las firmas comerciales.
  • 15 de marzo de 1999: Apple lanza Darwin bajo licencia código abierto.
  • 4 de junio de 1999: Microsoft afirma que Linux vende más que Windows 98 en las grandes superficies.[5]
  • 15 de enero de 2001: Nace Wikipedia.
  • 15 de noviembre de 2005: Se crea la Open Invention Network.[6]
  • 16 de enero de 2008: Sun Microsystems adquiere MySQL.[7]
  • 23 de septiembre de 2008: Google lanza el primer teléfono con sistema operativo Android, basado en Linux y otros componentes de código abierto.[8]
  • 20 de abril de 2009: Oracle adquiere Sun Microsystems.[9]
  • 11 de febrero de 2009: Se lanza MongoDB, un sistema de base de datos NoSQL orientado a documentos de código abierto.
  • 10 de diciembre de 2011: Apache lanza Hadoop, un framework de software para big data bajo licencia libre.
  • 30 de mayo de 2014: Apache lanza Spark, un framework de computación en clúster open-source.
  • 8 de junio de 2015: Apple anuncia Swift 2 bajo licencia código abierto.
  • 9 de noviembre de 2015: Google lanza TensorFlow, una biblioteca de código abierto para aprendizaje automático.
  • 17 Diciembre de 2015: la Fundación Linux anuncia la creación del Proyecto Hyperledger, una plataforma código abierto para blockchain.[10]
  • Febrero de 2017: GitHub revisa sus términos de servicio.[11]
  • Agosto de 2017: Se lanza el EPL 2.0 (Licencia Pública Eclipse).
  • Agosto de 2017: Java Community Process (JCP) migra Java EE a Eclipse.[12]
  • 29 de noviembre de 2017: Red Hat, Facebook, Google e IBM anuncian el compromiso de cura de GPLv2 / LGPLv2.x.[13]
  • 18 de abril de 2018: Microsoft presenta Azure Sphere OS, el primer sistema operativo de Microsoft basado en Linux.[14]
  • 9 de junio de 2018: Microsoft compra GitHub.[15]
  • 10 de octubre de 2018: Microsoft cede 60.000 patentes al Open Invention Network.[16]
  • 29 de octubre de 2018: IBM adquiere Red Hat.[17]

Entre 1998 y 2000 se observó un gran crecimiento en la popularidad de GNU/Linux y de la formación de muchas empresas «pro software de código abierto». El movimiento también capturó la atención de la principal industria del software, llevando al software de código abierto las ofertas de compañías de software consolidadas como Sun Microsystems con StarOffice e IBM con OpenAFS.

Movimiento del código abierto

La idea del código abierto se centra en la premisa de que al compartir el código, el programa resultante tiende a ser de calidad superior al software propietario, es una visión técnica. Por otro lado, el software libre tiene tendencias filosóficas e incluso morales:[3]​ el software propietario, al no poder compartirse, es «antiético» dado que prohibir compartir entre seres humanos va en contra del sentido común. Ninguna adaptación ni cambios que no haya realizado previamente la empresa fabricante.

El código abierto ofrece:

  1. Acceso al código fuente: Para modificarlo, corregirlo o añadir más prestaciones.
  2. Gratuidad: El software puede obtenerse libremente.
  3. La posibilidad de evitar monopolios de software propietario: Para no depender de un único fabricante de software.
  4. Un modelo de avance: Por lo cual la información no se oculta.

Al igual que el software libre, el código abierto tiene una serie de requisitos necesarios para que un programa pueda considerarse dentro de este movimiento,[18]​ estos son:

  • Libre redistribución: el software debe poder ser regalado o vendido libremente.
  • Código fuente: el código fuente debe estar incluido u obtenerse libremente.
  • Trabajos derivados: la redistribución de modificaciones debe estar permitida.
  • Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas solo como parches.
  • La licencia no debe discriminar a ninguna persona o grupo: nadie puede dejarse fuera.
  • Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
  • Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa
  • La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
  • La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
  • La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.

Este decálogo es compatible con las cuatro libertades del software libre.

Programas en código abierto

Extensiones del concepto

Recientemente se está aplicando por extensión el término «código abierto» o su equivalente en inglés open source a creaciones que no son programas. En concreto se habla popularmente de cine open source para referirse a cine bajo distintos tipos de licencias libres.[cita requerida] Otro ejemplo es el proyecto de una economía de código abierto de la plataforma Open Source Ecology, comenzado con el desarrollo de máquinas industriales de código abierto.[19]

Véase también

Referencias

  1. Levine, Sheen S.; Prietula, Michael (16 de septiembre de 2013). Open Collaboration for Innovation: Principles and Performance (ID 1096442). Social Science Research Network. Consultado el 5 de noviembre de 2017. 
  2. Izquierdo, Robin (30 de julio de 2018). «IoT y código abierto. ¿Cuáles son sus ventajas e inconvenientes?» (html). el original el 30 de julio de 2018. Consultado el 30 de julio de 2018. «En una descripción muy breve, podemos decir que el código abierto (open source) es una forma de desarrollar software basada en la colaboración entre desarrolladores. El concepto de código abierto se desarrolla en el ámbito del “software libre”, y aunque no es exactamente lo mismo, se imbuye de su filosofía. Para que un lego en la materia pueda entenderlo: con frecuencia, cuando una empresa crea un software, oculta su código, de forma que el resto de desarrolladores no puede conocerlo ni modificarlo. Habitualmente, las empresas hacen esto tanto por motivos comerciales (no desean que su software se distribuya de forma gratuita) como para mantener la integridad del código (no desean que sufra modificaciones).» 
  3. a b Stallman, Richard (11 de octubre de 2017). «Por qué el «código abierto» pierde de vista lo esencial del software libre» (html). el original el 11 de julio de 2018. Consultado el 30 de julio de 2018. «Sin embargo, no todos los usuarios y programadores de software libre estaban de acuerdo con los objetivos del movimiento del software libre. En 1998 una parte de la comunidad del software libre se bifurcó y dió inicio a una campaña para promover el «open source» (código abierto). La expresión se propuso originalmente para evitar un posible malentendido con el término «free software» [2] (software libre), pero pronto se asoció con posiciones filosóficas diferentes a las del movimiento del software libre.» 
  4. «Doomworld -- 10 Years of Doom». www.doomworld.com. Consultado el 7 de abril de 2019. 
  5. Google. «Linux is outselling Windows 98, says Microsoft». Consultado el 12 de octubre de 2016. 
  6. «Home». Open Invention Network (en inglés estadounidense). Consultado el 7 de abril de 2019. 
  7. EFE (16 de enero de 2008). «Sun Microsystems compra MySQL por 1.000 millones de dólares». El País. 1134-6582. Consultado el 7 de abril de 2019. 
  8. López, José María (23 de diciembre de 2018). «Historia de Android, el sistema operativo omnipresente». Hipertextual. Consultado el 7 de abril de 2019. 
  9. EP (20 de abril de 2009). «Oracle adquiere Sun Microsystems por 5.710 millones». El País. 1134-6582. Consultado el 7 de abril de 2019. 
  10. «Hyperledger Project: el consorcio de código abierto para blockchain empresarial». CriptoNoticias - Bitcoin, Blockchain, criptomonedas. 5 de noviembre de 2017. Consultado el 7 de abril de 2019. 
  11. «DRAFT UPDATE to GitHub Terms of Service by bluemazzoo · Pull Request #1 · github/site-policy». GitHub (en inglés). Consultado el 7 de abril de 2019. 
  12. heatherjmeeker, Author (18 de octubre de 2017). «Oracle Announces Migration of Java EE to Eclipse Foundation». Copyleft Currents (en inglés estadounidense). Consultado el 7 de abril de 2019. 
  13. Isaac (30 de noviembre de 2017). «IBM, Google, Red Hat y Facebook juntos para mejorar las licencias de código abierto». Linux Adictos. Consultado el 7 de abril de 2019. 
  14. Farràs, Aleix (18 de abril de 2018). «MICROSOFT ANUNCIA AZURE SPHERE OS, SU PRIMER SISTEMA OPERATIVO BASADO EN LINUX». Infordisa. Consultado el 7 de abril de 2019. 
  15. Araújo, Santi (4 de junio de 2018). «Confirmado: Microsoft compra GitHub por 7.500 millones de dólares». Genbeta. Consultado el 7 de abril de 2019. 
  16. Rus, Cristian (10 de octubre de 2018). «Microsoft cede 60.000 patentes que dejarán de ser una amenaza para Linux y el Open Source». Xataka. Consultado el 7 de abril de 2019. 
  17. Sabán, Antonio (29 de octubre de 2018). «IBM compra Red Hat en una histórica operación de 34.000 millones de dólares». Genbeta. Consultado el 7 de abril de 2019. 
  18. «The Open Source Definition | Open Source Initiative». opensource.org. Consultado el 12 de octubre de 2016. 
  19. «About». Open Source Ecology (en inglés estadounidense). 7 de febrero de 2014. Consultado el 12 de octubre de 2016. 

Enlaces externos

Other Languages
Afrikaans: Oopbronkode
العربية: مصدر مفتوح
asturianu: Códigu abiertu
azərbaycanca: Açıq kod
български: Отворен код
català: Codi obert
Deutsch: Open Source
Esperanto: Malferma kodo
euskara: Kode ireki
français: Open source
hrvatski: Otvoreni kod
Bahasa Indonesia: Sumber terbuka
italiano: Open source
Lëtzebuergesch: Open Source
lietuvių: Atvirasis kodas
Bahasa Melayu: Sumber terbuka
Plattdüütsch: Open Source
Nederlands: Open source
norsk nynorsk: Open kjeldekode
português: Código aberto
sicilianu: Surgenti aperta
srpskohrvatski / српскохрватски: Otvoreni kod
Simple English: Open source
slovenčina: Open source
slovenščina: Odprta koda
српски / srpski: Отворен код
тоҷикӣ: Матни боз
Türkçe: Açık kaynak
ייִדיש: אפענער קאד