stringtranslate.com

Software de código abierto

Una captura de pantalla de Manjaro ejecutando el entorno de escritorio Cinnamon , Firefox accediendo a Wikipedia que utiliza MediaWiki , LibreOffice Writer , Vim , GNOME Calculator , VLC y el administrador de archivos Nemo , todos los cuales son software de código abierto.

El software de código abierto ( OSS ) es un 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. [1] [2] 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. [3]

El desarrollo de software de código abierto puede aportar diversas perspectivas más allá de las de una sola empresa. Una estimación del valor del software de código abierto para las empresas es de 8,8 billones de dólares, ya que las empresas necesitarían gastar 3,5 veces la cantidad que gastan actualmente sin el uso de software de código abierto. [4]

El código fuente abierto se puede utilizar para estudiar y permite a los usuarios finales capaces adaptar el software a sus necesidades personales de la misma manera que los scripts de usuario y las hojas de estilo personalizadas permiten a los sitios web y, finalmente, publicar la modificación como una bifurcación para usuarios con preferencias similares. y enviar directamente posibles mejoras como solicitudes de extracción .

Definiciones

El logo de la Iniciativa de Código Abierto

La definición de la Iniciativa de Código Abierto (OSI) es reconocida internacionalmente por varios gobiernos [5] como la definición estándar o de facto . OSI utiliza la definición de código abierto para determinar si considera una licencia de software de código abierto. La definición se basó en las Directrices de software libre de Debian , escritas y adaptadas principalmente por Perens. [6] [7] [8] Perens no basó sus escritos en las "cuatro libertades" de la Free Software Foundation (FSF), que sólo estuvieron ampliamente disponibles más tarde. [9]

Según la definición de Perens, el código abierto es una licencia de software amplia que pone el código fuente a disposición del público en general con restricciones relajadas o inexistentes sobre el uso y modificación del código. Es una "característica" explícita del código abierto que impone muy pocas restricciones al uso o distribución por parte de cualquier organización o usuario, para permitir la rápida evolución del software. [10]

Según Feller et al. (2005), los términos "software libre" y "software de código abierto" deben aplicarse a cualquier "producto de software distribuido bajo términos que permitan a los usuarios" usar, modificar y redistribuir el software "de cualquier manera que consideren adecuada, sin requerir que paguen a los autores del software una regalía o tarifa por participar en las actividades enumeradas". [11]

A pesar de aceptarlo inicialmente, [12] Richard Stallman de la FSF ahora se opone rotundamente a que se aplique el término "Código Abierto" a lo que ellos llaman "software libre". Aunque está de acuerdo en que los dos términos describen "casi la misma categoría de software", Stallman considera que equiparar los términos es incorrecto y engañoso. [13] Stallman también se opone al pragmatismo profesado de la Open Source Initiative , ya que teme que los ideales de libertad y comunidad del software libre se vean amenazados al comprometer los estándares idealistas de la FSF para la libertad del software. [14] La FSF considera que el software libre es un subconjunto del software de código abierto, y Richard Stallman explicó que el software DRM , por ejemplo, puede desarrollarse como código abierto, a pesar de que no da libertad a sus usuarios (los restringe). , y por lo tanto no califica como software libre. [13]

Desarrollo de software de código abierto

Modelo de desarrollo

En su ensayo de 1997 The Cathedral and the Bazaar , el influyente colaborador de código abierto Eric S. Raymond sugiere un modelo para desarrollar OSS conocido como modelo bazar . [15] Raymond compara el desarrollo de software mediante metodologías tradicionales con la construcción de una catedral, con un cuidadoso trabajo aislado por parte de individuos o pequeños grupos. [15] Sugiere que todo el software debería desarrollarse utilizando el estilo bazar, con diferentes agendas y enfoques. [15]

En el modelo tradicional de desarrollo, al que llamó modelo catedralicio , el desarrollo se produce de forma centralizada. [15] Las funciones están claramente definidas. [15] Los roles incluyen personas dedicadas al diseño (los arquitectos), personas responsables de gestionar el proyecto y personas responsables de la implementación. [15] La ingeniería de software tradicional sigue el modelo catedralicio. [15]

El modelo de bazar, sin embargo, es diferente. [15] En este modelo, los roles no están claramente definidos. [15] Algunas características propuestas del software desarrollado utilizando el modelo bazar deberían exhibir los siguientes patrones: [16]

Los usuarios deben ser tratados como codesarrolladores: los usuarios son tratados como codesarrolladores y, por lo tanto, deben tener acceso al código fuente del software. [16] Además, se anima a los usuarios a enviar adiciones al software, correcciones de código para el software, informes de errores , documentación, etc. Tener más codesarrolladores aumenta el ritmo al que evoluciona el software. [16] La ley de Linus establece que, con suficientes ojos, todos los insectos son superficiales. [16] Esto significa que si muchos usuarios ven el código fuente, eventualmente encontrarán todos los errores y sugerirán cómo solucionarlos. [16] Algunos usuarios tienen habilidades avanzadas de programación y, además, la máquina de cada usuario proporciona un entorno de prueba adicional. [16] Este nuevo entorno de prueba ofrece la posibilidad de encontrar y corregir un nuevo error. [dieciséis]

Lanzamientos anticipados : la primera versión del software debe publicarse lo antes posible para aumentar las posibilidades de encontrar codesarrolladores lo antes posible. [dieciséis]

Integración frecuente: los cambios de código deben integrarse (fusionarse en una base de código compartida) con la mayor frecuencia posible para evitar la sobrecarga de corregir una gran cantidad de errores al final del ciclo de vida del proyecto. [16] [17] Algunos proyectos de código abierto tienen compilaciones nocturnas donde la integración se realiza automáticamente . [dieciséis]

Varias versiones: Debe haber al menos dos versiones del software. [16] Debería haber una versión con más errores y más funciones y una versión más estable con menos funciones. [16] La versión con errores (también llamada versión de desarrollo) es para usuarios que desean el uso inmediato de las últimas funciones y están dispuestos a aceptar el riesgo de utilizar código que aún no se ha probado exhaustivamente. [16] Los usuarios pueden actuar como co-desarrolladores, reportando errores y proporcionando correcciones de errores. [16] [18]

Alta modularización: la estructura general del software debe ser modular permitiendo el desarrollo paralelo en componentes independientes. [dieciséis]

Estructura dinámica de toma de decisiones: existe la necesidad de una estructura de toma de decisiones, ya sea formal o informal, que tome decisiones estratégicas en función de los requisitos cambiantes de los usuarios y otros factores. [16] Compárese con la programación extrema . [dieciséis]

El proceso de desarrollo de código abierto comienza con una obtención de requisitos en la que los desarrolladores consideran si deben agregar nuevas funciones o si es necesario corregir un error en su proyecto. [18] Esto se establece comunicándose con la comunidad OSS a través de vías tales como informes y seguimiento de errores o listas de correo y páginas de proyectos. [18] A continuación, los desarrolladores de OSS seleccionan o se les asigna una tarea e identifican una solución. Debido a que a menudo hay muchas rutas posibles diferentes para encontrar soluciones en OSS, la mejor solución debe elegirse con una cuidadosa consideración y, a veces, incluso con comentarios de pares . [18] Luego, el desarrollador comienza a desarrollar y confirmar el código. [18] Luego, el código es probado y revisado por pares. [18] Los desarrolladores pueden editar y evolucionar su código a través de comentarios de la integración continua . [18] Una vez que el liderazgo y la comunidad estén satisfechos con todo el proyecto, se puede publicar parcialmente y se pueden documentar las instrucciones del usuario. [18] Si el proyecto está listo para ser lanzado, se congela y solo se realizan correcciones de errores graves o reparaciones de seguridad. [18] Finalmente, el proyecto se lanzó por completo y solo se modificó mediante correcciones de errores menores. [18]

Ventajas

La implementación de código abierto de un estándar puede aumentar la adopción de ese estándar. [19] Esto crea lealtad en los desarrolladores, ya que los desarrolladores se sienten empoderados y tienen un sentido de propiedad del producto final. [20]

Además, se necesitan menores costos de marketing y servicios logísticos para el OSS. [21] El OSS puede ser una herramienta para promover la imagen de una empresa, incluidos sus productos comerciales. [22] El enfoque de desarrollo de OSS ha ayudado a producir software confiable y de alta calidad de manera rápida y económica. [21]

El desarrollo de código abierto ofrece el potencial de acelerar la innovación y crear valor social. [23] En Francia, por ejemplo, una política que incentivaba al gobierno a favorecer el software gratuito de código abierto aumentó a casi 600.000 contribuciones de OSS por año, generando valor social al aumentar la cantidad y la calidad del software de código abierto. [23] Esta política también condujo a un aumento estimado de hasta el 18% de las nuevas empresas tecnológicas y un aumento del 14% en el número de personas empleadas en el sector de TI. [23]

El OSS puede ser muy confiable cuando cuenta con miles de programadores independientes que prueban y corrigen errores del software. [16] El código abierto no depende de la empresa o autor que lo creó originalmente. [24] Incluso si la empresa fracasa, el código continúa existiendo y siendo desarrollado por sus usuarios. [24]

OSS es flexible porque los sistemas modulares permiten a los programadores construir interfaces personalizadas o agregarles nuevas capacidades y es innovador ya que los programas de código abierto son producto de la colaboración entre un gran número de programadores diferentes. [16] La combinación de perspectivas divergentes, objetivos corporativos y metas personales acelera la innovación. [25]

Además, el software libre puede desarrollarse de acuerdo con requisitos puramente técnicos. [26] No requiere pensar en la presión comercial que a menudo degrada la calidad del software. [26] Las presiones comerciales hacen que los desarrolladores de software tradicionales presten más atención a los requisitos de los clientes que a los requisitos de seguridad, ya que dichas características son algo invisibles para el cliente. [26]

Herramientas de desarrollo

En el desarrollo de software de código abierto, se utilizan herramientas para respaldar el desarrollo del producto y el proceso de desarrollo en sí. [18]

Los sistemas de control de versiones , como el sistema de control de versiones centralizado (CVCS) y el sistema de control de versiones distribuido (DVCS), son ejemplos de herramientas, a menudo de código abierto, que ayudan a administrar los archivos de código fuente y los cambios en esos archivos para un proyecto de software con el fin de fomentar la colaboración. [27] Los CVCS están centralizados con un repositorio central, mientras que los DVCS están descentralizados y tienen un repositorio local para cada usuario. [27] Sistema de versiones concurrentes (CVS) y posteriores Subversion (SVN) y Git son ejemplos de CVCS. [27] Los repositorios están alojados y publicados en instalaciones de alojamiento de código fuente como GitHub . [27]

Los proyectos de código abierto utilizan utilidades como rastreadores de problemas para organizar el desarrollo de software de código abierto. Los rastreadores de errores más utilizados incluyen Bugzilla y Redmine . [18]

Herramientas como las listas de correo y el IRC proporcionan medios de coordinación y discusión de errores entre los desarrolladores. [18] Las páginas web del proyecto, las páginas wiki, las listas de hojas de ruta y los grupos de noticias permiten la distribución de información del proyecto que se centra en los usuarios finales. [18]

Oportunidades de participación

Contribuyendo

Los roles básicos de los participantes de OSS pueden clasificarse en múltiples categorías, comenzando con el liderazgo en el centro del proyecto que tiene control sobre su ejecución. [28] A continuación están los contribuyentes principales con una gran experiencia y autoridad en el proyecto que pueden guiar a los demás contribuyentes. [28] Los contribuyentes complementarios tienen menos experiencia y autoridad, pero contribuyen regularmente y son vitales para el desarrollo del proyecto. [28] Los nuevos contribuyentes son los menos experimentados, pero con tutoría y orientación pueden convertirse en contribuyentes habituales. [28]

Algunas formas posibles de contribuir al software de código abierto incluyen funciones como programación , diseño y prueba de interfaz de usuario, diseño web , clasificación de errores , diseño y prueba de accesibilidad, diseño de UX , prueba de código y revisión y prueba de seguridad . [28] Sin embargo, hay varias maneras de contribuir a proyectos OSS incluso sin habilidades de codificación. [28] Por ejemplo, algunas formas menos técnicas de participar son la redacción y edición de documentación , la traducción , la gestión de proyectos , la organización y coordinación de eventos, el marketing, la gestión de lanzamientos, la gestión comunitaria y las relaciones públicas y la divulgación. [28]

Participación de la industria

La adopción de software de código abierto por parte de la industria está aumentando con el tiempo. [29] El OSS es popular en varias industrias, como las de telecomunicaciones , aeroespacial , sanitaria y de medios y entretenimiento, debido a los beneficios que proporciona. [30] La adopción de OSS es más probable en organizaciones más grandes y depende del uso de TI de la empresa, la eficiencia operativa y la productividad de los empleados. [29]

Es probable que las industrias utilicen OSS debido a la funcionalidad administrativa, soporte de ventas, investigación y desarrollo, características de software, implementación rápida, portabilidad entre plataformas y evitar la gestión de licencias comerciales. [29] Además, el menor costo de hardware y propiedad también son beneficios importantes. [29]

Organizaciones destacadas

En todo el mundo existen organizaciones que contribuyen al desarrollo y la expansión de los movimientos de software libre y de código abierto. [28] Estas organizaciones se dedican a objetivos como la enseñanza y la difusión de tecnología. [28] Según lo enumerado por un ex vicepresidente de la iniciativa de código abierto , algunas organizaciones estadounidenses incluyen la fundación de software libre , la conservación de la libertad de software , la iniciativa de código abierto y el software de interés público . [28] Dentro de Europa, algunas organizaciones notables son Free Software Foundation Europe , proyectos de código abierto EU (OSP) y openforum europe (OFE) . [28] Una organización australiana es Linux Australia, mientras que Asia tiene Asia y Fossasia de código abierto. [28] software libre y de código abierto para África (FOSSFA) y openafrica son organizaciones africanas y Asia Central y del Sur tienen organizaciones como FLISOL y GRUP de usuarios de software libre perú. [28] Fuera de estas, existen muchas más organizaciones dedicadas al avance del software de código abierto. [28]

Cuestiones legales y económicas

Licencia

Los productos FOSS generalmente tienen dos tipos de licencias: licencias permisivas y licencias copyleft . [31] Ambos tipos de licencias se diferencian de las licencias propietarias en que pueden permitir que más usuarios accedan al software y permitir la creación de trabajos derivados según lo especificado en los términos de la licencia específica, ya que cada licencia tiene sus propias reglas. . [31] Las licencias permisivas permiten a los destinatarios del software implementar los derechos de autor del autor sin tener que utilizar la misma licencia para la distribución. [31] Ejemplos de este tipo de licencia incluyen las licencias BSD , MIT y Apache . [31] Las licencias Copyleft se diferencian en que requieren que los destinatarios utilicen la misma licencia para al menos algunas partes de la distribución de sus obras. [31] Las licencias copyleft fuertes requieren que todas las obras derivadas utilicen la misma licencia, mientras que las licencias copyleft débiles requieren el uso de la misma licencia sólo bajo ciertas condiciones. [31] Ejemplos de este tipo de licencia incluyen la familia de licencias GNU y las licencias MPL y EPL . [31] Las similitudes entre estas dos categorías de licencias incluyen que proporcionan una amplia concesión de derechos de autor, requieren que los destinatarios conserven los avisos de derechos de autor y que se proporcione una copia de la licencia a los destinatarios con el código. [31]

Un precedente legal importante para el software de código abierto se creó en 2008, cuando el caso Jacobson v Katzer hizo cumplir los términos de la licencia artística , incluida la atribución y la identificación de modificaciones. [31] El fallo de este caso consolidó la aplicación de la ley de derechos de autor cuando no se siguieron las condiciones de la licencia. [31] Debido a la similitud de la licencia Artística con otras licencias de software de código abierto, el fallo creó un precedente que se aplicó ampliamente. [31]

Ejemplos de licencias de software libre / licencias de código abierto incluyen la licencia Apache , la licencia BSD , la licencia pública general GNU , la licencia pública general reducida GNU , la licencia MIT , la licencia pública Eclipse y la licencia pública Mozilla . [31]

Asuntos legales

Existen varias áreas grises dentro de la regulación del software que tienen un gran impacto en el software de código abierto, como por ejemplo si el software es un bien o servicio, qué puede considerarse una modificación, la gobernanza a través de contrato versus licencia, propiedad y derecho de uso. [31] Si bien ha habido avances en estos temas, a menudo conducen a aún más preguntas. [31] La existencia de estas incertidumbres en la regulación tiene un impacto negativo en las industrias involucradas en tecnologías en su conjunto. [31]

Dentro de la historia jurídica del software en su conjunto, hubo mucho debate sobre si protegerlo como propiedad intelectual bajo la ley de patentes , la ley de derechos de autor o estableciendo una regulación única. [31] En última instancia, la ley de derechos de autor se convirtió en el estándar y los programas de computadora se consideraron una forma de obra literaria, con algunos ajustes de regulación única. [31]

El software generalmente se considera código fuente y código objeto , y ambos son protegibles, aunque existe una variedad legal en esta definición. [31] Algunas jurisdicciones intentan ampliar o reducir esta conceptualización para sus propios fines. [31] Por ejemplo, el Tribunal de Justicia de las Comunidades Europeas define que un programa de computadora no incluye la funcionalidad de un programa, el lenguaje de programación o el formato de los archivos de datos. [31] Al limitar las protecciones de los diferentes aspectos del software, la ley favorece un enfoque de código abierto para el uso del software. [31] Estados Unidos tiene especialmente un enfoque abierto hacia el software, y la mayoría de las licencias de código abierto se originan allí. [31] Sin embargo, esto ha aumentado el enfoque en los derechos de patente dentro de estas licencias, lo que ha visto una reacción violenta por parte de la comunidad OSS, que prefiere otras formas de protección de propiedad intelectual . [31]

Otro tema incluye las medidas de protección tecnológica (TPM) y las técnicas de gestión de derechos digitales (DRM) que fueron legalmente reconocidas y protegidas internacionalmente en el Tratado de la Organización Mundial de la Propiedad Intelectual (OMPI) de 1996 . [31] A los defensores del software de código abierto no les gustaban estas tecnologías porque limitaban a los usuarios finales potencialmente más allá de la ley de derechos de autor. [31] Europa respondió a tales quejas poniendo al TPM bajo controles legales, lo que representa una victoria para los partidarios del OSS. [31]

Implicaciones económicas/empresariales

En las comunidades de código abierto, en lugar de ser propietario del software producido, el productor es propietario del desarrollo del software en evolución. [32] De esta manera, el futuro del software está abierto, lo que dificulta la propiedad o la propiedad intelectual dentro del OSS. [32] Las licencias y la marca pueden evitar que otros lo roben, preservando su condición de bien público . [32] El software de código abierto puede considerarse un bien público ya que está disponible para todos y su valor no disminuye para otros cuando lo descarga una sola persona. [32] El software de código abierto es único en el sentido de que se vuelve más valioso a medida que se utiliza y se contribuye a él, en lugar de disminuir el recurso. Esto se explica por conceptos como inversión en reputación y efectos de red . [32]

El modelo económico del software de código abierto se puede explicar porque los desarrolladores aportan trabajo a los proyectos, generando beneficios públicos. [32] Los desarrolladores eligen proyectos basándose en los beneficios o costos percibidos, como la mejora de la reputación o el valor del proyecto. [32] Las motivaciones de los desarrolladores pueden provenir de muchos lugares y razones diferentes, pero lo importante es que el dinero no es el único incentivo , ni siquiera el más importante . [32]

Dado que la teoría económica se centra principalmente en el consumo de recursos escasos, la dinámica del OSS puede resultar difícil de entender. En OSS, los productores se convierten en consumidores al cosechar los beneficios de contribuir a un proyecto. [32] Por ejemplo, un desarrollador es bien considerado por sus pares por su contribución exitosa a un proyecto OSS. [32] Los beneficios sociales y las interacciones del OSS también son difíciles de explicar en los modelos económicos. [32] Además, la innovación tecnológica crea debates y perspectivas de valor en constante cambio, lo que hace que el modelo económico sea incapaz de predecir el comportamiento social. [32]

Aunque el OSS supone un desafío teórico en los modelos económicos, se puede explicar como una actividad social sostenible que requiere recursos. [32] Estos recursos incluyen tiempo, dinero, tecnología y contribuciones. [32] Muchos desarrolladores han utilizado tecnología financiada por organizaciones como universidades y gobiernos, aunque estas mismas organizaciones se benefician del trabajo realizado por OSS. [32] A medida que crece el OSS, los sistemas híbridos que contienen OSS y sistemas propietarios se están volviendo más comunes. [32]

A mediados de la década de 2000, cada vez más empresas de tecnología comenzaron a utilizar OSS. [24] Por ejemplo, la decisión de Dell de vender computadoras con GNU/Linux ya instalado. [24] La propia Microsoft ha lanzado un sistema operativo basado en Linux a pesar de la animosidad previa con el movimiento OSS. [24] A pesar de estos avances, estas empresas tienden a utilizar sólo OSS para ciertos fines, lo que genera preocupaciones de que las corporaciones se aprovechen del OSS y no reciban nada a cambio. [24]

Usos gubernamentales

Si bien muchos gobiernos están interesados ​​en implementar y promover software de código abierto debido a los numerosos beneficios que ofrece, un gran tema a considerar es la ciberseguridad . [33] Si bien las vulnerabilidades accidentales son posibles, también lo son los ataques de agentes externos. [33] Debido a estos temores, el interés gubernamental en contribuir a la gobernanza del software se ha vuelto más prominente. [33] Sin embargo, estos son los grandes rasgos del problema, ya que cada país tiene sus propias interacciones politizadas específicas con el software de código abierto y sus objetivos para su implementación. [33] Por ejemplo, Estados Unidos se ha centrado en la seguridad nacional con respecto a la implementación de software de código abierto debido a la amenaza percibida del aumento de la actividad de software de código abierto en países como China y Rusia, y el Departamento de Defensa está considerando múltiples criterios para usando OSS. [33] Estos criterios incluyen: si proviene y es mantenido por fuentes confiables, si continuará manteniéndose, si existen dependencias de subcomponentes en el software, seguridad e integridad de los componentes e influencia gubernamental extranjera. [33]

Otro problema para los gobiernos con respecto al código abierto son sus inversiones en tecnologías como sistemas operativos , semiconductores , nube e inteligencia artificial . [33] Todas estas tecnologías tienen implicaciones para la cooperación global, lo que nuevamente plantea problemas de seguridad y consecuencias políticas. [33] Muchos países tienen que equilibrar la innovación tecnológica con la dependencia tecnológica en estas asociaciones. [33] Por ejemplo, después de que a la empresa china Huawei , dependiente del código abierto , se le impidiera utilizar el sistema Android de Google en 2019, comenzaron a crear su propio sistema operativo alternativo: Harmony OS . [33]

Movimiento de software abierto

Historia

En los primeros días de la informática , como en las décadas de 1950 y 1960, los programadores y desarrolladores compartían software para aprender unos de otros y hacer evolucionar el campo de la informática. [34] Por ejemplo, Unix incluía el código fuente del sistema operativo para los usuarios. [34] Con el tiempo, la comercialización de software en los años 1970-1980 comenzó a impedir esta práctica. [34] Sin embargo, los académicos todavía suelen desarrollar software en colaboración. [34]

En respuesta, el movimiento de código abierto nació del trabajo de entusiastas programadores expertos, ampliamente conocidos como hackers o cultura hacker . [35] Uno de estos entusiastas, Richard Stallman , fue una fuerza impulsora detrás del movimiento del software libre , que más tarde permitiría el movimiento de código abierto . [17] En 1984, renunció al MIT para crear un sistema operativo libre, GNU , después de que la cultura del programador en su laboratorio fuera sofocada por el software propietario que impedía que el código fuente fuera compartido y mejorado. [17] GNU era compatible con UNIX, lo que significa que los entusiastas de la programación aún estarían familiarizados con su funcionamiento. [17] Sin embargo, rápidamente se hizo evidente que había cierta confusión con la etiqueta que Stallman había elegido para el software libre , que describió como libre como en libertad de expresión, no como cerveza gratis, refiriéndose al significado de libre como libertad en lugar de precio. [17] Más tarde amplió este concepto de libertad a las cuatro libertades esenciales. [17] A través de GNU, aparecieron normas de código abierto para incorporar el código fuente de otros, correcciones de errores de la comunidad y sugerencias de código para nuevas características. [17] En 1985, Stallman fundó la Free Software Foundation (FSF) para promover cambios en el software y ayudar a escribir GNU. [17] Para evitar que su obra fuera utilizada en software propietario, Stallman creó el concepto de copyleft , que permitía el uso de su obra por cualquier persona, pero bajo términos específicos. [17] Para ello, creó la Licencia Pública General GNU (GNU GPL) en 1989, que fue actualizada en 1991. [17] En 1991, GNU se combinó con el kernel de Linux escrito por Linus Torvalds , ya que faltaba un kernel. en GNU. [36] El sistema operativo ahora se suele denominar Linux . [17] A lo largo de todo este período, hubo muchos otros proyectos y licencias de software libre en ese momento, todos con ideas diferentes de lo que era y debería ser el concepto de software libre, así como la moralidad del software propietario, como Berkeley. Distribución de software , TeX y el sistema X Windows . [37]

A medida que se desarrolló el software libre, la Free Software Foundation comenzó a buscar cómo llevar ideas de software libre y beneficios percibidos a la industria del software comercial . [37] Se concluyó que el activismo social de la FSF no era atractivo para las empresas y necesitaban una forma de cambiar el nombre del movimiento de software libre para enfatizar el potencial comercial de compartir y colaborar en el código fuente de software. [37] El término código abierto fue sugerido por Christine Peterson en 1998 en una reunión de partidarios del software libre. [17] Muchos en el grupo sintieron que el nombre software libre era confuso para los recién llegados y frenaba el interés de la industria y aceptaron fácilmente la nueva designación de código abierto, creando la Iniciativa de Código Abierto (OSI) y la definición OSI de lo que es software de código abierto. . [17] La ​​definición de la Iniciativa de Código Abierto (OSI) ahora es reconocida internacionalmente por varios gobiernos como la definición estándar o de facto . [36] La definición se basó en las Directrices de software libre de Debian , escritas y adaptadas principalmente por Bruce Perens. [38] La definición de OSI se diferencia de la definición de software libre en que permite la inclusión de software propietario y permite más libertades en su concesión de licencias. [17] Algunos, como Stallman, están más de acuerdo con el concepto original de software libre porque adopta una postura moral fuerte contra el software propietario, ya que hay mucha superposición entre los dos movimientos en términos de la operación del software. [17]

Mientras que la Iniciativa de Código Abierto buscaba fomentar el uso del nuevo término y evangelizar los principios a los que se adhería, los proveedores de software comercial se vieron cada vez más amenazados por el concepto de software distribuido libremente y el acceso universal al código fuente de una aplicación , con un ejecutivo de Microsoft. llamando al código abierto un destructor de la propiedad intelectual en 2001. [39] Sin embargo, si bien el software libre y de código abierto (FOSS) históricamente ha desempeñado un papel fuera del desarrollo de software privado convencional, empresas tan grandes como Microsoft han comenzado a desarrollar presencias oficiales de código abierto. En Internet. [39] IBM, Oracle y State Farm son sólo algunas de las empresas con un interés público importante en el competitivo mercado de código abierto actual, lo que marca un cambio significativo en la filosofía corporativa respecto al desarrollo de software libre. [39]

Futuro

El futuro de la comunidad del software de código abierto, y por extensión de la comunidad del software libre, se ha vuelto exitoso, si no confuso acerca de lo que representa. [24] Por ejemplo, Android y Ubuntu son ejemplos de hitos de éxito en el ascenso del software de código abierto a la prominencia desde los márgenes de la innovación tecnológica tal como existía a principios de la década de 2000. [24] Sin embargo, algunos en la comunidad los consideran fallas en su representación del OSS debido a cuestiones como la restación de importancia al centro OSS de Android por parte de Google y sus socios, el uso de una licencia Apache que permitió la bifurcación y resultó en una pérdida. de oportunidades de colaboración dentro de Android, la priorización de la convivencia sobre la libertad en Ubuntu y características dentro de Ubuntu que rastrean a los usuarios con fines de marketing. [24]

El uso de OSS se ha vuelto más común en los negocios: el 78% de las empresas informan que ejecutan todas o parte de sus operaciones en FOSS. [24] La popularidad del OSS ha aumentado hasta el punto de que Microsoft , que alguna vez fue detractor del OSS, ha incluido su uso en sus sistemas. [24] Sin embargo, este éxito ha generado preocupaciones que determinarán el futuro del OSS, ya que la comunidad debe responder preguntas como qué es el OSS, qué debería ser y qué se debe hacer para protegerlo, si es que necesita protección. [24] Considerándolo todo, si bien la revolución del código libre y abierto se ha desacelerado hasta alcanzar un equilibrio percibido en el mercado, eso no significa que haya terminado, ya que deben tener lugar muchas discusiones teóricas para determinar su futuro. [24]

Comparaciones con otros modelos de desarrollo/licencia de software

Software de código cerrado/propietario

El software de código abierto se diferencia del software propietario en que está disponible públicamente, la licencia no requiere tarifas y se permiten modificaciones y distribuciones según las especificaciones de la licencia. [40] Todo esto sirve para evitar un monopolio sobre cualquier producto OSS, que es el objetivo del software propietario. [40] El software propietario limita las opciones de sus clientes a comprometerse a utilizar ese software, actualizarlo o cambiar a otro software, lo que obliga a los clientes a que sus preferencias de software se vean afectadas por su costo monetario. [40] El escenario ideal para el proveedor de software propietario sería un lock-in , donde el cliente no cambia o no puede cambiar de software debido a estos costos y continúa comprando productos de ese proveedor. [40]

Dentro del software propietario, las correcciones de errores solo pueden ser proporcionadas por el proveedor, mover plataformas requiere otra compra y la existencia del producto depende del proveedor, quien puede discontinuarlo en cualquier momento. [35] Además, el software propietario no proporciona su código fuente y los usuarios no pueden modificarlo. [17] Para las empresas, esto puede representar un riesgo de seguridad y una fuente de frustración, ya que no pueden especializar el producto según sus necesidades y puede haber amenazas ocultas o fugas de información dentro del software a las que no pueden acceder ni cambiar. [17]

Software libre

Según la definición de OSI, el código abierto es una licencia de software amplia que pone el código fuente a disposición del público en general con restricciones relajadas o inexistentes sobre el uso y modificación del código. [41] Es una característica explícita del código abierto que impone muy pocas restricciones al uso o distribución por parte de cualquier organización o usuario, con el fin de permitir la rápida evolución del software. [41]

Richard Stallman , líder del movimiento de software libre y miembro de la fundación de software libre, se opone a que se aplique el término código abierto a lo que ellos denominan software libre. [13] Aunque está de acuerdo en que los dos términos describen casi la misma categoría de software, Stallman considera que equiparar los términos es incorrecto y engañoso. [13] Él cree que la principal diferencia es que al elegir un término sobre el otro, los demás pueden saber cuáles son los objetivos de uno: desarrollo (código abierto) o una postura social (software libre). [42] Sin embargo, existe una superposición significativa entre el software de código abierto y el software libre. [13] Stallman también se opone al pragmatismo profesado de la Open Source Initiative , ya que teme que los ideales de libertad y comunidad del software libre se vean amenazados al comprometer los estándares idealistas de la FSF para la libertad del software. [42] La FSF considera que el software libre es un subconjunto del software de código abierto, y Richard Stallman explicó que el software DRM , por ejemplo, puede desarrollarse como código abierto, a pesar de que restringe a sus usuarios y, por lo tanto, no califica como libre. software. [13]

La FSF dijo que el término fuente abierta fomenta una ambigüedad de otro tipo, tal que confunde la mera disponibilidad de la fuente con la libertad de usarla, modificarla y redistribuirla. [13] Por otro lado, el término software libre fue criticado por la ambigüedad de la palabra libre, que se consideraba desalentadora para la adopción empresarial, y por el uso histórico ambiguo del término. [42]

En consecuencia, los desarrolladores han utilizado los términos alternativos Software libre y de código abierto ( FOSS ), o Software libre/libre y de código abierto (FLOSS), para describir el software de código abierto que también es software libre . [28]

Software de fuente disponible

El software se puede distribuir con código fuente , que es un código legible. [43] El software está disponible cuando este código fuente está disponible para ser visto. [43] Sin embargo, para que el código fuente esté disponible o sea FOSS , no es necesario que sea accesible para todos, solo para los usuarios de ese software. [43] Si bien todo el software FOSS está disponible porque este es un requisito establecido por la Definición de código abierto , no todo el software disponible es FOSS. [43] Por ejemplo, si el software no cumple con otros aspectos de la Definición de Código Abierto, como la modificación o redistribución permitida, incluso si el código fuente está disponible, el software no es FOSS. [43]

Código abierto

Una tendencia reciente dentro de las empresas de software es el código abierto, o la transición de su software propietario anterior a software de código abierto mediante su lanzamiento bajo una licencia de código abierto . [44] [45] Ejemplos de empresas que han hecho esto son Google, Microsoft y Apple. [44] Además, el código abierto puede referirse a la programación de software de código abierto o la instalación de software de código abierto. [45] El abastecimiento abierto puede ser beneficioso de múltiples maneras, como atraer más contribuyentes externos que aporten nuevas perspectivas y capacidades de resolución de problemas. [44] Las desventajas del código abierto incluyen el trabajo que se debe hacer para mantener la nueva comunidad, como hacer que el código base sea fácilmente comprensible, establecer canales de comunicación para nuevos desarrolladores y crear documentación para permitir que los nuevos desarrolladores se unan fácilmente. [44] Sin embargo, una revisión de varios proyectos de código abierto encontró que, aunque un nuevo proyecto de código abierto atrae a muchos recién llegados, es probable que una gran cantidad abandone pronto el proyecto y es probable que sus bifurcaciones tampoco tengan impacto. [44]

Otro

Otros conceptos que pueden compartir algunas similitudes con el código abierto son shareware , software de dominio público , software gratuito y visores/lectores de software que están disponibles gratuitamente pero que no proporcionan código fuente. [17] Sin embargo, estos se diferencian del software de código abierto en el acceso al código fuente , las licencias, los derechos de autor y las tarifas. [17]

Sociedad y Cultura

Demografía

A pesar de poder colaborar internacionalmente, se descubrió que los contribuyentes de software de código abierto estaban ubicados en su mayoría en grandes grupos, como Silicon Valley , que colaboran en gran medida dentro de ellos mismos. [46] Las posibles razones de este fenómeno pueden ser que el grupo demográfico de contribuyentes de OSS trabaja en gran medida en software, lo que significa que la ubicación geográfica de OSS está estrechamente relacionada con esa dispersión y las colaboraciones podrían fomentarse a través del trabajo y las redes sociales . [46] La aceptación del código puede verse afectada por el estado dentro de estos grupos de redes sociales, creando predisposiciones injustas en la aceptación del código según la ubicación. [47] Las barreras a la colaboración internacional también incluyen diferencias lingüísticas o culturales. [48] ​​Además, se ha demostrado que cada país tiene una tasa de aceptación más alta del código de los contribuyentes dentro de su país, excepto India, lo que indica un sesgo hacia los colaboradores culturalmente similares. [48]

En 2021, los países con mayores contribuciones de software de código abierto fueron Estados Unidos, China, Alemania, India y el Reino Unido, en ese orden. [46] Los países con mayor cantidad de desarrolladores de OSS per cápita según un estudio de 2021 incluyen, en orden, Islandia, Suiza, Noruega, Suecia y Finlandia, mientras que en 2008 los países con la mayor cantidad de contribuyentes estimados en SourceForge fueron los Estados Unidos. , Alemania, Reino Unido, Canadá y Francia. [46] [48]  Aunque se han realizado varios estudios sobre la distribución y las contribuciones de los desarrolladores de OSS, este sigue siendo un campo abierto que se puede medir de varias maneras diferentes. [48] ​​Por ejemplo, se ha demostrado que la participación en las tecnologías de la información y las comunicaciones, la población, la riqueza y la proporción de acceso a Internet están correlacionadas con las contribuciones al OSS. [48]

Aunque se ha descubierto que la diversidad de género mejora la productividad del equipo, las mujeres aún enfrentan prejuicios al contribuir a proyectos de software de código abierto cuando su género es identificable. [49] En 2002, sólo el 1,5% de los desarrolladores internacionales de software de código abierto eran mujeres, mientras que las mujeres representaban el 28% de los puestos de la industria tecnológica, lo que demuestra su baja representación en el campo del software. [50] A pesar de que las contribuciones de OSS no tienen requisitos previos, este sesgo de género puede continuar existiendo debido a la creencia común de los contribuyentes de que el género no debería importar y que la calidad del código debería ser la única consideración para la aceptación del código, lo que impide que la comunidad aborde las disparidades sistémicas en la representación femenina. [35] Sin embargo, una cifra más reciente de participación femenina en OSS calculada internacionalmente entre 2005 y 2021 es del 9,8%, y la mayoría son contribuyentes recientes, lo que indica que la participación femenina puede estar creciendo. [51]

Motivaciones

Hay muchas motivaciones para contribuir a la comunidad OSS. [28] Por un lado, es una oportunidad para aprender y practicar múltiples habilidades, como codificación y otras habilidades relacionadas con la tecnología, pero también habilidades fundamentales como comunicación y colaboración y habilidades prácticas necesarias para sobresalir en campos relacionados con la tecnología, como el seguimiento de problemas o la versión. control . [28] En lugar de aprender a través de un aula o un trabajo, aprender contribuyendo a OSS permite a los participantes aprender a su propio ritmo y seguir lo que les interesa. [28] Al contribuir al OSS, puede conocer las mejores prácticas, la tecnología y las tendencias actuales de la industria e incluso tener la oportunidad de contribuir a la próxima gran innovación a medida que el OSS se vuelve cada vez más popular en el campo tecnológico. [28] Contribuir al OSS sin pago significa que no hay amenaza de ser despedido, aunque la reputación puede verse afectada. [28] Por otro lado, una gran motivación para contribuir al OSS es la reputación que se gana a medida que crece su cartera pública. [28]

Disparidades

Aunque la programación se consideraba originalmente una profesión femenina, sigue habiendo una gran brecha en la informática. [52] La identidad social tiende a ser una gran preocupación ya que las mujeres en la industria tecnológica enfrentan la inseguridad de atraer atención masculina no deseada y el acoso o no ser femeninas en sus conocimientos tecnológicos, lo que tiene un gran impacto en la confianza. [35] Algunos participantes masculinos en tecnología dejan en claro que creen que es imposible que las mujeres encajen en la cultura, lo que aumenta la inseguridad de las mujeres y su lugar en la industria tecnológica. [49] Además, incluso en un entorno de contribución voluntaria como el software de código abierto, las mujeres tienden a terminar haciendo los aspectos menos técnicos de los proyectos, como las pruebas manuales o la documentación , a pesar de que mujeres y hombres muestran la misma productividad en las contribuciones de OSS. [49] Los sesgos explícitos incluyen un mayor tiempo de retroalimentación, un mayor escrutinio del código y una menor tasa de aceptación del código. [49] Específicamente en la comunidad de software de código abierto, las mujeres informan que el lenguaje sexualmente ofensivo es común y se presta más atención a la identidad de las mujeres como mujeres que como contribuyentes de OSS [35] El sesgo es difícil de abordar debido a la creencia de que el género no debería No importa, la mayoría de los contribuyentes sienten que el hecho de que las mujeres reciban un trato especial es injusto y que el éxito debería depender de las habilidades, lo que impide que cualquier cambio sea más inclusivo. [35]

Adopción y Solicitud

Proyectos clave

Los proyectos de software de código abierto son creados y mantenidos por una red de programadores, que a menudo pueden ser voluntarios, y se utilizan ampliamente tanto en productos gratuitos como comerciales. [53]

Unix: Unix es un sistema operativo creado por AT&T que comenzó como precursor del software de código abierto en el sentido de que la revolución del software libre y de código abierto comenzó cuando los desarrolladores comenzaron a intentar crear sistemas operativos sin código Unix. [24] Unix fue creado en la década de 1960, antes de la comercialización del software y antes de que el concepto de software de código abierto fuera necesario, por lo que no se consideraba un verdadero proyecto de software de código abierto. [24] Comenzó como un proyecto de investigación antes de ser comercializado a mediados de la década de 1980. [24] Antes de su comercialización, representaba muchos de los ideales sostenidos por la revolución del software libre y de código abierto, incluida la colaboración descentralizada de usuarios globales, lanzamientos continuos y una cultura comunitaria de disgusto hacia el software propietario . [24]

BSD: Berkely Software Distribution (BSD) es un sistema operativo que comenzó como una variante de Unix en 1978 que mezclaba código Unix con código de los laboratorios Berkely para aumentar la funcionalidad. [24] Como BSD se centraba en aumentar la funcionalidad, compartiría públicamente sus mayores innovaciones con el principal sistema operativo Unix. [24] Este es un ejemplo del uso compartido gratuito de código público que es una característica central del software libre en la actualidad. [24] A medida que Unix se comercializó en la década de 1980, los desarrolladores o miembros de la comunidad que no apoyaban el software propietario comenzaron a centrarse en BSD y a convertirlo en un sistema operativo que no incluía ningún código de Unix. [24] La versión final de BSD se lanzó en 1995. [24]

GNU: GNU es un sistema operativo libre creado por Richard Stallman en 1984 y su nombre significa Gnu's Not Unix. [24] La idea era crear un sistema operativo alternativo a Unix que estuviera disponible para que cualquiera lo usara y permitiera a los programadores compartir código libremente entre ellos. [24] Sin embargo, el objetivo de GNU no era sólo reemplazar a Unix, sino hacer una versión superior que tuviera más capacidades tecnológicas. [24] Fue publicado antes de que se definieran verdaderamente las creencias filosóficas de la revolución del software libre y de código abierto. [24] Debido a su creación por el destacado programador de FOSS Richard Stallman, GNU estuvo muy involucrado en el activismo de FOSS, siendo uno de los mayores logros de GNU la creación de la Licencia Pública General GNU o GPL, que permitió a los desarrolladores lanzar software que pudiera ser legalmente compartido y modificado. [24]

Linux: Linux es un kernel de sistema operativo que fue introducido en 1991 por Linus Torvalds . [24] Linux se inspiró al crear una mejor versión del servicio operativo con fines de lucro Minux . [24] Era radicalmente diferente de lo que otros hackers estaban produciendo en ese momento debido a que era totalmente gratuito y estaba descentralizado. [24] Más tarde, Linux quedó bajo la licencia GPL , lo que permitió a las personas ganar dinero con Linux y llevar Linux a la comunidad FOSS. [24]

Apache: Apache comenzó en 1995 como una colaboración entre un grupo de desarrolladores que lanzaron su propio servidor web debido a su frustración con el código base NCSA HTTPd . [24] El nombre Apache se utilizó debido a los diversos parches que aplicaron a esta base de código. [24] Un año después de su lanzamiento, se convirtió en el servidor web líder a nivel mundial . [24] Pronto, Apache lanzó su propia licencia , creando discordia en la comunidad de software libre en general, aunque finalmente tuvo éxito. [24] La licencia Apache permitía a los miembros autorizados acceder directamente al código fuente, una marcada diferencia con los enfoques de GNU y Linux. [24]

Extensiones para uso no relacionado con el software

Si bien el término código abierto se aplicaba originalmente solo al código fuente del software, ahora se está aplicando a muchas otras áreas, como la ecología del código abierto , un movimiento para descentralizar las tecnologías para que cualquier ser humano pueda usarlas. [13] [54] Sin embargo, a menudo se aplica mal a otras áreas que tienen principios diferentes y en competencia, que se superponen sólo parcialmente. [35]

Los mismos principios que subyacen al software de código abierto se pueden encontrar en muchas otras iniciativas, como el código abierto, el contenido abierto y la colaboración abierta . [55] [3]

Esta "cultura" o ideología considera que los principios se aplican de manera más general para facilitar la entrada simultánea de diferentes agendas, enfoques y prioridades, en contraste con modelos de desarrollo más centralizados, como los que se utilizan típicamente en las empresas comerciales. [15]

Ver también

Referencias

  1. ^ St. Laurent, Andrew M. (2008). Comprensión de las licencias de software libre y de código abierto. Medios O'Reilly. pag. 4.ISBN​ 978-0-596-55395-1. Archivado desde el original el 22 de abril de 2023 . Consultado el 21 de marzo de 2023 .
  2. ^ Corbly, James Edward (25 de septiembre de 2014). "La alternativa del software libre: software gratuito, software de código abierto y bibliotecas". Tecnologías de la Información y Bibliotecas . 33 (3): 65. doi : 10.6017/ital.v33i3.5105 . ISSN  2163-5226. Archivado desde el original el 1 de mayo de 2021 . Consultado el 28 de abril de 2021 .
  3. ^ ab Levine, Sheen S.; Prietula, Michael J. (30 de diciembre de 2013). "Colaboración abierta para la innovación: principios y desempeño". Ciencia de la organización . 25 (5): 1414-1433. arXiv : 1406.7541 . doi :10.1287/orsc.2013.0872. ISSN  1047-7039. S2CID  6583883.
  4. ^ Hoffman, Manuel; Nagle, Frank; Zhou, Yanuo (2024). "El valor del software de código abierto". Revista Electrónica SSRN . doi :10.2139/ssrn.4693148. ISSN  1556-5068.
  5. ^ "Autoridad y reconocimiento internacional". Fuente abierta.org. 21 de abril de 2015. Archivado desde el original el 23 de julio de 2019 . Consultado el 7 de diciembre de 2017 .
  6. ^ Perens, Bruce. Fuentes abiertas: voces de la revolución del código abierto Archivado el 15 de septiembre de 2014 en Wayback Machine . Medios O'Reilly . 1999.
  7. ^ Dibona, Chris; Ockman, Sam (enero de 1999). La definición de código abierto de Bruce Perens. O'Reilly. ISBN 978-1-56592-582-3.
  8. ^ "La definición de código abierto". 7 de julio de 2006. Archivado desde el original el 15 de octubre de 2013 . Consultado el 24 de agosto de 2008 ., La definición de código abierto según la Open Source Initiative
  9. ^ "¿Cuántas licencias de código abierto necesita? - Slashdot". Noticias.slashdot.org . 16 de febrero de 2009. Archivado desde el original el 17 de julio de 2013 . Consultado el 25 de marzo de 2012 .
  10. ^ Iniciativa de código abierto (24 de julio de 2006). "La definición de código abierto (anotada)". opensource.org . Archivado desde el original el 5 de mayo de 2021 . Consultado el 22 de julio de 2016 .
  11. ^ Feller, José; Fitzgerald, Brian; Hissam, Scott; Lakhani, Karim R. (2005). "Introducción". Perspectivas sobre el software libre y de código abierto . Cambridge, MA: The MIT Press. págs. xvii. ISBN 0-262-06246-1.
  12. ^ Tiemann, Michael. "Historia de la OSI". Iniciativa de código abierto. Archivado desde el original el 24 de septiembre de 2006 . Consultado el 13 de mayo de 2014 .
  13. ^ abcdefgh Stallman, Richard (2007). "Por qué el código abierto pierde el sentido del software libre".
  14. ^ Stallman, Richard (19 de junio de 2007). "Por qué el" software libre "es mejor que el" código abierto"". Filosofía del Proyecto GNU . Fundación de Software Libre. Archivado desde el original el 27 de marzo de 2021 . Consultado el 23 de julio de 2007 .
  15. ^ abcdefghij Raymond, Eric (2005). "La Catedral y el Bazar (publicado originalmente en el Volumen 3, Número 3, marzo de 1998)". Primer lunes . doi : 10.5210/fm.v0i0.1472 . ISSN  1396-0466.
  16. ^ abcdefghijklmnopqrs Robles, Gregorio (2006). "Investigación empírica de ingeniería de software sobre software libre/libre/de código abierto". 2006 22ª Conferencia Internacional IEEE sobre Mantenimiento de Software. págs. 347–350. doi :10.1109/icsm.2006.25. ISBN 0-7695-2354-4. S2CID  6589566 . Consultado el 21 de noviembre de 2023 .
  17. ^ abcdefghijklmnopqrs Napoleao, Bianca M.; Petrillo, Fabio; Halle, Sylvain (2020). "Proceso de desarrollo de software de código abierto: una revisión sistemática". 2020 IEEE 24ª Conferencia Internacional de Computación de Objetos Distribuidos Empresariales (EDOC) . IEEE. págs. 135-144. arXiv : 2008.05015 . doi :10.1109/EDOC49727.2020.00025. ISBN 978-1-7281-6473-1.
  18. ^ abcdefghijklmn Napoleao, Bianca M.; Petrillo, Fabio; Halle, Sylvain (2020). "Proceso de desarrollo de software de código abierto: una revisión sistemática". 2020 IEEE 24ª Conferencia Internacional de Computación de Objetos Distribuidos Empresariales (EDOC) . IEEE. págs. 135-144. arXiv : 2008.05015 . doi :10.1109/EDOC49727.2020.00025. ISBN 978-1-7281-6473-1.
  19. ^ Departamento de Defensa de Estados Unidos. "Preguntas frecuentes sobre software de código abierto". Director de Información . Archivado desde el original el 28 de agosto de 2016 . Consultado el 22 de julio de 2016 .
  20. ^ Sharma, Srinarayan; Vijayan Sugumaran; Balaji Rajagopalan (2002). "Un marco para la creación de comunidades de software híbrido de código abierto" (PDF) . Revista de sistemas de información . 12 : 7–25. doi :10.1046/j.1365-2575.2002.00116.x. S2CID  5815589. Archivado (PDF) desde el original el 30 de octubre de 2008 . Consultado el 8 de septiembre de 2008 .
  21. ^ ab Reynolds, Carl; Jeremy Wyatt (febrero de 2011). "Código abierto, estándares abiertos y sistemas de información sanitaria". Revista de investigación médica en Internet . 13 (1): e24. doi : 10.2196/jmir.1521 . PMC 3221346 . PMID  21447469. 
  22. ^ Landry, Juan; Rajiv Gupta (septiembre de 2000). "Aprovechar el código abierto". Revisión de negocios de Harvard . doi :10.1225/F00503 (inactivo el 31 de enero de 2024).{{cite journal}}: Mantenimiento CS1: DOI inactivo a partir de enero de 2024 ( enlace )
  23. ^ abc Nagle, Frank (3 de marzo de 2019). "Política tecnológica gubernamental, valor social y competitividad nacional" (PDF) . Revista de sistemas de información . 12 . doi :10.2139/ssrn.3355486. S2CID  85509685. SSRN  3355486.
  24. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj Tozzi, Christopher (2017). Por diversión y ganancias: una historia de la revolución del software libre y de código abierto . Estados Unidos: MIT Press. ISBN 978-0-262-34118-9.
  25. ^ Plotkin, Hal (diciembre de 1998). "Qué (y por qué) debería saber sobre el software de código abierto". Actualización de la gestión de Harvard : 8–9.
  26. ^ abc Payne, Christian (febrero de 2002). "Sobre la seguridad del software de código abierto". Revista de sistemas de información . 12 (1): 61–78. doi :10.1046/j.1365-2575.2002.00118.x. S2CID  8123076.
  27. ^ abcd Zolkifli, Nazatul Nurlisa; Ngah, Amir; Deraman, Aziz (2018). "Sistema de control de versiones: una revisión". Procedia Ciencias de la Computación . 135 : 408–415. doi : 10.1016/j.procs.2018.08.191 .
  28. ^ abcdefghijklmnopqrstu Brasseur, VM (2018). Forja tu futuro con código abierto: desarrolla tus habilidades, construye tu red, construye el futuro de la tecnología . Los programadores pragmáticos. Raleigh, Carolina del Norte: la estantería pragmática. ISBN 978-1-68050-301-2.
  29. ^ abcd Spinellis, Diomidis; Giannikas, Vaggelis (2012). "Adopción organizacional de software de código abierto". Revista de Sistemas y Software . 85 (3): 666–682. doi :10.1016/j.jss.2011.09.037.
  30. ^ Zhang, Yiming; Malhotra, Baljeet; Chen, Cheng (2018). "Análisis de seguridad de código abierto en toda la industria". 2018 16ª Conferencia Anual sobre Privacidad, Seguridad y Confianza (PST) . IEEE. págs. 1–10. doi :10.1109/PST.2018.8514185. ISBN 978-1-5386-7493-2. S2CID  53234981.
  31. ^ abcdefghijklmnopqrstu vwxyz Brock, Amanda (2023). Ley, políticas y prácticas de código abierto (2ª ed.). Reino Unido: Oxford University Press. ISBN 978-0-19-886234-5.
  32. ^ abcdefghijklmnop Wynants, M. y Cornelis, J. (Eds.). (2005). ¿Qué tan abierto está el futuro? : Escenarios económicos, sociales y culturales inspirados en el software libre y de código abierto . ÁSPID.
  33. ^ abcdefghij Pannier, Alice (2022). El poder del software: las implicaciones económicas y geopolíticas del software de código abierto . Estudios de l'Ifri. ISBN 979-10-373-0641-8.
  34. ^ abcd Maracke, Catharina (2019). "Software libre y de código abierto y licencias de patentes basadas en FRAND: cómo mediar entre la patente esencial estándar y el software libre y de código abierto". La Revista de Propiedad Intelectual Mundial . 22 (3–4): 78–102. doi : 10.1111/jwip.12114 . ISSN  1422-2213.
  35. ^ abcdefg Bretthauer, David (2001). "Software de código abierto: una historia". Tecnologías de la Información y Bibliotecas . 21 (1).
  36. ^ ab "Autoridad y reconocimiento internacionales". Iniciativa de código abierto . 21 de abril de 2015 . Consultado el 18 de diciembre de 2023 .
  37. ^ abc Fogel, Karl (2006). Producir software de código abierto: cómo ejecutar un proyecto de software libre exitoso (1. Aufl., [Nachdr.] ed.). Beijing Colonia: O'Reilly. ISBN 978-0-596-00759-1.
  38. ^ Kelty, Christopher (2008). Two Bits: la importancia cultural del software libre . Prensa de la Universidad de Duke. ISBN 978-0-8223-8900-2.
  39. ^ abc Miller, Keith W.; Voas, Jeffrey; Costello, Tom (2010). "Software gratuito y de código abierto". Profesional de TI . 12 (6): 14-16. doi :10.1109/mitp.2010.147. ISSN  1520-9202. S2CID  265508713.
  40. ^ abcd Zhu, Kevin Xiaoguo; Zhou, Zach Zhizhong (2012). "Nota de investigación: estrategia de bloqueo en la competencia de software: software de código abierto frente a software propietario". Investigación de Sistemas de Información . 23 (2): 536–545. doi :10.1287/isre.1110.0358. ISSN  1047-7047.
  41. ^ ab "La definición de código abierto (anotada)". Iniciativa de código abierto . 24 de julio de 2006 . Consultado el 18 de diciembre de 2023 .
  42. ^ a b C Stallman, Richard M.; Gay, Josué (2002). Software libre, sociedad libre . Boston (Massachusetts): Fundación del software libre. ISBN 978-1-882114-98-6.
  43. ^ abcde Fortunato, Laura; Galassi, Mark (17 de mayo de 2021). "El caso del software libre y de código abierto en la investigación y la erudición". Transacciones filosóficas de la Royal Society A: Ciencias matemáticas, físicas y de ingeniería . 379 (2197). Código Bib : 2021RSPTA.37900079F. doi :10.1098/rsta.2020.0079. ISSN  1364-503X. PMID  33775148. S2CID  232387092.
  44. ^ abcde Pinto, Gustavo; Steinmacher, Igor; Días, Luis Felipe; Gerosa, Marco (2018). "Sobre los desafíos de los proyectos de software propietario de código abierto". Ingeniería de software empírica . 23 (6): 3221–3247. doi :10.1007/s10664-018-9609-6. ISSN  1382-3256. S2CID  254467440.
  45. ^ ab Ågerfalk; Fitzgerald (2008). "Subcontratación a una fuerza laboral desconocida: exploración del opensurcing como estrategia de abastecimiento global". MIS trimestral . 32 (2): 385. doi : 10.2307/25148845. ISSN  0276-7783. JSTOR  25148845.
  46. ^ abcdWachs , Johannes; Nitecki, Mariusz; Schueller, William; Polleres, Axel (marzo de 2002). "La geografía del software de código abierto: evidencia de GitHub". Previsión Tecnológica y Cambio Social . 176 : 121478. arXiv : 2107.03200 . doi : 10.1016/j.techfore.2022.121478.
  47. ^ Rastogi, Ayushi; Nagappan, Nachiappan; Gousios, Georgios; van der Hoek, André (11 de octubre de 2018). "Relación entre ubicación geográfica y evaluación de las contribuciones de los desarrolladores en github". Actas del 12º Simposio internacional ACM/IEEE sobre medición e ingeniería de software empírico. ACM. págs. 1–8. doi :10.1145/3239235.3240504. ISBN 978-1-4503-5823-1. S2CID  215822439.
  48. ^ abcde González-Barahona, Jesús M.; Robles, Gregorio; Andradas-Izquierdo, Roberto; Ghosh, Rishab Aiyer (agosto de 2008). "Origen geográfico de los desarrolladores de software libre". Economía y política de la información . 20 (4): 356–363. doi :10.1016/j.infoecopol.2008.07.001.
  49. ^ abcdBosu , Amiangshu; Sultana, Kazi Zakia (2019). "Diversidad e inclusión en proyectos de software de código abierto (OSS): ¿dónde nos encontramos?". Simposio internacional ACM/IEEE 2019 sobre ingeniería y medición de software empírico (ESEM) . IEEE. págs. 1–11. doi :10.1109/ESEM.2019.8870179. ISBN 978-1-7281-2968-6. S2CID  197640269.
  50. ^ Nafus, Dawn (junio de 2012). "'Los parches no tienen género: lo que no está abierto en el software de código abierto ". Nuevos medios y sociedad . 14 (4): 669–683. doi :10.1177/1461444811422887. ISSN  1461-4448. S2CID  206727320.
  51. ^ Trinkenreich, Bianca; Wiese, Igor; Sarma, Anita; Gerosa, Marco; Steinmacher, Igor (31 de octubre de 2022). "Participación de las mujeres en el software de código abierto: un estudio de la literatura". Transacciones ACM sobre Ingeniería y Metodología de Software . 31 (4): 1–37. arXiv : 2105.08777 . doi :10.1145/3510460. ISSN  1049-331X. S2CID  234778104.
  52. ^ Albusays, Khaled; Björn, Pernille; Dabbish, Laura; Ford, Denae; Murphy-Hill, Emerson; Serebrenik, Alejandro; Storey, Margaret-Anne (abril de 2021). "La crisis de diversidad en el desarrollo de software". Software IEEE . 38 (2): 19–25. doi :10.1109/MS.2020.3045817. ISSN  0740-7459.
  53. ^ Popp, Karl Michael, ed. (2020). Mejores prácticas para el uso comercial de software de código abierto: modelos de negocio, procesos y herramientas para la gestión de software de código abierto . Academia Sinómica. Norderstedt: BoD - Libros a la carta. ISBN 978-3-7386-1909-6.
  54. ^ Poderes, Stephen M.; Hampton, Stephanie E. (2019). "Ciencia abierta, reproducibilidad y transparencia en ecología". Aplicaciones ecológicas . 29 (1): e01822. Código Bib : 2019EcoAp..29E1822P. doi : 10.1002/eap.1822 . ISSN  1051-0761. PMID  30362295.
  55. ^ Cheliotis, Giorgos (2009). "Del código abierto al contenido abierto: organización, licenciamiento y procesos de decisión en la producción cultural abierta". Sistemas de Soporte a la Decisión . 47 (3): 229–244. doi :10.1016/j.dss.2009.02.006. ISSN  0167-9236.

Otras lecturas

enlaces externos