mercredi, novembre 19, 2008

Cloud Computing, défi et opportunité pour l'Open Source

Faut-il que l'irruption du terme cloud computing irrite les extrémistes de l'Open Source pour que le démiurge proclamé du libre, Richard Stallman lui-même, s'emporte avec tant de violence dans une interview publiée par le Guardian fin septembre qui a tourné à la diatribe :

« It's stupidity. It's worse than stupidity: it's a marketing hype campaign. »

y déclare le garant barbu de la foi du Libre. (« C'est de la stupidité. C'est pire que de la stupidité : c'est une campagne de mode marketing ».)

Le plus savoureux reste que ce jugement pour le moins tranchant le met dans le même camp qu'un Larry Ellison, CEO fondateur d'Oracle, le géant de l'informatique d'entreprise qui pourrait sans doute apparaître se situer à l'exact (et extrême) opposé des convictions de RMS. Le patron d'Oracle qui, malgré des manoeuvres tactiques sur les plates-bandes de l'Open Source (acquisitions de Sleepycat/BerkeleyDB et d'Innobase, lancement de « Unbreakable Linux », etc.) reste un des champions prévalents du « propriétaire » déclarait à l'Oracle OpenWorld 2008 avec toute la modération qui le caractérise :

« The interesting thing about cloud computing is that we've redefined cloud computing to include everything that we already do. I can't think of anything that isn't cloud computing with all of these announcements. The computer industry is the only industry that is more fashion-driven than women's fashion. Maybe I'm an idiot, but I have no idea what anyone is talking about. What is it? It's complete gibberish. It's insane. When is this idiocy going to stop? »

Mais la principale critique de Stallman, prise en dehors du contexte évidemment passionnel de ces grands tempéraments de l'industrie informatique, vaut examen plus précis. RMS reprend à son compte l'argument, par ailleurs souvent opposé aux modèles SaaS (Software As A Service) et cloud computing, qui voit une « trappe à données » qui menacerait les données privées et verrouillerait les utilisateurs dans l'usage de logiciels propriétaires.

Les difficultés pointées par RMS dans le modèle cloud computing tel qu'il est généralement proposé aujourd'hui sont réelles. Le respect et la protection des données privées posent aujourd'hui un problème que l'on a de grandes difficultés à cerner. D'un côté l'exemple du succès phénoménal de Salesforce.com montre que des entreprises n'hésitent pas à confier les données relatives à ce qui serait l'un de leurs atouts les plus précieux, leur clientèle, à un service Web hébergé ; de l'autre, plane dans l'esprit du temps depuis fin 2007 une sourde méfiance envers Google, autre exemple d'accumulateur opaque majeur de données privées du plus grand nombre. (Pour citer un exemple récent, l'introduction du nouveau navigateur, Chrome, en septembre dernier, a suscité quelques ardentes critiques.)

Les réponses à cette état de fait sont variées et leur diversité même montre que le débat est ouvert et le problème loin d'être résolu. Du réflexe obsidional comme en Suède, pourtant champion incontesté de la transparence, qui vient en effet de faire voter une loi donnant les pleins pouvoirs à la FRA (agence d’écoute militaire) pour surveiller toutes les communications entrantes et sortantes, au laissez-faire « mesuré » et informé d'organisations militantes comme l'EFF (Electronic Frontier Foundation), la réflexion balaye large. La « réponse graduée » imaginée en France par M. Olivennes dans les préliminaires à la loi Hadopi a été retoquée par Bruxelles. En revanche, le cadre de la responsabilité juridique des hébergeurs et des fournisseurs d'accès Internet est très réglementé dans notre pays — certains s'interrogent sur la rigidité de la LCEN au regard de l'accélération des nouveaux usages, par exemple, ceux liés au Web 2.0 ou à la mobilité. En quelques années on a vu se joindre à ce débat des entreprises, des associations et des organisations diverses, des groupements d'utilisateurs et des gouvernements, ce qui montre à quel point le sujet est controversé et délicat.

Quant au second point du pronunciamiento de RMS qui voudrait que le cloud computing soit le renfort du propriétaire, là aussi il y a matière à approfondir. Dans les limbes actuels dans lesquels le cloud computing attend sa définition définitive, essayons de distinguer au moins trois niveaux de modèles de production et de distribution de services qu'il cherche à couvrir :

  • le cloud computing comme infrastructure technique de ressources liées au calcul ou au stockage de données. À ce titre les initiatives de grille informatique (grid computing) ou bien les services EC2 et S3 d'Amazon rentrent dans cette catégorie.
  • le cloud computing comme environnement de développement et de déploiement d'applications informatiques. Ici on penserait plutôt à force.com, la plateforme sous-jacente à Salesforce.com et utilisable pour développer d'autres applications, à App Engine de Google, ou encore Windows Azure de Microsoft, annoncé à la fin du mois d'octobre. Facebook, qui a publié une API, pourrait peut-être rentrer dans cette catégorie.
  • le cloud computing comme bureautique, applications, ou suite d'applications métier dans un ou plusieurs secteurs verticaux donnés. Les exemples sont légion, mais, là encore, Salesforce.com fait figure de pionnier.

Dans ces trois catégories il semble que l'aspect propriétaire soit bien présent mais pas au plan du code source des applications et des services mais bien plutôt au plan des données sur lesquelles ces applications ou services s'appuient. D'ailleurs il existe déjà des projets Open Source de bon aloi qui représentent parfaitement ces catégories. Eucalyptus est un système d'exploitation de clusters, façon EC2 — et même compatible avec les API d'EC2 — qui illustre la catégorie infrastructure. Grid5000 est un projet de grille informatique pour la communauté des chercheurs ; différents projets libres de grilles existent comme grid.org et BOINC. De même, Drizzle est un projet Open Source de base de données repensé pour une répartition massive et des calculs décentralisés. Des projets libres comme Gnome Online Desktop de la communauté Gnome, Weave de Mozilla, ou encore DreamFace illustreraient, quant à eux, la catégorie des plateformes comme services (PaaS, Platform As A Service !). Enfin des sites comme identi.ca, une sorte de Twitter Open Source, Talend On Demand de Talend pour le business intelligence, Etelos et Lumen Software montrent l'usage de l'Open Source pour la troisième catégorie ci-dessus.

Si donc il y a du « propriétaire » c'est plutôt dans le verrouillage éventuel des données qu'il faut plutôt le chercher : les API, quand elles existent — et c'est là que le bât peut blesser — sont, par définition, publiées. Le défi que posent donc les idées fortes du cloud computing aux tenants du libre s'articule alors autour de la question suivante : quelles caractéristiques de l'écosystème Open Source peut on raisonnablement importer dans celui des données numériques, qu'elles soient personnelles ou d'entreprises et d'organisations ? À laquelle il faut bien sûr réfléchir au plan technique, mais aussi au plan légal et contractuel...

Tim O'Reilly propose sa liste de caractéristiques « transférables » de l'Open Source au cloud computing:

  • des licences qui encouragent la redistribution, la modification et même le forking des services ;
  • une architecture qui permet aux applications d'être utilisées comme composants et enrichies plutôt que remplacées pour accroître leur fonctionnalité ;
  • pas de barrière aux nouveaux utilisateurs pour essayer les logiciels ;
  • pas de barrière aux développeurs pour construire et partager de nouveaux logiciels.

D'après O'Reilly, ces principes de base de l'Open Source devraient, mutatis mutandi, pouvoir s'appliquer à l'écosystème des données caractéristique du cloud computing.

Pour conclure insistons sur l'aspect juridique, souvent sous-estimé, de la question. Un article récent d'Infoworld détaille la surprise qui peut résulter de la lecture des termes et conditions d'usage d'une trentaine de grands services exemplaires du cloud computing. L'imbroglio légal des contrats de cloud computing se révèlera peut-être le frein le plus efficace à leur adoption généralisée, malgré l'intérêt économique réel de certains scénarios d'usage. Y aurait-il des alternatives ? Comment, par exemple, utiliser ou réutiliser les idées de Creative Commons pour l'univers des données, si central au cloud computing ?

ShareThis