stringtranslate.com

Fuente interna

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]

Motivación

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]

Se utilizaron prácticas de código abierto

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 .

Colaboración abierta

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.

Comunicación abierta

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.

Garantía de calidad mediante la separación de la contribución de la integración

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.

Beneficios

Más allá de los atributos de calidad del software de código abierto se reportan los siguientes beneficios: [6] [7]

Desarrollo más eficiente y eficaz
Superar los límites de las unidades organizativas
  • Reparto de costos y riesgos entre unidades organizacionales
  • Colaboración a través de los límites de las unidades organizativas
  • Intercambio de información a nivel de todo el programa
Reutilización más exitosa
  • Aprovechamiento de las competencias que faltan en los proveedores de componentes
  • Independencia entre reutilizadores y proveedores
  • Alivio de los proveedores de componentes
Mejor producto de software
Utilización más flexible de los desarrolladores
  • Implementación simplificada para desarrolladores
  • Colaboración de desarrolladores independientes
Gestión mejorada del conocimiento
  • Aprendizaje basado en la comunidad
  • Apertura y disponibilidad del conocimiento
Mayor motivación de los empleados

Predominio

Entre otras, las siguientes empresas son conocidas por adoptar InnerSource: [6]

Factores clave para adoptar InnerSource

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]

Factores del producto

Factores de proceso y herramientas

Factores de organización y comunidad

Referencias

  1. ^ Capraro, Maximilian; Riehle, Dirk (6 de febrero de 2017). "Definición, beneficios y desafíos de InnerSource" (PDF) . ACM Computing Surveys . 49 (4): 1–36. doi :10.1145/2856821. ISSN  0360-0300. S2CID  5385511. 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.
  2. ^ ben van 't ende (9 de mayo de 2016). "InnerSource: un enfoque de código abierto para la cultura comunitaria". 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".
  3. ^ O'Reilly, Tim (1 de diciembre de 2000). "Código abierto y OpenGL". oreilly.com . O'Reilly and Associates. Archivado desde el original el 15 de febrero de 2015 . Consultado el 22 de febrero de 2017 . 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.
  4. ^ Kevin Crowston, Kangning Wei, James Howison, Andrea Wiggins (2012), ACM (ed.), "Desarrollo de software libre y de código abierto: lo que sabemos y lo que no sabemos", ACM Computing Surveys (en alemán), 44 (2): 1–35, doi :10.1145/2089125.2089127, S2CID  2246943{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  5. ^ Stol, Klaas-Jan; Fitzgerald, Brian (2014). "InnerSource—adopting open source development practices within organizations: a tutorial" (PDF) . IEEE Software . doi :10.1109/MS.2014.77. hdl : 10344/4443 . S2CID  1965218. [...] 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.
  6. ^ ab Capraro, Maximilian; Riehle, Dirk (1 de diciembre de 2016). "Definición, beneficios y desafíos de InnerSource". ACM Comput. Surv . 49 (4): 67:1–67:36. doi :10.1145/2856821. ISSN  0360-0300. S2CID  5385511.
  7. ^ Stol, Klaas-Jan; Fitzgerald, Brian (1 de julio de 2015). "InnerSource: adopción de prácticas de desarrollo de código abierto en las organizaciones: un tutorial" (PDF) . IEEE Software . 32 (4): 60–67. doi :10.1109/MS.2014.77. hdl : 10344/4443 . ISSN  0740-7459. S2CID  1965218.
  8. ^ Actualización de la investigación interna de Solorigate de Microsoft.
  9. ^ Oram, Andy (2015). Introducción a InnerSource. O'Reilly Media, Inc. ISBN 978-1-491-93758-7.
  10. ^ Smith, Jared (2016). Uso de métodos de código abierto para proyectos de software internos. O'Reilly Media, Inc.
  11. ^ Archivado en Ghostarchive y Wayback Machine: Commit San Francisco 2020: Descascarando ostras corporativas: impulsando una cultura de internalización en T-Mobile. YouTube .
  12. ^ "Ver: Creación de un centro InnerSource en Siemens". JFrog . 2020-07-28 . Consultado el 2020-12-09 .
  13. ^ Stol, KJ; Avgeriou, P.; Babar, MA; Lucas, Y.; Fitzgerald, B. (2014). "Factores clave para adoptar InnerSource". Transacciones ACM sobre Ingeniería y Metodología de Software . 23 (2): 1. doi :10.1145/2533685. hdl : 10344/3897 . S2CID  6995068.