Inner source

L’inner source, ou innersource en un seul mot[1], est l'adoption des pratiques de développement logiciels open source et l'établissement d'une culture de type open source au sein même d'une organisation[2]. Le concept d’inner sourcing a été inventé et exposé par Tim O'Reilly en 2000[3],[4]. D'autres désignations existent : corporate open source, internal open source, progressive open source[5].

Objectif

L'open source est reconnu pour être capable de fournir des logiciels de haute qualité. De plus, la collaboration ouverte en open source permet une collaboration même entre concurrents (par ex. ARM et Intel travaillant sur le noyau Linux avec un modèle décisionnel basé sur le mérite).

Par conséquent, les organisations développant du logiciel veulent bénéficier des résultats des développements (les composants logiciels et les outils), mais aussi des pratiques de développement exercées et établies dans le monde open source[6],[7].

Pratiques open source utilisées

Outre plusieurs pratiques établies dans des fondations telles que la fondation Apache, la fondation Linux et la fondation Eclipse, les projets innersource et opensource nécessitent une collaboration ouverte, une communication ouverte et une assurance qualité appropriée.

Collaboration ouverte

Tous les artefacts de développement requis (par exemple, le code, la documentation, le suivi des problèmes, etc.) doivent être accessibles à tous les employés d'une entreprise tirant parti de l’innersource. Les forges logicielles centralisées sont un outil essentiel pour mettre en œuvre une collaboration ouverte.

Sur la base des principes de collaboration ouverte (égalitaire, méritocratique et auto-organisé), tout contributeur désireux d'aider un projet innersource est généralement le bienvenu. Les contributions aux projets innersource sont généralement jugées en fonction de la valeur qu'elles apportent au projet, par la méritocratie. La méritocratie peut également être rendue possible par une communication ouverte puisque les décisions sont discutées publiquement. Bien qu'une organisation ne devienne pas nécessairement complètement auto-organisée pour adopter l’innersource, l’innersource permet aux individus, aux unités organisationnelles et aux communautés de projet un degré plus élevé d'auto-organisation.

Communication ouverte

Les projets et programmes innersource reposent sur une communication ouverte pour rendre toute communication directement accessible à tous les employés. La communication ouverte est une communication publique (au sein de l'entreprise), écrite, archivée et complète. En conséquence, la communication se fait de manière asynchrone. L'objectif est de permettre à toute personne ou partie qui a un intérêt dans un projet innersource de participer à la communication. Au fur et à mesure que les discussions de communication ouvertes sont archivées, elles constituent une documentation détaillée et centralisée du logiciel, ce qui permet de revoir les discussions et les décisions historiques en examinant les communications passées.

Assurance qualité par la séparation entre contribution et intégration

Une revue de code dédiée, et la distinction entre contributeurs et committers (intégrateurs, développeurs avec accès en écriture) assurent la qualité d'un projet open source, et donc aussi des projets inner source.

Avantages

Au-delà des attributs de qualité logicielle source, les retours d’expérience ont montré certains avantages suivants[8] : développement plus efficace et plus efficient, briser l’effet silo des organisations, une meilleure réutilisation, utilisation des compétences manquantes chez les fournisseurs de composants, meilleure indépendance entre les réutilisateurs et les fournisseurs, pression moindre pour les fournisseurs de composants, meilleur produit logiciel, amélioration de la qualité du code, des développements plus innovants, une utilisation plus flexible des développeurs, meilleure gestion des connaissances, plus grande motivation des employés[9],[8].

Prévalence

Entre autres, les sociétés suivantes sont connues pour avoir adopté l’innersource[9] :

Facteurs clés pour l’adoption de l’inner source

L’inner source peut être une approche prometteuse pour les grandes organisations qui développent du logiciel. Cependant, il peut ne pas être approprié dans tous les contextes[16].

Notes et références

🔥 Top keywords: