L’open Source teinté d’orange
Orange est un acteur incontournable de l’open Source et l’initiative OW2 n’y est pas pour peu. Allons- y pour un petit tour de L’OS chez le câblo- opérateur historique.
Les concepts de logiciel libre et de logiciel open source ont été introduits respectivement par la FSF ( Free Software Foundation) et par L’OSI ( Open Source Initiative) qui se distinguent toutes deux par leur approche respective. Pour la FSF, il s’agit avant tout de garantir la liberté des logiciels, alors que l’objectif de L’OSI est de faciliter leur réutilisation. Les logiciels libres – ou open source – existent depuis plus de trente ans, grâce notamment à ce cher Richard Stallman. Ils sont devenus populaires grâce à ce non moins cher Linus Torvald, bien sûr, et à quelques logiciels phares tels que le navigateur Firefox, les SGBDR Firebird, Postgresql ou MYSQL ou à la suite bureautique Open Office. Les licences libres ou open source les plus fréquemment rencontrées sont les licences Apache, BSD, GPL ou encore MIT. Le logiciel libre est supporté par des communautés de développeurs et piloté par des projets, des fondations et des entreprises. Les projets sont organisés autour de quelques règles et gérés par consensus ou bien par les fondateurs et développeurs seniors de la communauté. Ce modèle est assez bien adapté aux projets relativement petits comme Django. Les fondations définissent des règles et des processus de décision. Elles sont, le plus souvent, gouvernées par un conseil d’administration élu par les membres de la fondation. Les fondations gèrent généralement plusieurs projets qui peuvent être de très grande ampleur. C’est le cas des fondations Eclipse ou Apache. Enfin, il y a aussi des entreprises qui pilotent des projets open source autour desquels des communautés se créent. Pour les projets de ce type, le produit ( logiciel, framework, API…) est souvent disponible sous des licences multiples. L’utilisateur peut alors choisir entre une licence open source ou une version commerciale. Vous retrouvez dans cette catégorie Red Hat avec le FS ( File System) btrfs ou Digia qui pilote le projet Qt, une bibliothèque graphique C++ disponible également pour Python et quelques autres langages. Il existe aussi des consortiums indépendants qui fédèrent des projets en vue de dynamiser les communautés et d’assurer leur promotion. Les entreprises sponsors sont représentées dans leur conseil d’administration. C’est le cas D’OW2 ( https:// www. ow2. org/) dont Orange est co- fondateur et membre – éminemment – stratégique.
Les projets d’orange hébergés par OW2
OW2 est une organisation indépendante à but non lucratif dédiée
au développement et à la promotion de projets open source dans les domaines du middleware, des applications business génériques et des plates- formes du Cloud. Orange en est donc membre fondateur et participe à sa gouvernance ainsi qu’à son fonctionnement. Co- leader notamment de l’initiative ( commune) Open Source Cloudware, Orange pilote ou contribue à plusieurs projets open source hébergés par OW2. OW2 est en quelque sorte une communauté informatique mondiale indépendante dédiée au développement de logiciels d’infrastructure ( middleware et applications génériques) open source et à l’animation d’un écosystème d’affaires pour valoriser cette base de code. OW2 héberge une centaine de projets technologiques dont ADR App, ASM, Authzforce, Bonita, CLIF, Docdoku, Fusiondirectory, GLPI, JONAS, JORAM, JOTM, Knowage, LEMONLDAP: NG, Lutece, Petalsesb, Prelude, Proactive, Rocketchat, SAT4J, Seedstack, Spagic, Spago4q, Sympa, Telosys, Waarp, Weblab, Xwik et d’autres encore. Parmi les projets auxquels Orange contribue, nous pouvons citer CLIF,
JONAS, Sirocco ou OSAI. CLIF ( https:// opensource. orange. com/ fr/ category/ clif- fr/), distribué sous la licence GNU LGPL ( Lesser General Public License),
est une plate- forme de test de charge et de performance pour toutes sortes de systèmes. Clif permet d’injecter du trafic à l’aide de divers protocoles tels que
http, FTP ou SIP et d’utiliser des sondes pour mesurer l’utilisation de différentes ressources comme la CPU, la mémoire vive ou le réseau. JONAS, ou Java Open Application Server ( voir sur jonas. ow2. org), distribué sous licence LGPL, est un serveur d’applications certifié Java EE 5. Il est basé sur une architecture de services OSGI ( Open Services Gateway initiative) permettant l’adaptation dynamique du serveur d’applications. Sirocco ( http:// forge. ow2. org/ projects/ sirocco/), distribué lui aussi sous licence GNU LGPL, est une plateforme D’IAAS ( Infrastructure- as- aService) multi- cloud offrant la gestion de multiples fournisseurs de Cloud et hyperviseurs, un portail unifié et une interface de programmation en REST.
L’initiative Accessibilité Open Source
Cette initiative a été menée par Orange en 2016 et hébergée par OW2. OSAI a été fondée afin de tirer profit de l’approche collaborative de l’open Source et de faire progresser l’accessibilité, principalement pour le numérique – mais pas seulement – à travers des projets logiciels, dont plusieurs apportés par Orange, et d’autres livrables ( formations, outils de communication, recommandations). Les contributions historiques d’orange à OSAI sont Fractal, un modèle à composants extensible et son implémentation Think ( Think Is Not a Kernel), les composants gérant la persistance que sont JORM, Speedo, Perseus ou MEDOR, le framework de manipulation de bytecode Java ASM et Salometmf, un outil de gestion de tests.
Cozy Cloud : deux applications Orange réutilisables par les développeurs
Dans le cadre du projet Mes Infos, animé par la FING, deux applications ont été développées pour tester le concept de Self Data. Elles sont conçues pour fonctionner dans un environnement Cozy Cloud, Cloud personnel permettant
d’exécuter des applications locales qui s’appuient sur les données personnelles de l’utilisateur pour proposer divers services. L’application La musique de mes films gère une bibliothèque de films que vous avez visionnés sur votre Livebox Orange ( VOD ou Replay) ou que vous avez ajoutés manuellement. Cette bibliothèque est créée dans votre Cozy Cloud via le connecteur Orange_ Livebox. En interrogeant des bases Open Data ( Wikipedia, Wikidata, Musicbrainz) l’application recherche les bandes sonores originales des films visionnés et, en cas de succès, propose de les écouter sur Deezer. Mapping My, quant à elle, Life permet de visualiser aisément la géolocalisation de votre téléphone mobile sur une période donnée. L’application affiche les données de localisation du terminal mobile récupérées par le réseau mobile lors des appels ou SMS émis ou reçus et, si l’utilisateur y consent, une localisation plus précise ( 2 fois par heure). Ces données de géolocalisation sont récupérées dans votre Cozy Cloud via le connecteur Orange Mobile. Ses principales fonctionnalités sont le Timeline, un filtre temporel de sélection des données affichées, la Carte, qui affiche sur une carte tous les points de géolocalisation et leur type ( appels, SMS…), les Lieux fréquents, qui affiche les emplacements les plus fréquents, en regroupant les points de géolocalisation, et permet aussi de les nommer ( maison, lieu de travail, etc.) et l’itinéraire qui peut afficher l’itinéraire du jour donné. Ces projets sont eux aussi disponibles sur le Github d’orange, tous deux sous licence MIT.
La 5G s’expérimente en Open Source
L’équipe dirigée par Marion Duprez, responsable de la plate- forme de recherche Plug in the future chez Orange, s’est demandé comment tirer parti des logiciels open source pour l’avenir de la 5G. Après avoir mené des explorations sur le sujet, une démonstration, mettant en situation un cas d’usage concret, a pu voir le jour une première fois en exclusivité lors de la dernière édition du Mobile World Congress à Barcelone. Cette démonstration a été réalisée en direct à l’occasion du Salon de la Recherche 2019. Voici son modus operandi et les enseignements qui en ont découlé.
Orchestration Réseau
Nommée 5G Open source Network, la démonstration montre le déploiement d’un réseau mobile et sa gestion dynamique en tenant compte des besoins clients. La 5G tirera partie de la flexibilité du Cloud et des fonctions réseau virtualisées. La démo montre la mise en place d’une infrastructure cloud, puis le déploiement par l’orchestrateur des fonctions réseau 5G virtualisées. Les outils logiciels choisis sont tous open source : Kubernetes, Docker et ONAP ( Open Network Automation Platform). Les architectes et intégrateurs de cette nouvelle solution sont Grzegorz Panek et Sofiane Imadali, ingénieurs chercheurs en technologies cloud et 5G chez Orange.
Mécanisme de priorisation des flux
Pour passer de la théorie à la pratique, l’équipe de recherche a donc imaginé la mise en situation suivante : une
personne pilote une voiture télécommandée – en guise d’exemple d’application critique – et une autre souhaite au même moment regarder des vidéos en streaming sur son smartphone. On suppose que ces deux usages simultanés chargent le réseau et qu’une contention de ressources intervient. Une gestion de trafic s’impose et il faut prioriser au sein de la 5G le flux de contrôle le plus critique – la télécommande de la voiture – par rapport au streaming vidéo. Pour ce faire, un mécanisme spécifique de priorisation des flux a été mis en place, fruit de la thèse d’un chercheur d’orange, pour ensuite être implémenté dans les codes open source. Le test s’est révélé positif : la voiture a été pilotée de façon fiable sans être perturbée.
L’open Source, accélérateur d’innovation
Ce test a mis en lumière un autre avantage clé des développements open source : celui de convenir parfaitement aux modes de travail dans le domaine de la recherche. « C’est un moyen d’accélérer l’innovation et la standardisation des futurs réseaux mobiles – 3GPP, O- RAN » , explique Mohamad Yassin, ingénieur de recherche en radio mobile chez Orange. « Progressivement, l’architecture réseau sera revisitée et les fonctions la constituant seront découpées en entités plus fines plus facilement optimisables » prédit- il : « Il y a quelques années, il était impossible de réaliser ce type de test dans nos laboratoires. C’est grâce au logiciel open source que l’on peut aujourd’hui reproduire des réseaux qui ressemblent à des réseaux opérationnels, mais qui sont facilement, du fait de leur ouverture, modifiables selon nos besoins d’exploration. » L’expertise d’orange dans le domaine de la 5G au service de la plate- forme ouverte et intégrative Plug in the future ouvre la voie à de nombreuses possibilités de développement des réseaux de demain.
Autres projets « dans les tuyaux »
Craftml, un algorithme de classification de multiétiquette novateur
Tandis que la plupart des algorithmes de classification automatiques peuvent seulement classifier des données dans une catégorie à la fois, Craftml est, lui, capable de classifier des données dans des catégories multiples. Il peut, par exemple, être entrainé à apprendre à classifier des pages de Wikipedia ( sur la base de mots- clés) dans des milliers de catégories et sous- catégories.
Une bibliothèque Elm pour créer des tableaux de données configurables dynamiquement Elm- advanced- grid est un composant pouvant être utilisé afin d’ajouter un tableau avancé dans une application Elm. La liste et le type de colonnes sont configurables de manière dynamique. Elm- advanced- grid peut être employé pour afficher de grands tableaux dans une page web, avec des fonctions de tri et de filtrage de colonnes, de modification de l’ordre des colonnes par le glisser- déplacer, de la largeur des colonnes à l’aide de la souris, de la visibilité des colonnes et du rendu.
Scripts de déploiement et de maintenance de bases Mongdb Orange Business Services publie les scripts utilisés pour le déploiement et la maintenance des bases de données Mongodb mises à disposition de ses clients afin que la communauté puisse les réemployer. Craftml, Elm- advanced- grid et les scripts pour Mongdb sont disponibles sur le Github d’orange- Opensource à l’adresse https:// github. com/ OrangeOpensource/ Opencraftml. Leur code source est publié sous licence MIT.
Baah Box, un projet ludique pour les personnes hospitalisés Des adultes ou des enfants hospitalisés ont besoin d’entraîner des muscles afin de s’équiper de prothèses de bras ou simplement de recouvrer des fonctions motrices d’un membre. Baah Box est un projet proposant une boîte à faire soi- même, connectée à des capteurs myoélectriques ou à des joysticks et appairée à des apps mobiles qui proposent des jeux permettant aux patients – et au personnel – de s’occuper de façon ludique au cours de ces sessions d’entraînement, les rendant ainsi un peu moins pénibles. Le code source de tous les composants de Baah Box a, bien évidemment, été publié sur le Github d’orange. Ces composants sont sous licences GNU GPL v3.0 ou Creative Commons BY- SA 4. ✖