Inner Source para llevar todas las ventajas del Open Source al corazón de las compañías
07 Abr 2022
Para comprender el concepto de Inner Source y su sentido dentro de las compañías debemos de hablar primero sobre el Open Source o código abierto. Como muchos ya sabréis, el Open Source se basa en comunidades abiertas del mundo del software que no pertenecen a una empresa en concreto. Estas comunidades unen a personas interesadas sobre un mismo tema para crear soluciones y productos de software. Es decir, soluciones no propietarias ya que no pertenecen a ninguna empresa u organización. Las comunidades Open Source tienen una serie de ventajas por su carácter colaborativo que las empresas quieren aprovechar, y es por ello por lo que nace el concepto de Inner Source. Se trata así de trasladar el modelo de trabajo y los beneficios del desarrollo Open Source al interior de las compañías.
Superando los retos de las organizaciones a través del Inner Source
Los desarrollos Open Source tienen un gran éxito ya que cuentan con muchas personas colaborando, que multiplican tanto los ojos para ver errores como las manos para mejorar y crear. Al incorporar esta práctica de desarrollo de código abierto en el contexto de la organización, a través del Inner Source, resulta más sencillo superar tres grandes retos:
- En primer lugar, se facilita la reutilización de componentes y soluciones. Al abrir el desarrollo a toda la organización es más sencillo que los desarrolladores puedan reutilizar piezas de código y soluciones que ya están creadas. Esto permitirá ganar en eficiencia respecto a los costes de desarrollo, al no tener que repetir la misma cosa varias veces para diferentes proyectos.
- En segundo lugar, ayuda a solucionar el problema de las organizaciones estructuradas en silos. Por lo general en las compañías existen distintos departamentos o unidades de negocio y lo que se hace en uno es muy diferente a lo que se hace en otro. La falta de vías para la colaboración y la comunicación supone un problema importante. Sin embargo, las comunidades Inner Source permiten que todos los desarrolladores participen en diferentes proyectos. Se rompen así los silos funcionales de la organización, mejorando tanto la eficiencia como la toma de decisiones al tener una perspectiva mucho más amplia.
- Por último, una cultura Inner Source puede disminuir la rotación de personal en los equipos de IT. Al tener una comunidad de desarrollo, en la que las personas pueden colaborar en distintos proyectos, se sentirán más motivados. Dentro de los límites que permita la organización, los desarrolladores podrán elegir en qué tareas les resulta más interesante trabajar.
Las ventajas de implantar el Inner Source en algunos proyectos son sin duda interesantes. ¿Pero, qué se debe de tener en cuenta al llevarlos a cabo? ¿Qué pasos hay que dar para empezar a hablar de Inner Source en la organización?
Aspectos a tener en cuenta para crear una comunidad Inner Source
Lo primero que debemos de tener en cuenta es que una organización no pasa a trabajar con Inner Source de la noche a la mañana. Es necesario un proceso de transformación en el que, en primer lugar, habrá que detectar qué proyectos o productos de desarrollo son más susceptibles de pasar a una comunidad Inner Source y abrirse a la organización. A partir de ese producto abriéndose abrirán ciertos desarrollos a diferentes perfiles (QA, UX, UI, negocio, etc.) de diferentes departamentos y se creará un ecosistema Inner Source, cambiando la forma en que se disponen los activos de software.
Y para hacer esa apertura inicial habrá que establecer ciertas normas, parámetros o responsables:
- Por un lado se elegirá a un líder para el producto. En las comunidades Open Source a este líder se le denomina “dictador benevolente”. Y esto es porque, aunque establece las reglas sobre cómo va a ser el producto, lo hace con una actitud de servicio, ayudando en todo momento a la comunidad a desarrollar ese producto y a guiar a la comunidad.
- Habrá que identificar también qué personas podrán ser colaboradoras o “contributors”. Es decir, qué personas estarán más predispuestas a colaborar en el proyecto. Esto puede ser porque el proyecto les resulte interesante o porque obtengan alguna ventaja para otro proyecto en el que estén trabajando. Al abrir el desarrollo a la organización, sus integrantes podrán colaborar o realizar contribuciones a esa base de código.
- También será muy importante establecer una serie de reglas de la casa sobre cómo deben de hacerse las cosas dentro de la comunidad. Estos patrones podrán afectar a la comunicación, la colaboración, la documentación o los propios desarrollos y serán fundamentales para dar lugar a comunidades sanas y eficientes.
- Por último, también hay que destacar la figura del Review Comitee. Un comité que estará encargado de velar por todo el ecosistema Inner Souce e identificar las iniciativas más prometedoras para incorporarlas al sistema. Este comité establecerá también los criterios que deberán de cumplir los proyectos para entrar en el ecosistema Inner Source.

El futuro del Inner Source en las organizaciones
El Inner Source es en realidad un reto para las organizaciones, pues muchas no se encuentran preparadas para hacerlo por sí mismas. Para crear una cultura Inner Source que funcione será necesario un plan para convertir poco a poco la base de trabajo en una comunidad Inner Source. Además, también habrá que tomar decisiones sobre qué proyectos tiene sentido que entren en esta comunidad y qué otros deben desarrollarse de forma cerrada.
En cuanto a los principales frenos, nos encontramos con que las personas en la organización pueden ver amenazado su puesto de trabajo al romper ciertas estructuras. Por eso los problemas organizacionales serán uno de los focos a vigilar para lograr este cambio. Deberán de establecerse modelos de retribución adecuados, teniendo en cuenta las diferentes unidades de negocio y la repercusión en la cuenta de resultados. En definitiva, para que el desarrollo Inner Source se extienda y tenga sentido en la organización serán necesarios modelos sencillos y transparentes y un cambio cultural para que todas las personas se enfoquen en una misma dirección.