InnerSource es el uso de las mejores prácticas de desarrollo de software de código abierto y el establecimiento de una cultura similar al código abierto dentro de las organizaciones [1] para el desarrollo de su software no abierto y/o propietario . El término fue acuñado por Tim O'Reilly en 2000 [2] en su columna. [3]
Se reconoce que el código abierto es capaz de ofrecer software de alta calidad. [4] Además, la colaboración abierta en código abierto permite la colaboración incluso entre competidores (por ejemplo, ARM e Intel trabajando en el kernel de Linux en decisiones basadas en el mérito).
En consecuencia, las organizaciones de desarrollo de software quieren beneficiarse de sus resultados (los componentes y herramientas de software), pero también de las prácticas de desarrollo ejercidas y establecidas en el mundo del código abierto. [5]
Además de varias prácticas establecidas en fundaciones como Apache Software Foundation , Linux Foundation y Eclipse Foundation , InnerSource y los proyectos de código abierto requieren colaboración abierta , comunicación abierta y un control de calidad adecuado .
Todos los artefactos de desarrollo necesarios (por ejemplo, código, documentación, seguimiento de problemas , etc.) deben ser accesibles para todos los empleados de una empresa que utilice InnerSource. Los forjos de software centrales son una herramienta esencial para implementar la colaboración abierta.
Basándose en los principios de colaboración abierta ( igualitaria , meritocrática y autoorganizada), todo colaborador que esté dispuesto a ayudar a un proyecto de InnerSource suele ser bienvenido. Las contribuciones a los proyectos de InnerSource suelen juzgarse de forma meritocrática en función del valor que aportan al proyecto. La meritocracia también puede facilitarse mediante una comunicación abierta, ya que las decisiones se debaten públicamente. Aunque una organización no necesariamente se vuelve completamente autoorganizada para adoptar InnerSource, InnerSource permite a los individuos, las unidades organizativas y las comunidades de proyectos un mayor grado de autoorganización.
Los proyectos y programas de InnerSource se basan en la comunicación abierta para que todos los empleados puedan acceder a toda la comunicación abiertamente. La comunicación abierta es una comunicación pública (dentro de la empresa), escrita, archivada y completa. Como consecuencia de esta propiedad, la comunicación es asincrónica. El objetivo es permitir que cualquier persona o parte que tenga interés en un proyecto de InnerSource participe en la comunicación. A medida que se archivan las discusiones de comunicación abierta, se recopila de forma pasiva una documentación detallada del software que permite volver atrás y revisar las discusiones y decisiones históricas.
Una revisión de código dedicada y la separación de colaboradores y confirmadores (integradores, desarrolladores con acceso de escritura) garantizan la calidad de un proyecto de código abierto y, por lo tanto, también de un proyecto InnerSource.
Más allá de los atributos de calidad del software de código abierto se reportan los siguientes beneficios: [6] [7]
Entre otras, las siguientes empresas son conocidas por adoptar InnerSource: [6]
InnerSource puede ser un enfoque prometedor para las grandes organizaciones que desarrollan software. Sin embargo, puede que no sea adecuado para todos los entornos. Se pueden consultar los siguientes nueve factores, agrupados en tres categorías, para evaluar en qué medida InnerSource puede ser adecuado. [13]
InnerSource (IS) es el uso de prácticas de desarrollo de software de código abierto y el establecimiento de una cultura similar al código abierto dentro de las organizaciones. La organización aún puede desarrollar software propietario, pero abre internamente su desarrollo.
Tim O'Reilly, fundador de O'Reilly Media, acuñó el término "inner-sourcing" en 2000, describiéndolo como: "el uso de técnicas de desarrollo de código abierto dentro de la corporación".
También hemos trabajado con empresas en lo que llamamos "inner sourcing", es decir, ayudarlas a utilizar técnicas de desarrollo de código abierto dentro de la corporación.
{{citation}}
: CS1 maint: varios nombres: lista de autores ( enlace )[...] varias organizaciones han adoptado prácticas de código abierto para desarrollar su software. [...] A diferencia de los enfoques tradicionales, los desarrolladores de un proyecto InnerSource no pertenecen a un solo equipo o departamento. En cambio, cualquier persona dentro de los confines de la organización puede convertirse en un miembro contribuyente de esta comunidad interna, ya sea como usuario o colaborador.