El software de código abierto (OSS) se refiere a programas informáticos distribuidos bajo una licencia que otorga a los usuarios derechos explícitos para utilizar, examinar, modificar y difundir tanto el software como su código fuente subyacente sin restricciones de propósito o destinatario. Este tipo de software a menudo surge de procesos de desarrollo colaborativos y de acceso público, lo que ejemplifica la colaboración abierta en la que un número potencialmente ilimitado de personas capacitadas pueden contribuir en línea. La transparencia que ofrece el acceso al código fuente mejora significativamente la confianza del público en la integridad del software.
Software de código abierto (OSS) es software informático que se publica bajo una licencia en la que el titular de los derechos de autor otorga a los usuarios los derechos de usar, estudiar, cambiar y distribuir el software y su código fuente a cualquier persona y para cualquier propósito. El software de código abierto puede desarrollarse de manera pública y colaborativa. El software de código abierto es un ejemplo destacado de colaboración abierta, lo que significa que cualquier usuario capaz puede participar en línea en el desarrollo, lo que hace que el número de posibles contribuyentes sea indefinido. La capacidad de examinar el código facilita la confianza del público en el software.
El desarrollo de software de código abierto fomenta la integración de diversos puntos de vista, extendiéndose más allá del alcance de una única entidad corporativa. Una evaluación de 2024 estimó la contribución económica del software de código abierto a las empresas en 8,8 billones de dólares, lo que indica que las empresas incurrirían en gastos 3,5 veces mayores que sus desembolsos actuales si no aprovecharan las soluciones de código abierto.
El código de código abierto brinda oportunidades para el examen académico y permite a los usuarios finales competentes personalizar el software de acuerdo con sus requisitos específicos, de manera análoga a cómo funcionan los scripts de usuario y las hojas de estilo personalizadas para los sitios web. Posteriormente, estas modificaciones pueden publicarse como una "bifurcación" para otros usuarios que comparten preferencias similares o proponerse directamente como mejoras a través de "solicitudes de extracción".
Definiciones
La definición de la Iniciativa de Código Abierto (OSI) es reconocida globalmente por numerosos gobiernos como el estándar o punto de referencia de facto. La OSI emplea La definición de código abierto para evaluar la elegibilidad de una licencia de software para la clasificación de código abierto. Esta definición se originó en las Directrices de software libre de Debian, escritas y adaptadas principalmente por Bruce Perens. En particular, la formulación de Perens no se basó en las "cuatro libertades" articuladas por la Free Software Foundation (FSF), ya que estos principios obtuvieron un reconocimiento generalizado en un período posterior.
Según la definición de Perens, código abierto denota una licencia de software integral que proporciona acceso público al código fuente, imponiendo restricciones mínimas o nulas a su utilización y alteración. Una característica fundamental del código abierto es su imposición deliberada de muy pocas restricciones de uso o distribución por parte de cualquier entidad o individuo, facilitando así el desarrollo y la evolución acelerados del software.
Feller et al. (2005) afirman que las designaciones "software libre" y "software de código abierto" son apropiadas para "productos de software distribuidos bajo términos que permiten a los usuarios" emplear, modificar y redistribuir el software "de cualquier manera que consideren apropiada, sin necesidad de pagar regalías o honorarios al autor(es) por llevar a cabo estas actividades específicas".
Aunque inicialmente aceptó el concepto, Richard Stallman de la Free Software Foundation (FSF) ahora rechaza inequívocamente la aplicación de "Open Source" a lo que la FSF denomina "software libre". Si bien reconoce que ambos términos delinean "casi la misma categoría de software", Stallman considera que su equivalencia es inexacta y engañosa. Además, Stallman objeta el pragmatismo declarado de la Open Source Initiative, expresando preocupación de que los ideales fundamentales de libertad y comunidad inherentes al software libre se vean amenazados por las concesiones a los estrictos estándares de la FSF para la libertad del software. La FSF postula que el software libre constituye un subconjunto del software de código abierto; Richard Stallman aclaró esta distinción al señalar que el software de gestión de derechos digitales (DRM), por ejemplo, puede desarrollarse como código abierto, pero no otorga libertad a los usuarios (en lugar de eso, impone restricciones), lo que lo descalifica como software libre.
Desarrollo de software de código abierto
Modelo de desarrollo
En su influyente ensayo de 1997, La catedral y el bazar, el influyente colaborador de código abierto Eric S. Raymond propuso un paradigma de desarrollo para OSS denominado modelo bazar. Raymond comparó metafóricamente el desarrollo de software realizado mediante metodologías tradicionales con la construcción de una catedral, caracterizada por esfuerzos meticulosos y aislados realizados por individuos o pequeños equipos. Abogó por la adopción del estilo bazar para todo el desarrollo de software, enfatizando su adaptación a diversos objetivos y metodologías.
Dentro del paradigma de desarrollo tradicional, que Raymond denominó modelo catedral, el desarrollo procede de forma centralizada. Los roles están explícitamente delineados y abarcan a las personas dedicadas al diseño (arquitectos), los responsables de la gestión del proyecto y el personal responsable de la implementación. Las prácticas convencionales de ingeniería de software suelen adherirse a este modelo de catedral.
Por el contrario, el modelo de bazar presenta un enfoque distinto. En este paradigma, los roles no están definidos rígidamente. Se espera que el software desarrollado bajo el modelo de bazar manifieste las siguientes características propuestas:
- Usuarios como codesarrolladores: Los usuarios son considerados codesarrolladores y, por lo tanto, se les debe conceder acceso al código fuente del software. Además, se anima a los usuarios a contribuir con adiciones, correcciones de código, informes de errores y documentación. Aumentar el número de codesarrolladores acelera la evolución del software. La Ley de Linus postula que con un escrutinio suficiente, todos los errores se vuelven evidentes. Esto implica que una revisión exhaustiva del código fuente por parte del usuario descubrirá y facilitará la resolución de todos los defectos. Algunos usuarios poseen habilidades avanzadas de programación y la máquina de cada usuario funciona como un entorno de prueba adicional, lo que ayuda a descubrir y rectificar nuevos errores.
- Lanzamientos tempranos: La versión inicial del software debe publicarse lo antes posible para maximizar el potencial de atraer a los primeros codesarrolladores.
- Integración frecuente: las modificaciones del código deben integrarse (fusionarse en una base de código compartida) con alta frecuencia para evitar la sobrecarga sustancial asociada con la resolución de numerosos errores al final del ciclo de vida del proyecto. Algunos proyectos de código abierto implementan compilaciones nocturnas, donde la integración se produce automáticamente.
- Versiones múltiples: Se deben mantener al menos dos versiones de software distintas: una versión menos estable y con muchas funciones, y una versión más estable con menos funciones. La versión menos estable, a menudo denominada versión de desarrollo, está dirigida a usuarios que buscan acceso inmediato a las últimas funcionalidades y que están dispuestos a aceptar los riesgos de utilizar código menos probado. Luego, estos usuarios pueden funcionar como codesarrolladores informando errores y enviando correcciones.
- Alta modularización: el diseño arquitectónico del software debe ser altamente modular, permitiendo el desarrollo paralelo de componentes independientes.
- Estructura dinámica de toma de decisiones: Un marco de toma de decisiones adaptable, ya sea formal o informal, es esencial para tomar decisiones estratégicas que respondan a los requisitos cambiantes de los usuarios y otros factores influyentes. Este enfoque contrasta con metodologías como la programación extrema.
El proceso de desarrollo de código abierto comienza con la obtención de requisitos, donde los desarrolladores evalúan la necesidad de nuevas funciones o correcciones de errores dentro de su proyecto. Esta fase se ve facilitada por la comunicación con la comunidad de software de código abierto (OSS) a través de canales como sistemas de seguimiento e informe de errores, listas de correo y páginas de proyectos. Posteriormente, los desarrolladores de OSS seleccionan o se les asigna una tarea y formulan una solución. Dada la multiplicidad de soluciones potenciales en OSS, el enfoque óptimo requiere una deliberación cuidadosa, incorporando a menudo la retroalimentación de los pares. Luego, el desarrollador procede a desarrollar y confirmar el código, que posteriormente es probado y revisado por pares. La retroalimentación de integración continua permite a los desarrolladores perfeccionar y evolucionar su código. Una vez que el liderazgo del proyecto y la comunidad consideren que el proyecto es satisfactorio, podrá someterse a una publicación parcial, acompañada de instrucciones documentadas para el usuario. Cuando un proyecto se prepara para su lanzamiento completo, se "congela" y sólo se permiten correcciones de errores críticos o parches de seguridad. Finalmente, el proyecto se publica por completo y los cambios posteriores se limitan a la resolución de errores menores.
Ventajas
La implementación de código abierto de un estándar puede mejorar significativamente su adopción y garantizar su viabilidad a largo plazo. Este enfoque frecuentemente cultiva la lealtad de los desarrolladores, ya que los contribuyentes experimentan un mayor sentido de participación y propiedad tanto en el proceso de desarrollo como en el producto final.
Además, el software de código abierto (OSS) generalmente requiere gastos reducidos en marketing y servicios logísticos. El OSS también puede servir como herramienta estratégica para promover la imagen de marca de una empresa, incluidas sus ofertas comerciales. La metodología de desarrollo de OSS es ampliamente reconocida por su capacidad para producir software confiable y de alta calidad de manera eficiente y rentable.
El desarrollo de código abierto ofrece un potencial sustancial para acelerar la innovación y generar valor social. Por ejemplo, una política en Francia que incentivaba la preferencia del gobierno por el software gratuito de código abierto generó casi 600.000 contribuciones de OSS al año, creando así valor social a través de un aumento en la cantidad y calidad del software de código abierto. Esta política también resultó en un aumento estimado de hasta un 18 % en las nuevas empresas tecnológicas y un aumento del 14 % en el empleo dentro del sector de TI.
El software de código abierto (OSS) demuestra una alta confiabilidad, particularmente cuando miles de programadores independientes contribuyen a sus pruebas y resolución de errores. Su independencia de la entidad creadora o del autor original garantiza el desarrollo continuo de su comunidad de usuarios, incluso en caso de disolución de la empresa original.
OSS ofrece una flexibilidad significativa, ya que su arquitectura modular permite a los programadores desarrollar interfaces personalizadas e integrar nuevas funcionalidades. Este entorno colaborativo, caracterizado por una convergencia de diversas perspectivas, objetivos corporativos y aspiraciones individuales, fomenta una innovación sustancial.
Además, el desarrollo de software libre puede priorizar requisitos puramente técnicos, sin la carga de presiones comerciales que frecuentemente comprometen la calidad del software. El desarrollo de software tradicional, influenciado por las demandas del mercado, a menudo prioriza las características visibles para el cliente sobre los requisitos de seguridad críticos, que son menos evidentes para los usuarios finales.
Herramientas de desarrollo
Dentro del desarrollo de software de código abierto, se emplean varias herramientas para facilitar tanto la creación de productos como el proceso general de desarrollo.
Los sistemas de control de versiones (VCS), frecuentemente de código abierto, son fundamentales para gestionar archivos de código fuente y rastrear modificaciones dentro de proyectos de software, promoviendo así el desarrollo colaborativo. Estos sistemas incluyen sistemas de control de versiones centralizados (CVCS), que dependen de un único repositorio central, y sistemas de control de versiones distribuidos (DVCS), donde cada usuario mantiene un repositorio local. Ejemplos de CVCS incluyen el Sistema de Versiones Concurrentes (CVS) y Subversion (SVN), mientras que Git se erige como un DVCS destacado y ampliamente adoptado. Los repositorios de proyectos normalmente se alojan y difunden a través de plataformas dedicadas a alojar el código fuente, como GitHub o GitLab.
Los proyectos de código abierto aprovechan utilidades como los rastreadores de problemas para optimizar y organizar sus esfuerzos de desarrollo. Ejemplos destacados de sistemas de seguimiento de errores incluyen Bugzilla y Redmine.
Las herramientas de comunicación, incluidas las listas de correo y el Internet Relay Chat (IRC), facilitan la coordinación y la discusión entre los desarrolladores sobre los defectos del software. Por el contrario, las páginas web del proyecto, las páginas wiki, las listas de hojas de ruta y los grupos de noticias sirven para difundir información del proyecto dirigida principalmente a los usuarios finales.
Oportunidades de participación
Contribuyendo
Los participantes en proyectos OSS normalmente asumen varios roles, comenzando con el liderazgo del proyecto, que mantiene el control central sobre la ejecución. Después de esto están los contribuyentes principales, que poseen experiencia y autoridad significativas, que a menudo guían a otros contribuyentes. Los contribuyentes complementarios, aunque tienen menos experiencia y autoridad, brindan contribuciones regulares y esenciales para el avance del proyecto. Finalmente, los nuevos contribuyentes, inicialmente con menos experiencia, pueden convertirse en contribuyentes regulares a través de tutoría y orientación.
Las contribuciones al software de código abierto abarcan una amplia gama de funciones, que incluyen programación, mantenimiento, diseño y pruebas de interfaz de usuario, diseño web, clasificación de errores, diseño y pruebas de accesibilidad, diseño de experiencia de usuario (UX), pruebas de código y revisión y pruebas de seguridad. Además, existen numerosas vías para participar en proyectos OSS que no requieren conocimientos de codificación, como autoría y edición de documentación, traducción, gestión de proyectos, organización y coordinación de eventos, marketing, gestión de lanzamientos, gestión comunitaria y relaciones públicas y divulgación.
Las contribuciones financieras representan otro método importante para que individuos y organizaciones apoyen proyectos de código abierto. Plataformas como Open Collective permiten a las personas brindar apoyo mensual recurrente a sus proyectos preferidos. Las entidades institucionales, incluido el Sovereign Tech Fund, asignan importantes recursos financieros para respaldar las herramientas utilizadas por organismos gubernamentales, como el gobierno alemán. Además, la Fundación Nacional de Ciencias ha iniciado el programa Pathways to Enable Open-Source Ecosystems (POSE) para fomentar la innovación de código abierto.
Participación de la industria
La adopción industrial de software de código abierto está experimentando un aumento continuo. El OSS goza de considerable popularidad en diversos sectores, incluidos los de telecomunicaciones, aeroespacial, sanitario y de entretenimiento multimedia, principalmente debido a sus ventajas inherentes. La propensión a la adopción de OSS es mayor en organizaciones más grandes y se correlaciona con la utilización de TI, la eficiencia operativa y la productividad de los empleados de una empresa.
Las industrias adoptan con frecuencia el software de código abierto (OSS) por sus diversas ventajas, incluida una sólida funcionalidad administrativa, soporte de ventas mejorado, investigación y desarrollo facilitados, funciones de software avanzadas, capacidades de implementación rápida, portabilidad multiplataforma y la eliminación de las complejidades de la gestión de licencias comerciales. Además, los importantes beneficios abarcan menores gastos de hardware y un menor costo total de propiedad.
Organizaciones clave
Numerosas organizaciones a nivel mundial contribuyen al avance y la expansión de los movimientos de software libre y de código abierto. Estas entidades están comprometidas con objetivos como la educación y difusión tecnológica. Según un ex vicepresidente de la Open Source Initiative, entre las organizaciones estadounidenses más destacadas se incluyen la Free Software Foundation, Software Freedom Conservancy, la Open Source Initiative y Software in the Public Interest. En Europa, organizaciones notables incluyen la Free Software Foundation Europe, los proyectos de código abierto EU (OSP) y OpenForum Europe (OFE). Linux Australia representa una organización australiana, mientras que Asia presenta Asia de código abierto y FOSSAsia. Las organizaciones africanas incluyen Software libre y de código abierto para África (FOSSFA) y OpenAfrica. Organizaciones anfitrionas de Asia Central y del Sur como FLISOL y GRUP de usuarios de software libre Perú. Más allá de estos ejemplos, muchas otras organizaciones se dedican a promover el software de código abierto.
Consideraciones legales y económicas
Licencias de software
Los productos de software libre y de código abierto (FOSS) normalmente se rigen por dos modelos de licencia principales: licencias permisivas y licencias copyleft. Ambos modelos se diferencian de las licencias de propiedad porque generalmente otorgan a los usuarios un acceso más amplio al software y permiten la creación de trabajos derivados, sujetos a los términos y condiciones específicos de cada licencia. Las licencias permisivas permiten a los destinatarios del software ejercer los derechos de autor del autor sin exigir el uso de la licencia idéntica para su distribución posterior. Ejemplos ilustrativos incluyen las licencias BSD, MIT y Apache. Por el contrario, las licencias copyleft estipulan que los destinatarios deben aplicar la misma licencia al menos a partes de sus obras distribuidas. Las licencias copyleft fuertes exigen que todas las obras derivadas se adhieran a la licencia original, mientras que las licencias copyleft débiles imponen este requisito sólo en circunstancias específicas. La familia de licencias GNU, junto con las licencias MPL y EPL, ejemplifican esta categoría. Las características comunes compartidas por los marcos de licencias tanto permisivos como copyleft incluyen la provisión de amplias concesiones de derechos de autor, la obligación de que los destinatarios conserven los avisos de derechos de autor y el requisito de que una copia de la licencia acompañe al código distribuido.
En 2008 se estableció un importante precedente legal para el software de código abierto con el caso Jacobson v. Katzer, que confirmó los términos de la Licencia Artística, específicamente en lo que respecta a la atribución y la identificación de modificaciones. Este fallo solidificó la aplicabilidad de las condiciones de la licencia de código abierto según la ley de derechos de autor cuando se incumplen esas condiciones. Dadas las similitudes estructurales entre la Licencia Artística y otras licencias de software de código abierto, esta decisión judicial sentó un precedente ampliamente aplicable.
Ejemplos ilustrativos de software libre y licencias de código abierto incluyen licencias Apache, licencias BSD, licencias públicas generales GNU, licencia pública general reducida GNU, licencia MIT, licencia pública Eclipse y licencia pública Mozilla.
Desafíos legales
La regulación del software contiene varias áreas ambiguas que afectan significativamente al software de código abierto. Estas incluyen cuestiones fundamentales como si el software constituye un bien o un servicio, la definición precisa de una "modificación", la distinción entre gobernanza vía contrato versus licencia, y las complejidades de la propiedad y los derechos de uso. Aunque se han logrado avances en la solución de algunas de estas cuestiones, con frecuencia generan más consultas. La persistencia de estas incertidumbres regulatorias afecta negativamente a las industrias impulsadas por la tecnología en general.
A lo largo de la historia legal del software, un extenso debate se centró en si protegerlo como propiedad intelectual bajo la ley de patentes, la ley de derechos de autor o mediante el establecimiento de un marco regulatorio distinto. Al final, la ley de derechos de autor surgió como el estándar predominante, y los programas de computadora se clasificaron como una forma de obra literaria, aunque con adaptaciones específicas de regulaciones únicas.
El software normalmente se clasifica en código fuente y código objeto, los cuales generalmente se consideran protegibles, aunque las interpretaciones legales de esta definición varían. Ciertas jurisdicciones modifican esta conceptualización para adaptarla a sus objetivos específicos. Por ejemplo, el Tribunal de Justicia de las Comunidades Europeas excluye explícitamente la funcionalidad, el lenguaje de programación o el formato de archivo de datos de un programa de su definición de programa informático. Esta limitación en los aspectos de protección del software promueve un paradigma de código abierto para la utilización del software. Estados Unidos, en particular, adopta un enfoque abierto respecto del software, siendo el origen de la mayoría de las licencias de código abierto. Sin embargo, esto ha intensificado el énfasis en los derechos de patente dentro de estas licencias, lo que ha generado una oposición significativa de la comunidad de software de código abierto (OSS), que favorece formas alternativas de protección de la propiedad intelectual.
Otra preocupación son las medidas de protección tecnológica (TPM) y las técnicas de gestión de derechos digitales (DRM), que recibieron reconocimiento legal y protección internacional en virtud del Tratado de la Organización Mundial de la Propiedad Intelectual (OMPI) de 1996. Los defensores del software de código abierto se opusieron a estas tecnologías, argumentando que podrían restringir a los usuarios finales más allá del alcance de la ley de derechos de autor. En respuesta a estas objeciones, Europa implementó controles legales sobre el TPM, un avance ampliamente considerado como un triunfo para los defensores del OSS.
Implicaciones económicas y empresariales
En las comunidades de código abierto, el desarrollador normalmente conserva la propiedad del proceso de desarrollo de software en curso en lugar del producto de software final en sí. Esta dinámica fomenta un futuro abierto para el software, complicando las nociones tradicionales de propiedad y propiedad intelectual dentro del software de código abierto (OSS). Sin embargo, los mecanismos de concesión de licencias y marcas pueden salvaguardar el software de la apropiación no autorizada, manteniendo así su condición de bien público. El software de código abierto se considera un bien público porque es universalmente accesible y su valor para los demás no disminuye cuando un individuo lo descarga. De manera singular, el software de código abierto se aprecia en valor a través de un mayor uso y contribuciones, en lugar de agotarse como recurso. Este fenómeno a menudo se atribuye a conceptos como inversión en reputación y efectos de red.
El marco económico del software de código abierto postula que los desarrolladores contribuyen con sus esfuerzos a los proyectos, generando así beneficios públicos. Los desarrolladores seleccionan proyectos basándose en una evaluación de las ventajas o desventajas percibidas, incluida la mejora de la reputación o el valor intrínseco del proyecto. Si bien las motivaciones de los desarrolladores son diversas, una idea crucial es que la compensación financiera no es el único incentivo, ni siquiera el principal.
Dado que la teoría económica convencional se centra principalmente en el consumo de recursos finitos, la dinámica del software de código abierto (OSS) puede ser difícil de comprender. Dentro del OSS, los productores se transforman efectivamente en consumidores al obtener beneficios de las contribuciones de sus proyectos. Por ejemplo, un desarrollador obtiene reconocimiento entre pares por una contribución exitosa a un proyecto OSS. Además, las ventajas sociales y las interacciones inherentes al OSS son difíciles de cuantificar dentro de los modelos económicos tradicionales. Además, la innovación tecnológica continua altera perpetuamente las propuestas de valor y las perspectivas, haciendo que los modelos económicos sean inadecuados para predecir comportamientos sociales asociados.
A pesar de las complejidades teóricas que presenta el OSS para los modelos económicos, puede entenderse como un esfuerzo social sostenible que necesita diversos recursos, incluidos tiempo, capital financiero, tecnología y contribuciones. Numerosos desarrolladores han aprovechado la tecnología financiada por instituciones como universidades y gobiernos, incluso cuando estas organizaciones se benefician simultáneamente de la producción de OSS. Con la expansión del OSS, los sistemas híbridos que integran componentes de código abierto y propietarios son cada vez más frecuentes.
Desde mediados de la década de 2000, un número cada vez mayor de empresas de tecnología han adoptado el software de código abierto (OSS). Ejemplos ilustrativos incluyen la iniciativa de Dell de vender computadoras con Linux preinstalado y el lanzamiento de Microsoft de un sistema operativo basado en Linux, a pesar de su antagonismo histórico hacia el movimiento OSS. Sin embargo, estas corporaciones frecuentemente restringen su utilización de OSS a aplicaciones específicas, lo que genera preocupación de que las empresas puedan estar explotando OSS sin contribuciones recíprocas.
Aplicaciones gubernamentales
Los gobiernos de todo el mundo muestran un interés considerable en la adopción y promoción del software de código abierto, atribuido principalmente a sus numerosas ventajas. Por ejemplo, el gobierno del Reino Unido estableció una política en 2004, reafirmada en 2009, que aboga por el código abierto y los estándares abiertos, afirmando que "el gobierno considerará activa y justamente las soluciones de código abierto junto con las patentadas". Sin embargo, la ciberseguridad presenta una preocupación importante. Más allá de las vulnerabilidades inherentes, también existe la posibilidad de que se produzcan ataques externos maliciosos. En consecuencia, estos temores de seguridad han aumentado el compromiso gubernamental en la gobernanza del software. Sin embargo, este problema se manifiesta de manera diferente entre países, y cada país desarrolla enfoques distintos y politizados para el software de código abierto y sus objetivos de implementación. Estados Unidos, por ejemplo, prioriza la seguridad nacional en sus estrategias de implementación de software de código abierto, impulsado por las amenazas percibidas por el aumento de la actividad de código abierto en naciones como China y Rusia. El Departamento de Defensa evalúa varios criterios para utilizar software de código abierto, incluido su origen y mantenimiento por parte de entidades confiables, la garantía de mantenimiento continuo, la presencia de dependencias de subcomponentes, la seguridad e integridad de los componentes y la posible influencia gubernamental extranjera.
Las inversiones gubernamentales en tecnologías críticas, incluidos sistemas operativos, semiconductores, computación en la nube e inteligencia artificial, constituyen otra consideración pertinente con respecto al software de código abierto. Estos dominios tecnológicos influyen inherentemente en la cooperación global, introduciendo así mayores desafíos de seguridad y ramificaciones políticas. En consecuencia, numerosas naciones deben conciliar la búsqueda de innovación tecnológica con los riesgos de la dependencia tecnológica dentro de las asociaciones internacionales. Un ejemplo notable es el caso de Huawei, una empresa china que depende de tecnologías de código abierto, que inició el desarrollo de su sistema operativo propietario, Harmony OS, en 2019 después de que se le restringiera el uso del sistema Android de Google.
Alemania inauguró recientemente un Fondo Soberano de Tecnología, diseñado para reforzar la gobernanza y el mantenimiento del software implementado en la nación.
El movimiento del software abierto
Contexto histórico
Durante las etapas incipientes de la informática, particularmente durante las décadas de 1950 y 1960, los programadores y desarrolladores participaban habitualmente en el intercambio de software, fomentando el aprendizaje mutuo y contribuyendo al progreso del campo. Los sistemas pioneros, como Unix, otorgaron a los usuarios acceso directo a su código fuente, facilitando así el desarrollo y la modificación colaborativos. Sin embargo, el surgimiento de la industria del software comercial en las décadas de 1970 y 1980 precipitó un declive en este espíritu de intercambio abierto, a medida que los modelos de software propietario ganaron ascendencia. A pesar de este cambio de paradigma, las entidades académicas y de investigación defendieron persistentemente las metodologías colaborativas de desarrollo de software.
El movimiento de código abierto se originó a partir de los esfuerzos de entusiastas programadores expertos, a menudo identificados como hackers o parte de la cultura hacker. Richard Stallman, una figura destacada entre estos entusiastas, encabezó el movimiento del software libre, que sirvió como precursor del movimiento del código abierto. En 1984, Stallman renunció al MIT para desarrollar GNU, un sistema operativo libre, motivado por la supresión de la cultura de programación colaborativa en su laboratorio debido al software propietario que restringía el intercambio y la mejora del código fuente. La compatibilidad UNIX de GNU aseguró la familiaridad de los entusiastas de los programadores. Sin embargo, el término "software libre" elegido por Stallman causó ambigüedad inicial, ya que aclaró que significaba "libre como en la libertad de expresión", enfatizando la libertad sobre el costo. Este concepto de libertad se amplió posteriormente a cuatro libertades esenciales. El desarrollo de GNU fomentó prácticas de código abierto, incluida la integración de código fuente externo, correcciones de errores impulsadas por la comunidad y sugerencias de nuevas funciones. En 1985, Stallman estableció la Free Software Foundation (FSF) para defender las modificaciones del software y contribuir al desarrollo de GNU. Para salvaguardar su trabajo de la explotación patentada, Stallman concibió el "copyleft", un marco de licencia que permite un uso amplio bajo condiciones específicas. Esto llevó a la creación de la Licencia Pública General GNU (GNU GPL) en 1989, que se actualizó en 1991. Posteriormente, el sistema GNU se integró con el kernel de Linux, desarrollado por Linus Torvalds, en 1991, abordando la falta de un kernel de GNU. Este sistema operativo combinado ahora se conoce comúnmente como Linux. Al mismo tiempo, surgieron muchos otros proyectos y licencias de software libre, cada uno de los cuales presentaba distintas interpretaciones del software libre y sus implicaciones éticas con respecto a las alternativas propietarias, como Berkeley Software Distribution, TeX y X Window System.
A medida que el software libre evolucionó, la Free Software Foundation (FSF) exploró estrategias para introducir sus principios y ventajas percibidas en el sector del software comercial. Una conclusión clave fue que el activismo social de la FSF no resonó entre las corporaciones, lo que requirió un cambio de nombre del movimiento de software libre para subrayar los beneficios comerciales del desarrollo colaborativo de software y el intercambio de código fuente. En 1998, durante una reunión de defensores del software libre, Christine Peterson propuso el término "código abierto". Muchos asistentes creían que el "software libre" era ambiguo para los nuevos usuarios y obstaculizaba la participación de la industria, lo que llevó a su rápida adopción del "código abierto". Esto llevó al establecimiento de la Open Source Initiative (OSI) y su marco definitivo para el software de código abierto. La definición de OSI ahora es reconocida internacionalmente por varios gobiernos como la definición estándar o de facto. Esta definición se derivó principalmente de las Directrices de software libre de Debian, escritas y adaptadas por Bruce Perens. Una distinción notable entre la definición de OSI y la definición de software libre es la concesión de la OSI para la integración de software propietario y su disposición para una mayor flexibilidad en materia de licencias. En consecuencia, algunas personas, incluido Stallman, se alinean más estrechamente con el concepto original de software libre debido a su firme oposición ética al software propietario, a pesar de importantes puntos en común operativos entre los dos movimientos.
Si bien la Iniciativa de Código Abierto promovió activamente la adopción de la nueva terminología y sus principios subyacentes, los proveedores de software comercial inicialmente percibieron el concepto de software distribuido libremente y el acceso universal al código fuente de la aplicación como una amenaza creciente. Por ejemplo, en 2001 un ejecutivo de Microsoft calificó al código abierto de "destructor de la propiedad intelectual". Históricamente, el software libre y de código abierto (FOSS) operaba en gran medida fuera del desarrollo de software privado convencional. Sin embargo, se ha producido una transformación significativa en la filosofía corporativa con respecto al desarrollo de FOSS, y ahora grandes corporaciones como Microsoft están estableciendo presencias oficiales de código abierto en línea. Empresas como IBM, Oracle y State Farm representan algunos ejemplos de entidades con una participación pública sustancial en el competitivo mercado contemporáneo de código abierto.
Futuro
La trayectoria de la comunidad de software de código abierto (OSS), y por extensión de la comunidad de software libre, presenta un resultado paradójico: un éxito significativo coexiste con un considerable debate interno sobre sus principios fundamentales. Por ejemplo, plataformas como Android y Ubuntu son ampliamente reconocidas como logros fundamentales en el ascenso del software de código abierto desde su estatus periférico a principios de la década de 2000 como innovación tecnológica hasta su prominencia generalizada. Sin embargo, ciertas facciones dentro de la comunidad consideran estos ejemplos como representaciones problemáticas del OSS. Sus críticas surgen de cuestiones que incluyen la marginación del núcleo de código abierto de Android por parte de Google y sus socios, la adopción de una licencia de Apache que facilitó una bifurcación extensa y, en consecuencia, disminuyó las oportunidades de colaboración dentro del ecosistema de Android, el énfasis de Ubuntu en la conveniencia del usuario a expensas de la libertad del software y la inclusión de funcionalidades de seguimiento de usuarios dentro de Ubuntu para objetivos de marketing comercial.
El software de código abierto (OSS) ha logrado una adopción significativa dentro del sector empresarial, y el 78% de las empresas reportan una dependencia parcial o total del software libre y de código abierto. (FOSS) para sus operaciones. Esta creciente popularidad se ve aún más subrayada por el hecho de que Microsoft, históricamente un destacado crítico del OSS, ahora lo integre en sus sistemas propietarios. Sin embargo, este mismo éxito ha generado nuevos desafíos e investigaciones críticas que darán forma a la trayectoria futura del OSS. La comunidad se enfrenta a cuestiones fundamentales relativas a la definición, los objetivos a los que se aspira y las medidas de protección necesarias para el OSS, si dicha protección está realmente justificada. Si bien puede parecer que el impulso del movimiento de código libre y abierto ha alcanzado un equilibrio de mercado, esta estabilización percibida no significa su conclusión; más bien, necesita un discurso teórico extenso para delinear su evolución futura.
Análisis comparativo con paradigmas de desarrollo y licencias de software alternativo
Software propietario
El software de código abierto (OSS) se distingue fundamentalmente del software propietario por su disponibilidad pública, la ausencia de tarifas de licencia y el permiso explícito para modificaciones y distribuciones bajo términos de licencia específicos. Estas características inherentes sirven colectivamente para mitigar la formación de monopolios sobre cualquier producto OSS, un marcado contraste con las tendencias monopolísticas que a menudo se observan como objetivo estratégico dentro del sector del software propietario. El software propietario normalmente limita las opciones de los clientes, lo que obliga a los usuarios a comprometerse con el software existente, actualizarlo dentro del mismo ecosistema o incurrir en costos asociados con el cambio a soluciones alternativas. Esta dinámica a menudo da como resultado que las preferencias de los clientes estén dictadas por consideraciones financieras. El escenario óptimo para un proveedor de software propietario implica lograr un "bloqueo del proveedor", donde los clientes no pueden o no quieren hacer la transición a un software diferente debido a costos prohibitivos, garantizando así un patrocinio continuo.
En el paradigma del software propietario, la provisión de correcciones de errores sigue siendo prerrogativa exclusiva del proveedor, mientras que la migración de la plataforma generalmente requiere una compra adicional. Además, todo el ciclo de vida del producto depende del proveedor, quien conserva la autoridad para descontinuar el software en cualquier momento. Una limitación crítica del software propietario es la retención de su código fuente, lo que excluye cualquier alteración iniciada por el usuario. Para los usuarios organizacionales, esto presenta riesgos de seguridad sustanciales e ineficiencias operativas, ya que no pueden adaptar el producto a requisitos operativos específicos. Además, la ausencia de acceso al código fuente significa que las vulnerabilidades potenciales o los mecanismos de filtración de datos no revelados dentro del software permanecen indetectables e inmodificables por parte del usuario final.
Software libre
Según la definición de la Open Source Initiative (OSI), el código abierto se refiere a un marco integral de licencias de software que otorga acceso público al código fuente, imponiendo restricciones mínimas o nulas sobre su utilización y modificación. Una característica definitoria del código abierto es su deliberada falta de limitaciones estrictas en el uso o distribución por parte de cualquier entidad o individuo, una elección de diseño destinada a facilitar la evolución acelerada y la adopción generalizada del software.
Richard Stallman, una figura prominente en el movimiento del Software Libre y miembro de la Free Software Foundation (FSF), expresa su oposición a la aplicación del término "código abierto" a lo que él designa como "software libre". Si bien reconoce que ambos términos delinean en gran medida la misma categoría de software, Stallman sostiene que equipararlos es inexacto y potencialmente engañoso. Plantea que la distinción principal radica en los principios filosóficos subyacentes que transmite cada término: "código abierto" señala principalmente un enfoque en metodologías de desarrollo, mientras que "software libre" enfatiza una postura social y ética. A pesar de esta distinción conceptual, existe una superposición sustancial entre el software de código abierto y el software libre. Stallman critica además el pragmatismo profesado por la Open Source Initiative, expresando su preocupación de que comprometer los estándares idealistas de la FSF para la libertad del software podría poner en peligro los ideales fundamentales de libertad y comunidad inherentes al software libre. La FSF clasifica el software libre como un subconjunto del software de código abierto, y Richard Stallman lo ilustra al señalar que el software de gestión de derechos digitales (DRM), por ejemplo, puede desarrollarse como código abierto; sin embargo, debido a sus restricciones inherentes a los usuarios, no cumple con los criterios de software libre.
La Free Software Foundation (FSF) sostuvo que el "código abierto" introducía una clara ambigüedad, combinando la simple disponibilidad del código fuente con las libertades inherentes para utilizarlo, modificarlo y redistribuirlo. Por el contrario, el "software libre" enfrentó críticas debido a la polisemia de la palabra "libre", que se percibía como un impedimento para la adopción comercial, junto con su uso históricamente inconsistente.
En consecuencia, los desarrolladores han adoptado terminologías alternativas como software libre y de código abierto (FOSS) o software libre/libre y de código abierto (FLOSS) para caracterizar el software de código abierto que se adhiere simultáneamente a los principios de la libertad. software.
Software disponible en origen
El software puede distribuirse con su código fuente, que constituye instrucciones de programación legibles por humanos. Un programa se considera "fuente disponible" cuando su código fuente es accesible para su visualización. Sin embargo, para que el software califique como fuente disponible o FOSS, la accesibilidad del código fuente generalmente se limita a sus usuarios, no necesariamente al público en general. Si bien todo el software FOSS está inherentemente disponible en código fuente debido a las estipulaciones de la Definición de Código Abierto, lo contrario no es cierto; No todo el software disponible es FOSS. Por ejemplo, si el software con código fuente disponible no cumple otros criterios de la Definición de Código Abierto, como permitir modificación o redistribución, no califica como software libre.
Abastecimiento abierto
Una tendencia contemporánea entre las empresas de software implica el "código abierto", que implica convertir software previamente propietario en software de código abierto liberándolo bajo una licencia de código abierto. Ejemplos notables de empresas que adoptan esta estrategia incluyen a Google, Microsoft y Apple. Además, el término "código abierto" también puede denotar el acto de desarrollar o instalar software de código abierto. Los beneficios del código abierto son multifacéticos y destacan la atracción de contribuyentes externos que introducen perspectivas novedosas y habilidades para la resolución de problemas. Por el contrario, las desventajas abarcan el esfuerzo sustancial requerido para el mantenimiento de la comunidad, como garantizar la comprensibilidad del código fundamental, establecer canales de comunicación efectivos para nuevos desarrolladores y generar documentación completa para facilitar su integración. Sin embargo, un análisis de varios proyectos de código abierto reveló que, si bien los nuevos proyectos inicialmente atraen a numerosos participantes, una proporción significativa tiende a retirarse rápidamente y sus bifurcaciones derivadas a menudo carecen de un impacto sustancial.
Conceptos relacionados
Otros paradigmas de software que exhiben ciertas semejanzas con el código abierto incluyen shareware, software de dominio público, software gratuito y visores o lectores de software disponibles gratuitamente que no proporcionan código fuente. Sin embargo, estas categorías difieren del software de código abierto en cuanto a accesibilidad del código fuente, marcos de licencia, disposiciones de derechos de autor y costos asociados.
Aspectos socioculturales
Datos demográficos de los contribuyentes
Aunque los contribuyentes de software de código abierto (OSS) poseen la capacidad de colaboración internacional, las investigaciones indican una concentración predominante dentro de los principales grupos geográficos, como Silicon Valley, donde la colaboración ocurre principalmente internamente. Este fenómeno puede atribuirse al hecho de que una parte importante del grupo demográfico de contribuyentes de OSS está empleado en la industria del software, vinculando así la distribución geográfica de OSS con estructuras de redes sociales y profesionales que fomentan la colaboración. Dentro de estos grupos de redes sociales, el estado de un individuo puede influir en la aceptación del código, lo que podría generar sesgos de ubicación en la evaluación de las contribuciones. Además, las disparidades lingüísticas y culturales presentan impedimentos adicionales para la colaboración internacional. Los estudios también han revelado que, con la excepción de India, los países generalmente exhiben una mayor tasa de aceptación de código proveniente de contribuyentes dentro de sus propias fronteras nacionales, lo que sugiere una preferencia por colaboradores culturalmente congruentes.
En 2021, las naciones líderes en contribuciones de software de código abierto fueron, en orden descendente, Estados Unidos, China, Alemania, India y el Reino Unido. Un estudio independiente de 2021 identificó los países con mayor número de desarrolladores de OSS per cápita como Islandia, Suiza, Noruega, Suecia y Finlandia, también en orden descendente. A modo de comparación, en 2008, SourceForge estimó que los principales contribuyentes eran Estados Unidos, Alemania, el Reino Unido, Canadá y Francia. A pesar de numerosas investigaciones sobre la distribución geográfica y los patrones de contribución de los desarrolladores de OSS, este sigue siendo un dominio de investigación en evolución susceptible de diversas metodologías de medición. Por ejemplo, factores como la participación en las tecnologías de la información y las comunicaciones, la población nacional, la riqueza económica y la penetración del acceso a Internet han demostrado correlaciones con las contribuciones de OSS.
A pesar de los hallazgos de que la diversidad de género mejora la productividad del equipo, las mujeres que contribuyen a proyectos de software de código abierto (OSS) continúan encontrando prejuicios cuando su género es identificable. En 2002, las mujeres constituían sólo el 1,5% de los desarrolladores internacionales de software de código abierto, un marcado contraste con su representación del 28% en roles más amplios de la industria tecnológica, lo que subraya su significativa subrepresentación en el sector de desarrollo de software. Aunque las contribuciones de OSS carecen de requisitos previos formales, este sesgo de género puede persistir debido a una creencia predominante entre los contribuyentes de que el género debería ser irrelevante y que la calidad del código debería ser el único criterio de aceptación, lo que obstaculizaría la capacidad de la comunidad para abordar las disparidades sistémicas en la representación femenina. Sin embargo, un análisis más reciente de la participación femenina internacional en OSS de 2005 a 2021 indica una cifra del 9,8 %, y la mayoría son contribuyentes recientes, lo que sugiere un aumento potencial en la participación femenina.
Motivaciones
Los colaboradores participan en proyectos de software de código abierto (OSS) por diversas razones. La participación ofrece experiencia práctica en áreas críticas como codificación, seguimiento de problemas, control de versiones, comunicación y prácticas colaborativas. Más allá de las competencias técnicas, los contribuyentes también pueden familiarizarse con las prácticas industriales predominantes y las tecnologías emergentes. Dado que la mayoría de los proyectos de OSS están impulsados por voluntarios, la participación no implica empleo formal; sin embargo, los contribuyentes pueden cultivar una reputación profesional a través de su trabajo.
Disparidades
A pesar de la percepción histórica de la programación como una profesión dominada por las mujeres, persiste una brecha de género sustancial dentro de la informática. La identidad social afecta significativamente a las mujeres en la industria tecnológica, quienes a menudo experimentan inseguridad con respecto a la atención masculina no deseada, el acoso o la preocupación por parecer poco femeninas en su experiencia tecnológica, lo que afecta profundamente su confianza. Algunos participantes masculinos en el sector tecnológico expresan explícitamente creencias de que las mujeres no pueden integrarse a la cultura existente, lo que exacerba la inseguridad de las mujeres con respecto a su posición en la industria. Además, incluso en entornos de contribución voluntaria, como el software de código abierto, las mujeres frecuentemente asumen aspectos menos técnicos del proyecto, como pruebas manuales o documentación, a pesar de la evidencia de igualdad de productividad entre mujeres y hombres en las contribuciones de OSS. Los sesgos explícitos incluyen tiempos de retroalimentación prolongados, un mayor escrutinio del código y tasas de aceptación de código más bajas. Específicamente dentro de la comunidad de software de código abierto, las mujeres informan que el lenguaje sexualmente ofensivo es común y que su identidad como mujer a menudo recibe más atención que su condición de contribuyente de OSS. Abordar este sesgo resulta desafiante debido a la creencia predominante de que el género no debería importar, y muchos contribuyentes perciben los llamados a un trato especial para las mujeres como injustos y afirman que el éxito debe depender únicamente de las habilidades, lo que impide los esfuerzos hacia una mayor inclusión.
Adopción y aplicación
Proyectos clave
Los proyectos de software de código abierto son desarrollados y mantenidos de forma colaborativa por una red de programadores, frecuentemente voluntarios, y se utilizan ampliamente en productos comerciales y gratuitos.
- Unix: Unix, un sistema operativo desarrollado por AT&T, sirvió como precursor del software de código abierto, ya que la revolución del software gratuito y de código abierto comenzó con los desarrolladores que se esforzaban por crear sistemas operativos independientes del código Unix. Creado en la década de 1960, antes de la comercialización del software y la conceptualización formal del software de código abierto, Unix no fue clasificado como un verdadero proyecto de código abierto. Se originó como una iniciativa de investigación antes de su comercialización a mediados de los años 1980. Antes de su comercialización, Unix encarnaba muchos ideales centrales para la revolución del software libre y de código abierto, incluida la colaboración descentralizada entre usuarios globales, lanzamientos continuos y una cultura comunitaria que expresaba desdén por el software propietario.
- Berkeley Software Distribution (BSD) se originó en 1978 como una variante de Unix, integrando el código Unix con desarrollos de los laboratorios de Berkeley para mejorar la funcionalidad. Haciendo hincapié en mayores capacidades, BSD compartió públicamente sus importantes innovaciones con el sistema operativo principal Unix, ejemplificando la característica de uso compartido de código público y gratuito del software libre contemporáneo. A medida que Unix se comercializó durante la década de 1980, los desarrolladores y miembros de la comunidad que se oponían al software propietario cambiaron su enfoque hacia BSD, transformándolo en un sistema operativo independiente del código propietario de Unix. La versión final de BSD se lanzó en 1995.
- GNU, un sistema operativo libre, fue establecido por Richard Stallman en 1984, su nombre significa "Gnu's Not Unix". El proyecto tenía como objetivo desarrollar una alternativa a Unix que fuera universalmente accesible y facilitara el intercambio de código sin restricciones entre programadores. Más allá de simplemente reemplazar a Unix, GNU aspiraba a crear una versión tecnológicamente superior. Su inicio es anterior a la articulación formal de los principios filosóficos que sustentan el movimiento del software libre y de código abierto. Debido a su creación por el destacado defensor del software libre Richard Stallman, GNU estuvo profundamente involucrado en el activismo del software libre, siendo un logro clave el desarrollo de la Licencia Pública General de GNU (GPL), que permitió legalmente a los desarrolladores distribuir y modificar software.
- Linux, un núcleo de sistema operativo, fue introducido en 1991 por Linus Torvalds. Su desarrollo se inspiró en la ambición de crear una versión superior del sistema operativo comercial Minix. Linux se distinguió de los proyectos de hackers contemporáneos por ser completamente gratuito y descentralizado. Posteriormente, Linux quedó bajo la licencia GPL, que permitió el uso comercial e integró formalmente Linux en la comunidad FOSS.
- Apache comenzó en 1995 como un esfuerzo de colaboración entre desarrolladores que, insatisfechos con el código base NCSA HTTPd, lanzaron su propio servidor web. El nombre "Apache" deriva de los numerosos parches aplicados a este código base. Un año después de su lanzamiento, alcanzó el liderazgo mundial como servidor web. Posteriormente, Apache introdujo su propia licencia que, a pesar de causar algunos desacuerdos dentro de la comunidad FOSS en general, finalmente resultó exitosa. La licencia de Apache otorgaba acceso directo al código fuente, una divergencia notable con respecto a los enfoques adoptados por GNU y Linux.
Extensiones para aplicaciones que no son de software
Si bien el término "código abierto" inicialmente se refería exclusivamente al código fuente de software, su aplicación se ha expandido a muchos otros dominios, como la ecología de código abierto, un movimiento dedicado a descentralizar tecnologías para el acceso humano universal. Sin embargo, el término se aplica erróneamente con frecuencia a áreas con principios distintos y a veces contradictorios, donde la superposición es sólo parcial.
Los principios fundamentales del software de código abierto también son evidentes en varias otras iniciativas, incluido el contenido abierto y la colaboración abierta.
Esta "cultura" o ideología postula que estos principios poseen una aplicabilidad más amplia, facilitando la entrada simultánea de diversas agendas, enfoques y prioridades, en contraste con los modelos de desarrollo más centralizados típicamente empleados por las empresas comerciales.
Valor
Más del 90 por ciento de las empresas incorporan software de código abierto como componente dentro de su software propietario. La decisión de utilizar software de código abierto o participar en proyectos de código abierto para mejorar las soluciones de código abierto existentes suele ser una consideración empresarial pragmática. En los casos en los que el software propietario compite directamente con una alternativa de código abierto, las investigaciones han arrojado resultados contradictorios sobre el impacto de esta competencia en el precio y la calidad del producto propietario.
Durante varias décadas, ciertas empresas han establecido un modelo de negocios centrado en brindar servicios para productos de software de código abierto a usuarios empresariales. Estas entidades administran un producto de software de código abierto y, en lugar de cobrar por la licencia o el uso, generan ingresos a través de mejoras, integración y otros servicios de soporte. Las ofertas de software como servicio (SaaS) basadas en componentes de código abierto son cada vez más frecuentes.
El software de código abierto se prefiere para aplicaciones científicas debido a su capacidad para mejorar la transparencia y facilitar la validación y aceptación de los hallazgos científicos.
Referencias
Referencias
Androutsellis-Theotokis, Stephanos; Spinellis, Diomidis; Kechagia, María; Gousios, Georgios (2010). "Software de código abierto: un estudio desde 10.000 pies" (PDF). Fundamentos y tendencias en tecnología, información y gestión de operaciones, vol. 4, núm. 3–4, págs. 187–347. doi:10.1561/0200000026. ISBN 978-1-60198-484-5.
- Androutsellis-Theotokis, Stephanos; Spinellis, Diomidis; Kechagia, María; Gousios, Georgios (2010). "Software de código abierto: un estudio desde 10.000 pies" (PDF). Fundamentos y Tendencias en Tecnología, Información y Gestión de Operaciones. §56§ (3–4): 187–347. doi:10.1561/0200000026. ISBN 978-1-60198-484-5.Ciencias de la gestión, vol. 67, n.º 5, págs. 3041–3066. doi:10.1287/mnsc.2020.3674.
- Birkinbine, Benjamin J. (2020). Incorporación de los bienes comunes digitales: participación corporativa en el software libre y de código abierto. Prensa de la Universidad de Westminster. hdl:20.500.12657/37226. ISBN 978-1-912656-43-1.
- Mayordomo, Simón; Gamalielsson, Jonas; Lundell, Björn; Brax, Christoffer; Mattsson, Anders; Gustavsson, Tomás; Feist, Jonás; Kvarnström, Bengt; Lönroth, Erik (2022). "Consideraciones y desafíos para la adopción de componentes de código abierto en empresas con uso intensivo de software". Revista de Sistemas y Software, vol. 186, artículo 111152. Elsevier BV. doi:10.1016/j.jss.2021.111152. ISSN 0164-1212.
- Coleman, E. Gabriella. Libertad de codificación: la ética y la estética del hacking. Prensa de la Universidad de Princeton, 2012.
- Dávila, Jacinto (2015). "La lógica política del software libre, libre y de código abierto". En Beneficios sociales de las tecnologías y recursos de conocimiento de libre acceso. IGI Global, págs. 1–24. ISBN 978-1-4666-8337-2.
- Deek, Fadi P.; McHugh, James AM (2008). Código abierto: tecnología y políticas. Cambridge: Prensa de la Universidad de Cambridge. ISBN 978-0-511-36775-5.
- DiBona, Chris; Ockman, Sam; Piedra, Mark, eds. (1999). Fuentes abiertas: voces de la revolución del código abierto. O'Reilly. ISBN 978-1-56592-582-3.
- Gay, Josué, ed. (2002). Software libre, sociedad libre: ensayos seleccionados de Richard M. Stallman. Boston: GNU Press, Fundación de Software Libre. ISBN 978-1-882114-98-6.
- Benkler, Yochai (2002). "El pingüino de Coase, o Linux y la naturaleza de la empresa". Revista de derecho de Yale, vol. 112, núm. 3 (diciembre de 2002): p367(78). (Disponible en formato Adobe PDF).
- Benkler, Yochai (2002), "El pingüino de Coase o Linux y la naturaleza de la empresa". Yale Law Journal 112.3 (diciembre de 2002): p367(78) (en formato Adobe pdf)
- v. Engelhardt, Sebastián (2008). ""Las propiedades económicas del software", Jena Economic Research Papers, volumen 2 (2008), número 2008-045" (PDF). Artículos de investigación sobre economía de Jena.
- Lerner, J.; Tirole, J. (2002). "Algunas economías simples sobre el código abierto". Revista de Economía Industrial, vol. 50, núm. 2, págs. 197–234.
- Välimäki, Mikko (2005). El auge de las licencias de código abierto: un desafío para el uso de la propiedad intelectual en la industria del software (PDF). Editorial Turre. Archivado desde el (PDF) original el 4 de marzo de 2009.
- Morin, Andrés; Urbano, Jennifer; Sliz, Piotr (2012). "Una guía rápida sobre licencias de software para el científico-programador". Biología Computacional PLOS, vol. 8, núm. 7, artículo e1002598. Código bibliográfico: 2012PLSCB...8E2598M. doi:10.1371/journal.pcbi.1002598. ISSN 1553-7358. PMC 3406002. PMID 22844236.
- Polley, Barry (2007, 11 de diciembre). "Documento de debate sobre código abierto: versión 1.0" (PDF). Sociedad de Código Abierto de Nueva Zelanda, Ministerio de Justicia de Nueva Zelanda. Archivado desde el (PDF) original el 23 de febrero de 2018. Consultado el 12 de diciembre de 2007.
- Rossi, MA (2006). "Decodificando el rompecabezas del software libre/de código abierto: un estudio de las contribuciones teóricas y empíricas". En J. Bitzer y P. Schröder (Eds.), La economía del desarrollo de software de código abierto, págs. 15–55.
- Fuentes abiertas: Voces de la revolución del código abierto es un libro en línea que presenta ensayos de miembros destacados de la comunidad de código abierto.
- Berry, DM (2004). "La impugnación del código: una investigación preliminar sobre el discurso del movimiento del software libre y el software abierto". Estudios críticos del discurso, vol. 1, núm. 1.
- Schrape, Jan-Felix (2017). "Proyectos de código abierto como incubadoras de innovación: de fenómeno de nicho a parte integral de la industria del software" (PDF). Stuttgart: Contribuciones de investigación a la sociología organizacional y los estudios de innovación, 2017-03.
- Radovan Semancik es autor de Sustainable Open Source, un artículo de Confluence que describe directrices para una participación equitativa en el ecosistema de código abierto.
- Zhou, Zach Zhizhong; Choudhary, Vidyanand (2022). "Impacto de la competencia del software de código abierto en el software propietario". Gestión de Producción y Operaciones. 31 (2): 731–742. doi:10.1111/poms.13575.La Iniciativa de Código Abierto proporciona una articulación definitiva de los principios del código abierto.
- La definición de código abierto de la Open Source Initiative
- La comunidad de investigación de código abierto/libre ofrece un depósito de publicaciones académicas relacionadas con metodologías de código abierto.