Retour au numéro
Vue 71 fois
01 octobre 2018

L’OPEN SOURCE AU CŒUR DE LA RÉVOLUTION NUMÉRIQUE

En quelques années, la philosophie de l’open source a gagné de très nombreux secteurs du numérique. Cela est particulièrement vrai pour les domaines du big data ou de l’intelligence artificielle : difficile de lire un article sur le sujet sans entendre parler, entre autres, de Hadoop ou Tensorflow. Comment naissent et grandissent de tels projets ? Quels sont les forces, les enjeux et les limites de l’open source ?


Popularisé auprès du grand public par les systèmes d’exploitation Linux, l’open source est souvent confondu avec la notion de gratuité. Mais n’y voir que cet aspect serait trop réducteur. Plus que la gratuité, ce sont les droits de lire, utiliser, modifier et redistribuer librement le code source d’un logiciel qui sont au cœur de la démarche et qui motivent la formation de larges communautés d’utilisateurs et de contributeurs. Au-delà du logiciel, cette philosophie de partage se développe aussi pour la production scientifique, voire la mise à disposition de données.

Cette vague d’ouverture n’est pas étrangère aux développements fulgurants qu’a connus l’intelligence artificielle ces dernières années (voir encadré). Créant une forte émulation dans une communauté d’acteurs élargie, elle diminue les barrières à l’entrée tout en créant de nombreuses vocations. Dans un monde où une rente de situation historique peut être remise en cause par le développement d’outils concurrents open source, on peut penser à Matlab fortement chahuté par l’écosystème qui s’est constitué autour du langage python, l’innovation rapide devient la clé de la survie.

Un pour tous, tous pour un

Outre le développement de logiciels grand public, une des grandes forces de l’open source est le développement de bibliothèques qui outillent des fonctionnalités transverses. Une maxime

le résume ainsi : « travailler tous ensemble pour créer des outils au profit de chacun ». Parmi ces outils, on peut penser à Numpy pour le calcul scientifique ou Scikit-learn pour l’apprentissage automatique, qui sont portés par une large communauté de contributeurs, mais aussi à Tensorflow, PyTorch ou encore CNTK pour le développement de réseaux de neurones, portés respectivement par les équipes de Google, Facebook et Microsoft avec la participation de nombreux autres contributeurs. Dans tous les cas ces développements open source favorisent l’apparition de standards interopérables et augmentent ainsi la réutilisabilité de tout investissement de développement. L’utilisation de logiciels open source permet également d’éviter de s’enfermer dans des logiques propriétaires qui rendent vulnérable à tout changement de politique commerciale, par exemple l’introduction de nouveaux modes de facturation qui peuvent faire exploser l’addition et rendre un système déployé difficilement soutenable financièrement.

Les bénéfices de l’open source


On l’a vu, de très grandes entreprises investissent massivement dans le développement d’outils open source. Quels sont donc les bénéfices que ces sociétés en retirent ?

Le premier, c’est d’élargir très rapidement la communauté des utilisateurs : plus d’utilisateurs, c’est plus de retours d’expérience et

donc d’améliorations du produit, qui peuvent même être faites gratuitement par la communauté. En plus des économies associées, la société gagne surtout en réactivité pour s’adapter efficacement aux besoins du marché et, ce faisant, la solution proposée a plus de chances de devenir un standard de facto. Dans un monde où l’accès à des développeurs chevronnés peut se révéler être un challenge, pouvoir s’appuyer sur une communauté importante travaillant bénévolement est un avantage compétitif extraordinaire. En s’imposant comme un standard avec une très large base d’utilisateurs, la société peut alors monnayer ses services pour la mise en œuvre du logiciel dans des contextes industriels ou pour l’accès à des fonctionnalités connexes. Il lui est aussi beaucoup plus facile de recruter des gens parfaitement compétents sur ses produits, sans passer par une étape de formation longue et coûteuse.

L’open source induit donc un profond changement du business, qui passe progressivement d’un paradigme orienté produit, rentabilisé par la vente de licences, à un paradigme orienté service, rentabilisé par la vente de prestations spécifiques à chaque client. Dit autrement, il ne s’agit plus aujourd’hui de développer une solution propriétaire à laquelle l’utilisateur doit s’adapter, mais plutôt de savoir assembler la connaissance disponible à l’instant t de la manière la plus pertinente pour un client donné.

Quelques limitations

L’open source n’est toutefois pas exempt de limites. Une limitation des projets portés majoritairement par la communauté, par opposition à ceux portés par une entreprise, est le fractionnement du travail bénévole parfois incompatible avec de lourdes refontes rendues nécessaires avec le temps. En effet, la coordination entre développeurs bénévoles répartis aux quatre coins du monde est complexe : 40 personnes travaillant 1h par semaine ne sont pas équivalentes à 1 personne travaillant 40h... Certains projets open source portent ainsi une « dette technique » historique qui peut complexifier la mise en œuvre de certaines fonctionnalités. Mais des solutions existent : l’université de Berkeley a notamment financé au cours des trois dernières années un poste d’ingénieur à plein temps chargé d’« améliorer l’écosystème Python pour les scientifiques », qui a permis de redynamiser les développements autour de bibliothèques très populaires comme Numpy ou Pip.

« BUSINESS MODEL... SAVOIR ASSEMBLER LA CONNAISSANCE DISPONIBLE
À L’INSTANT T »

D’autre part, il peut être compliqué de manager l’innovation

Quelques projets open source qui illustrent l’envergure et la variété des développements

ouverte et de maintenir la cohérence d’ensemble du produit avec une feuille de route claire. Cela suppose d’avoir une équipe « dirigeante » apte à accepter ou refuser les propositions soumises par toute la communauté. Cela permet de garantir à la fois la cohérence, mais également la qualité du code du produit final. En effet, si l’open source est parfois associé par certains à l’idée d’une mauvaise qualité de code, la société Coverity, spécialisée dans l’analyse de code, a publié en 2013 une étude montrant que sur plus de 900 millions de lignes de code C/C++ analysées, le taux de défauts était en moyenne inférieur dans le code open source que dans le code propriétaire. Réussir à gérer ces projets collaboratifs de manière décentralisée tout en assurant un consensus global est la motivation principale de certaines associations, à l’instar de la fondation Apache qui a porté depuis 1999 plusieurs dizaines de projets ayant eu un impact considérable – l’exemple d’Hadoop devrait à lui seul convaincre le lecteur.

L’open source joue donc un rôle prépondérant dans la révolution numérique en cours. C’est une opportunité qu’il faut savoir saisir, aussi bien pour les entreprises que pour leurs clients, même si cela suppose parfois des changements organisationnels importants.

 

Auteur

Articles liés par des tags

Commentaires

Commentaires

Vous devez être connecté pour laisser un commentaire. Connectez-vous.