El movimiento de software de código abierto es un movimiento que apoya el uso de licencias de código abierto para parte o todo el software , como parte de la noción más amplia de colaboración abierta . [1] El movimiento de código abierto se inició para difundir el concepto/idea de software de código abierto .
Los programadores que apoyan la filosofía del movimiento de código abierto contribuyen a la comunidad de código abierto escribiendo e intercambiando voluntariamente código de programación para el desarrollo de software . [2] El término "código abierto" requiere que nadie pueda discriminar a un grupo al no compartir el código editado o impedir que otros editen su trabajo ya editado. Este enfoque del desarrollo de software permite a cualquiera obtener y modificar código fuente abierto. Estas modificaciones se distribuyen a los desarrolladores dentro de la comunidad de código abierto de personas que trabajan con el software. De esta manera, se revelan las identidades de todas las personas que participan en la modificación del código y se documenta la transformación del código a lo largo del tiempo. [3] Este método dificulta establecer la propiedad de un fragmento de código en particular, pero está en consonancia con la filosofía del movimiento de código abierto. Estos objetivos promueven la producción de programas de alta calidad, así como el trabajo cooperativo con otras personas con ideas similares para mejorar la tecnología de código abierto. [2]
La etiqueta "código abierto" fue creada y adoptada por un grupo de personas del movimiento del software libre en una sesión de estrategia [4] celebrada en Palo Alto, California , en reacción al anuncio de Netscape en enero de 1998 de una liberación del código fuente para Navegante . Una de las razones detrás del uso del término fue que "la ventaja de usar el término código abierto es que el mundo empresarial generalmente intenta evitar que se instalen tecnologías libres". [5] Aquellas personas que adoptaron el término aprovecharon la oportunidad antes de la publicación del código fuente de Navigator para liberarse de las connotaciones ideológicas y de confrontación del término "software libre". Más tarde, en febrero de 1998, Bruce Perens y Eric S. Raymond fundaron una organización llamada Open Source Initiative (OSI) "como una organización educativa, de defensa y de gestión en un momento culminante en la historia de esa cultura". [6]
Al principio no existía diferencia entre hardware y software. El usuario y el programador de una computadora eran la misma persona. Cuando IBM introdujo la primera computadora electrónica comercial en 1952, la máquina era costosa y difícil de mantener. Dejando a un lado el precio de la máquina, fue el software el que causó el problema al poseer una de estas computadoras. Luego, en 1952, una colaboración de todos los propietarios de la computadora se reunió y creó un conjunto de herramientas. La colaboración de personas fue en un grupo llamado PACT (El Proyecto para el Avance de las Técnicas de Codificación). Después de superar este obstáculo, en 1956, la administración Eisenhower decidió imponer restricciones a los tipos de ventas que AT&T podía realizar. Esto no impidió que los inventores desarrollaran nuevas ideas sobre cómo llevar la computadora a la población masiva. El siguiente paso fue hacer que la computadora fuera más asequible, algo que poco a poco se desarrolló a través de diferentes empresas. Luego tuvieron que desarrollar un software que pudiera albergar a múltiples usuarios. El centro de cálculo del MIT desarrolló uno de los primeros sistemas, CTSS (Compatible Time-Sharing System). Esto sentó las bases para muchos más sistemas y lo que ahora llamamos el movimiento del software de código abierto. [7]
El movimiento de código abierto se deriva del movimiento de software libre que comenzó a finales de los años 80 con el lanzamiento del proyecto GNU por parte de Richard Stallman . [8] Dentro de la comunidad de código abierto se considera que Stallman comparte un papel clave en la conceptualización del código fuente compartido libremente para el desarrollo de software. [3] El término " software libre " en el movimiento del software libre implica libertad de intercambio y modificación de software. El término no se refiere a ninguna libertad monetaria. [3] Tanto el movimiento de software libre como el movimiento de código abierto comparten esta visión del libre intercambio de código de programación , y esta es a menudo la razón por la que a veces se hace referencia a ambos movimientos en la literatura como parte de FOSS o "Software Libre y Abierto". " o comunidades FLOSS "Gratis/Libre Open-Source".
Estos movimientos comparten diferencias fundamentales en la visión del software abierto. La principal diferencia faccional entre los grupos es la relación entre el software de código abierto y el software propietario. A menudo, los fabricantes de software propietario , como Microsoft , pueden hacer esfuerzos para respaldar el software de código abierto para seguir siendo competitivos. [9] Los miembros de la comunidad de código abierto están dispuestos a coexistir con los creadores de software propietario [3] y sienten que la cuestión de si el software es de código abierto es una cuestión de practicidad. [10]
En contraste, los miembros de la comunidad del software libre mantienen la visión de que todo el software es parte de la libertad de expresión [3] y que el software propietario no es ético e injusto. [3] El movimiento por el software libre defiende abiertamente esta creencia a través de conversaciones que denuncian el software propietario. En general, la comunidad se niega a apoyar el software propietario. Además, existen motivaciones externas para estos desarrolladores. Una motivación es que, cuando un programador corrige un error o crea un programa, beneficia a otros en un entorno de código abierto. Otra motivación es que un programador puede trabajar en múltiples proyectos que le resulten interesantes y divertidos. La programación en el mundo del código abierto también puede dar lugar a ofertas de trabajo comerciales o a la entrada en la comunidad del capital riesgo. Estas son sólo algunas de las razones por las que los programadores de código abierto continúan creando y mejorando software. [11]
Si bien es consciente del hecho de que tanto el movimiento de software libre como el movimiento de código abierto comparten similitudes en recomendaciones prácticas con respecto al código abierto, el movimiento de software libre continúa fervientemente distinguiéndose por completo del movimiento de código abierto. [12] El movimiento del software libre sostiene que tiene actitudes fundamentalmente diferentes hacia la relación entre el software de código abierto y el software propietario. Sin embargo, la comunidad del software libre no ve a la comunidad del código abierto como su objetivo de queja. Su objetivo de queja es el propio software propietario. [3]
El movimiento de código abierto se ha enfrentado a una serie de desafíos legales. Las empresas que gestionan productos de código abierto tienen algunas dificultades para proteger sus marcas. Por ejemplo, el alcance de la conjetura de la " licencia implícita " sigue sin estar claro y puede comprometer la capacidad de una empresa para patentar producciones realizadas con software de código abierto. Otro ejemplo es el caso de las empresas que ofrecen complementos para su compra; Los licenciatarios que realicen adiciones al código fuente abierto que sean similares a las que se comprarán pueden tener inmunidad ante demandas por patentes.
En el caso judicial " Jacobsen v. Katzer ", el demandante demandó al demandado por no incluir las notas de atribución requeridas en su versión modificada del software, violando así la licencia. El demandado reclamó Licencia Artística al no adherirse a las condiciones de uso del software, pero la redacción del aviso de atribución decidió que ese no era el caso. "Jacobsen contra Katzer" estableció la igualdad del software de código abierto con respecto al software propietario ante la ley.
En un caso judicial que acusaba a Microsoft de ser un monopolio, Linux y el software de código abierto se presentaron ante el tribunal para demostrar que Microsoft tenía competidores válidos y estaba agrupado con Apple . [ cita necesaria ]
Hay recursos disponibles para aquellos involucrados en proyectos de código abierto que necesitan asesoramiento legal. El Software Freedom Law Center presenta una introducción a cuestiones legales de código abierto. International Free and Open Source Software Law Review ofrece información revisada por pares para abogados sobre cuestiones de software libre.
La Open Source Initiative (OSI) jugó un papel decisivo en la formalización del movimiento de código abierto. La OSI fue fundada por Eric Raymond y Bruce Perens en febrero de 1998 con el propósito de brindar educación general y defensa de la etiqueta de código abierto mediante la creación de la definición de código abierto que se basó en las Directrices de software libre de Debian. La OSI se ha convertido en uno de los principales partidarios y defensores del movimiento de código abierto. [6]
En febrero de 1998, el movimiento de código abierto fue adoptado, formalizado y encabezado por la Open Source Initiative (OSI), una organización formada para comercializar software "como algo más apto para el uso comercial" [3]. La OSI solicitó registrarse " Open Source" con la Oficina de Patentes y Marcas de EE. UU., pero fue denegado debido a que el término era genérico y/o descriptivo. En consecuencia, la OSI no es propietaria de la marca " Open Source " en un sentido nacional o internacional, aunque sí hace valer derechos de marca de derecho consuetudinario sobre el término. [2] La principal herramienta que adoptaron para esto fue La definición de código abierto . [13]
La etiqueta de código abierto fue concebida en una sesión de estrategia que se celebró el 3 de febrero de 1998 en Palo Alto, California y el 8 de abril del mismo año, los asistentes a la Cumbre de Software Libre de Tim O'Reilly votaron para promover el uso del código abierto. término "código abierto". [6]
En general, los desarrollos de software que han surgido del movimiento de código abierto no han sido exclusivos del campo de la informática, pero han tenido éxito en el desarrollo de alternativas al software propietario. Los miembros de la comunidad de código abierto mejoran el código y escriben programas que pueden rivalizar con gran parte del software propietario que ya está disponible. [3]
El discurso retórico utilizado en los movimientos de código abierto se está ampliando ahora para incluir a un grupo más grande de usuarios no expertos, así como a organizaciones de defensa. Varios grupos organizados, como Creative Commons y agencias de desarrollo global, también han adoptado los conceptos de código abierto de acuerdo con sus propios objetivos y propósitos. [14]
Los factores que afectan la formalización legal del movimiento de código abierto se basan principalmente en discusiones políticas recientes sobre derechos de autor, apropiación y propiedad intelectual. [15]
Históricamente, los investigadores han caracterizado a los contribuyentes de código abierto como un grupo centralizado con forma de cebolla. [16] El centro de la cebolla está formado por los contribuyentes principales que impulsan el proyecto a través de grandes cantidades de código y opciones de diseño de software. La segunda capa son los contribuyentes que responden a solicitudes de extracción e informes de errores. El tercer nivel son los contribuyentes que principalmente envían informes de errores. La capa más alejada son aquellos que vigilan el repositorio y los usuarios del software que se genera. Este modelo se ha utilizado en investigaciones para comprender el ciclo de vida del software de código abierto, comprender a los contribuyentes a proyectos de software de código abierto, cómo herramientas como pueden ayudar a los contribuyentes en los distintos niveles de participación en el proyecto y comprender mejor cómo funciona la naturaleza distribuida del software de código abierto. El software fuente puede afectar la productividad de los desarrolladores. [17] [18] [19]
Algunos investigadores no han estado de acuerdo con este modelo. El trabajo de Crowston et al. ha descubierto que algunos equipos están mucho menos centralizados y siguen un patrón de flujo de trabajo más distribuido. [17] Los autores informan que existe una correlación débil entre el tamaño del proyecto y la centralización: los proyectos más pequeños están más centralizados y los proyectos más grandes muestran menos centralización. Sin embargo, los autores solo analizaron el informe y la corrección de errores, por lo que no está claro si este patrón solo está asociado con la búsqueda y corrección de errores o si la centralización se vuelve más distribuida con el tamaño para cada aspecto del paradigma de código abierto.
Es importante comprender la naturaleza centralizada versus distribuida de un equipo, ya que puede informar el diseño de herramientas y ayudar a los nuevos desarrolladores a comprender la dinámica de un equipo. Una preocupación con el desarrollo de código abierto es la alta tasa de rotación de desarrolladores, incluso entre los contribuyentes principales (aquellos en el centro de la "cebolla"). [20] Para continuar con un proyecto de código abierto, nuevos desarrolladores deben unirse continuamente, pero también deben tener las habilidades necesarias para contribuir con código de calidad al proyecto. A través de un estudio de la contribución de GitHub en proyectos de código abierto, Middleton et al. descubrió que el mayor predictor de que los contribuyentes se convirtieran en miembros de pleno derecho de un equipo de código abierto (moviéndose al "núcleo" de la "cebolla") era si enviaban y comentaban las solicitudes de extracción. Luego, los autores sugieren que GitHub, como herramienta, puede ayudar en este proceso al admitir funciones de "casilla de verificación" en el proyecto de código abierto de un equipo que instan a los contribuyentes a participar en estas actividades. [19]
Con el crecimiento y la atención sobre el movimiento de código abierto, se han estado investigando las razones y motivaciones de los programadores para crear código de forma gratuita. En un documento del 15º Congreso Anual de la Asociación Económica Europea sobre el movimiento de código abierto, se analizaron los incentivos de los programadores a nivel individual, así como a nivel de empresa o de red. Lo que es esencialmente el obsequio intelectual de programadores talentosos desafía el "paradigma del agente económico interesado" [21] y ha hecho que tanto el público como los economistas busquen una comprensión de cuáles son los beneficios para los programadores.
La gran mayoría de los programadores de las comunidades de código abierto son hombres. En un estudio para la Unión Europea sobre comunidades de software libre y de código abierto, los investigadores encontraron que sólo el 1,5% de todos los contribuyentes son mujeres. [25] Aunque las mujeres generalmente están subrepresentadas en la informática, el porcentaje de mujeres en profesiones tecnológicas es en realidad mucho mayor, cercano al 25%. [26] Esta discrepancia sugiere que las programadoras tienen en general menos probabilidades que los programadores masculinos de participar en proyectos de código abierto.
Algunas investigaciones y entrevistas con miembros de proyectos de código abierto han descrito una cultura dominada por los hombres dentro de las comunidades de código abierto que puede ser poco acogedora u hostil hacia las mujeres. [27] Hay iniciativas como Outreachy que tienen como objetivo apoyar a más mujeres y otras identidades de género subrepresentadas para que participen en software de código abierto. Sin embargo, dentro de los foros de discusión de proyectos de código abierto, el tema de la diversidad de género puede ser muy controvertido e incluso incendiario. [27] Una visión central en el software de código abierto es que debido a que el software se construye y mantiene sobre el mérito de las contribuciones de código individuales, las comunidades de código abierto deberían actuar como una meritocracia. [28] En una meritocracia, la importancia de un individuo en la comunidad depende de la calidad de sus contribuciones individuales y no de factores demográficos como la edad, la raza, la religión o el género. Por lo tanto, proponer cambios en la comunidad basados en el género, por ejemplo, para hacer que la comunidad sea más atractiva para las mujeres, va en contra del ideal de una meritocracia al apuntar a ciertos programadores por género y no solo en función de sus habilidades. [27]
Existe evidencia de que el género afecta el mérito percibido de un programador en la comunidad. Un estudio de 2016 identificó el género de más de un millón de programadores en GitHub , vinculando la cuenta de GitHub del programador a sus otras cuentas de redes sociales. [29] Entre programadores masculinos y femeninos, los investigadores encontraron que las programadoras tenían en realidad más probabilidades de que sus solicitudes de extracción fueran aceptadas en el proyecto que los programadores masculinos, sin embargo, solo cuando la mujer tenía un perfil neutral en cuanto al género. Cuando las mujeres tenían perfiles con un nombre o imagen que las identificaba como mujeres, tenían menos probabilidades que los programadores masculinos de que se aceptaran sus solicitudes de extracción. Otro estudio realizado en 2015 encontró que en los proyectos de código abierto en GitHub, la diversidad de género era un predictor positivo significativo de la productividad de un equipo, lo que significa que los equipos de código abierto con una mezcla más uniforme de diferentes géneros tendían a ser más productivos. [28]
Muchos proyectos han adoptado el código de conducta del Convenio de Colaboradores en un intento de abordar las preocupaciones sobre el acoso a los desarrolladores minoritarios. Cualquier persona que infrinja el código de conducta puede ser sancionada y, en última instancia, expulsada del proyecto.
Para evitar ofender a las minorías, muchos proyectos de software han comenzado a exigir el uso de lenguaje y terminología inclusivos . [30]
Las bibliotecas utilizan software de código abierto para desarrollar información y servicios bibliotecarios. El propósito del código abierto es proporcionar un software que sea más económico, confiable y de mejor calidad. La única característica que hace que este software sea tan buscado es que es gratuito. Las bibliotecas en particular se benefician de este movimiento debido a los recursos que proporciona. También promueven las mismas ideas de aprender y comprender nueva información a través de los recursos de otras personas. El código abierto permite un sentido de comunidad. Es una invitación para que cualquier persona pueda brindar información sobre diversos temas. Las herramientas de código abierto incluso permiten a las bibliotecas crear catálogos basados en la web. Según la fuente informática, existen varios programas bibliotecarios que se benefician de esto. [31]
Agencias gubernamentales y software de infraestructura : las agencias gubernamentales están utilizando software de infraestructura de código abierto, como el sistema operativo Linux y el servidor web Apache, para gestionar la información. [32] En 2005, se lanzó un nuevo lobby gubernamental bajo el nombre de Centro Nacional de Política e Investigación de Código Abierto (NCOSPR), "una organización sin fines de lucro que promueve el uso de soluciones de software de código abierto dentro de las empresas gubernamentales de TI". [33]
Movimiento de código abierto en el ejército : el movimiento de código abierto tiene potencial para ayudar en el ejército. El software de código abierto permite a cualquiera realizar cambios que lo mejorarán. Esta es una forma de invitación para que las personas se unan para desarrollar un software de manera rentable. La razón por la que los militares están tan interesados es porque es posible que este software pueda aumentar la velocidad y la flexibilidad. Aunque esta idea presenta inconvenientes de seguridad debido al hecho de que cualquiera tiene acceso para cambiar el software, las ventajas pueden superar las desventajas. El hecho de que los programas de código abierto puedan modificarse rápidamente es crucial. Se formó un grupo de apoyo para probar estas teorías. El Grupo de Trabajo Militar sobre Software de Código Abierto se organizó en 2009 y contaba con más de 120 miembros militares. Su objetivo era reunir a desarrolladores de software y contratistas militares para descubrir nuevas ideas de reutilización y colaboración. En general, el software de código abierto en el ejército es una idea intrigante que tiene desventajas potenciales, pero no son suficientes para compensar las ventajas. [34]
Código abierto en educación : las universidades y organizaciones utilizan software predominantemente en línea para educar a sus estudiantes. Muchas instituciones están adoptando la tecnología de código abierto porque puede evitar que paguen a las empresas para que les proporcionen estos sistemas de software administrativo. Una de las primeras universidades importantes en adoptar un sistema de código abierto fue la Universidad Estatal de Colorado en 2009, seguida por muchas otras. El sistema de las Universidades Estatales de Colorado fue producido por la Fundación Kuali , que se ha convertido en un actor importante en los sistemas administrativos de código abierto. La Fundación Kuali se define a sí misma como un grupo de organizaciones que tiene como objetivo "construir y sostener software de código abierto para la educación superior, mediante la educación superior". [ Esta cita necesita una cita ] Hay muchos otros ejemplos de instrumentos de código abierto que se utilizan en la educación además de la Fundación Kuali. [ cita necesaria ]
"Para los educadores, el movimiento de código abierto permitió el acceso a software que podría usarse para enseñar a los estudiantes cómo aplicar las teorías que estaban aprendiendo". [35] Con redes y software abiertos, los profesores pueden compartir lecciones, conferencias y otros materiales del curso dentro de una comunidad. OpenTechComm es un programa dedicado al "acceso abierto, uso abierto y ediciones abiertas: libros de texto o recursos pedagógicos en los que los profesores de cursos de comunicación técnica y profesional de todos los niveles pueden confiar para elaborar ofertas gratuitas para sus estudiantes". [ Esta cita necesita una cita ] Como se indicó anteriormente, el acceso a programas como este sería mucho más rentable para los departamentos educativos.
Código abierto en atención médica : creado en junio de 2009 por la organización sin fines de lucro eHealthNigeria, el software de código abierto OpenMRS se utiliza para documentar la atención médica en Nigeria. El uso de este software comenzó en Kaduna, Nigeria, con fines de salud pública. OpenMRS gestiona funciones como alertar a los trabajadores de la salud cuando los pacientes muestran signos de advertencia de enfermedades y registra nacimientos y muertes diariamente, entre otras funciones. El éxito de este software se debe a su facilidad de uso para quienes conocen la tecnología por primera vez, en comparación con el software de atención médica patentado más complejo disponible en los países del primer mundo. Este software está desarrollado por la comunidad y cualquier persona puede utilizarlo libremente, algo característico de las aplicaciones de código abierto. Hasta ahora, OpenMRS se utiliza en Ruanda, Mozambique, Haití, India, China y Filipinas. [36] Apelon Inc, el "proveedor líder de soluciones de interoperabilidad de datos y terminología" también observa el impacto del código abierto en la atención sanitaria. Recientemente, su Sistema de Terminología Distribuida (Open DTS) comenzó a admitir el sistema de base de datos MySQL de código abierto. Básicamente, esto permite que se utilice software de código abierto en la atención médica, lo que reduce la dependencia del costoso software de atención médica patentado. Gracias al software de código abierto, la industria de la salud tiene disponible una solución gratuita de código abierto para implementar estándares de atención médica. El código abierto no sólo beneficia económicamente a la atención sanitaria, sino que la menor dependencia del software propietario permite una integración más sencilla de varios sistemas, independientemente del desarrollador. [37]
IBM ha sido uno de los principales defensores de la Iniciativa de Código Abierto y comenzó a soportar Linux en 1998. [38]
Antes del verano de 2008, Microsoft era generalmente conocido como un enemigo de la comunidad de código abierto [ cita requerida ] . El sentimiento anti-código abierto de la compañía fue reforzado por el ex CEO Steve Ballmer , quien se refirió a Linux, un software de código abierto ampliamente utilizado, como un "cáncer que se adhiere... a todo lo que toca". [39] Microsoft también amenazó a Linux con cobrar regalías por violar 235 de sus patentes.
En 2004, Microsoft perdió un caso ante un tribunal de la Unión Europea [40] y perdió la apelación en 2007 [41] y su nueva apelación en 2012: [42] fue condenado por abuso de su posición dominante. Específicamente, habían ocultado información sobre la interoperabilidad con el proyecto (software) Samba de código abierto , que puede ejecutarse en muchas plataformas y tiene como objetivo "eliminar las barreras a la interoperabilidad". [ Esta cita necesita una cita ]
En 2008, sin embargo, Sam Ramji, entonces jefe de estrategia de software de código abierto en Microsoft, comenzó a trabajar estrechamente con Bill Gates para desarrollar una actitud a favor del código abierto dentro de la industria del software, así como en la propia Microsoft. Ramji, antes de dejar la empresa en 2009, desarrolló la familiaridad y la participación de Microsoft con el código abierto, lo que es evidente en las contribuciones de Microsoft de código abierto a Microsoft Azure, entre otros proyectos. Estas contribuciones habrían sido antes inimaginables por parte de Microsoft. [43] El cambio de actitud de Microsoft sobre el código abierto y los esfuerzos por construir una comunidad de código abierto más fuerte es evidencia de la creciente adopción y adaptación del código abierto. [44]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda ){{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )