Inner source : bienvenue dans la seconde décennie
A l'époque, sa définition de l'inner source était « d'utiliser les méthodologies de développement open source au sein de l'entreprise ou avec un groupe de clients clés, même s'ils ne sont pas prêts à franchir le pas pour publier leur logiciel comme un projet open source public ».
En vingt ans, les choses n'ont pas beaucoup changé.
La définition de l'inner source est relativement toujours la même : les entreprises se réinventent en communauté open source. A l'exception qu'elles se dirigent maintenant sur cette voie pour des raisons beaucoup plus stratégiques que le fait de ne pas être prêtes à se tourner vers l'open source.
En cela, l'inner source est considérée comme un moyen d'améliorer considérablement le processus de développement logiciel en permettant aux équipes décentralisées de développer un logiciel d'une manière beaucoup plus efficace qu'avec les méthodes classiques, dans le pare-feu de l'entreprise.
Au fond, l'exploitation des meilleures pratiques open source hautement efficaces et distribués à l'échelle mondiale apportera les avantages habituels dont bénéficient déjà lesdits projets. Mais à l'intérieur de l'entreprise, cela permet surtout à des équipes qui n'ont pas l'habitude de travailler ensemble (par exemple, des équipes agiles réparties dans plusieurs pays) de contribuer à une base de code commune, transformant un potentiel cauchemar (en local) en une réalité efficace (par optimisation des compétences en interne).
« L'innovation se fait ailleurs » (Bill Joy, cofondateur de Sun Microsystems)
De cette émulation collective, de profils divers et épars, émerge généralement quelque chose d'exceptionnel : l'innovation ! Vous obtiendrez beaucoup à ce niveau en encourageant les gens à sortir des sentiers battus dans leur raisonnement, autrement dit « think out of the box ». Et ceux qui sont le mieux placer pour y parvenir sont ceux qui sont ne sont pas dans le même environnement que vous. Collaborer avec des équipes venant d'horizons professionnels et de cultures différents pour contribuer aux efforts collectifs de développement logiciel favorisera la création d'idées, à la fois plus rapidement et de manière plus cohérente qu'une équipe centralisée ne le ferait.
Dans l'approche de l'inner source, les développeurs participent au projet en fonction du temps qu'ils peuvent y allouer et en ciblant ce dont ils ont besoin/veulent y voir intégrer. Ce modèle de contribution, basé sur les besoins et la disponibilité de l'équipe de développement, permet une gestion plus rationalisée et efficace du temps, et ne nécessite pas de processus complexes de gestion.
L'inner source favorise ainsi l'accélération de cycles de développement pour une amélioration de la collaboration entre développeurs, de la qualité et de la production du code en interne, ainsi que de la mise sur le marché du produit.
Mais pour que cela fonctionne de manière efficiente, il faut mettre en place les bons modèles afin que les équipes de développement travaillent véritablement ensemble. La gouvernance du projet, la structure méritocratique induite par le modèle open source, la séparation entre contributeurs et « committeurs », les revues de code, le leadership et les outils de la communauté, tous comme les technologies sont essentiels pour fournir un développement sans heurt.
L'utilisation de mécanismes internes et externes de crowdfunding ou de « gig-économie » pour encourager les contributions initiales sont également des leviers à envisager pour vous permettre d'avancer efficacement.
Si les grandes organisations prospères comme PayPal et Capital One ont de solides activités internes et partagent leurs best practices dans le cadre de groupes de travail pour aider certaines entreprises à réussir, d'autres doivent agir par elles-mêmes et se décider. Alors, quand allez-vous vous lancer et mettre en oeuvre votre propre programme d'inner source ?
Gilles Gravier, Director, Senior Open Source and Blockchain Strategy Advisor - Wipro.
Sur le même thème
Voir tous les articles Open source