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
- (en) Cet article est partiellement ou en totalitĂ© issu de lâarticle de WikipĂ©dia en anglais intitulĂ© « Inner source » (voir la liste des auteurs).
- (en) Understanding the InnerSource Checklist by Silona Bonewald : « The term we are using was coined by Tim OâReilly more than 15 years ago. Originally, it was âInner Source,â but we removed the space between the words so that the term is findable in a search. »
- (en) Capraro et Riehle, « Inner Source Definition, Benefits, and Challenges », ACM Computing Surveys, vol. 49, no 4,â , p. 1â36 (ISSN 0360-0300, DOI 10.1145/2856821, lire en ligne) :
« Inner source (IS) is the use of open source software development practices and the establishment of an open source-like culture within organizations. The organization may still develop proprietary software but internally opens up its development. »
- Ven van 't ende, « InnerSource: An Open Source Approach to Community Culture », : « Tim OâReilly, the founder of OâReilly Media, coined the term âinner-sourcingâ in 2000, describing it as: âthe use of open source development techniques within the corporation.â »
- O'Reilly, « Open Source and OpenGL » [archive du ], oreilly.com, O'Reilly and Associates, (consultĂ© le ) : « [W]e've also worked with companies on what we call âinner sourcingâ â that is, helping them to use open source development techniques within the corporation. ».
- (en) Martin Höst et al, Inner Source Project Management, chap. 14 de Software Project Management in a Changing World, Springer, 21 may 2014, pp. 343-369.
- Stol, Klaas-Jan; Fitzgerald, Brian, « Inner sourceâadopting open source development practices within organizations: a tutorial », IEEE Software,â (DOI 10.1109/MS.2014.77, lire en ligne) :
« [...] a number of organizations have adopted open source practices to develop their software. [...] Unlike traditional approaches, developers of an inner source project do not belong to a single team or department. Instead, anybody within the confines of the organization can become a contributing member of this internal community, either as a user or contributor. »
- « Innersource | Opensource.com », sur opensource.com (consulté le )
- Stol et Fitzgerald, « Inner Source - Adopting Open Source Development Practices within Organizations: A tutorial », IEEE Software, vol. 32, no 4,â , p. 60â67 (ISSN 0740-7459, DOI 10.1109/MS.2014.77, lire en ligne)
- Capraro et Riehle, « Inner Source Definition, Benefits, and Challenges », ACM Comput. Surv., vol. 49, no 4,â , p. 67:1â67:36 (ISSN 0360-0300, DOI 10.1145/2856821, lire en ligne)
- Microsoft Internal Solorigate Investigation Update (lire en ligne)
- Andy Oram, Getting Started with InnerSource, OâReilly Media, Inc., (ISBN 978-1-491-93758-7, lire en ligne)
- Jared Smith, Using open source methods for internal software projects, OâReilly Media, Inc., (lire en ligne)
- « Commit San Francisco 2020: Shucking Corporate Oysters-Kickstarting an Innersource Culture @ T-Mobile » (consulté le )
- (en-US) « Watch: Creating an Inner Source Hub at Siemens », JFrog, (consulté le )
- (en-US) Senior Writer, « How Wal-Mart enables âinnersourceâ with Github », sur CIO (consultĂ© le )
- Stol, Avgeriou, Babar et Lucas, « Key factors for adopting inner source », ACM Transactions on Software Engineering and Methodology, vol. 23, no 2,â , p. 1 (DOI 10.1145/2533685).