[couverture de Linux Magazine 78]

OSCON Europe 2005

Article publié dans Linux Magazine 78, décembre 2005.

Copyright © 2005 - Philippe Bruhat

[+ del.icio.us] [+ Developers Zone] [+ Bookmarks.fr] [Digg this] [+ My Yahoo!]

Chapeau

Tous les ans depuis 1997, l'éditeur O'Reilly organise une conférence consacrée aux technologies et au mouvement Open Source. Cette année enfin, la première Open Source Convention (abrégée en OSCON) est organisée en Europe.

OSCON ?

C'est en 1997, alors que la deuxième édition du livre Programming Perl battait tous les records de vente (et pas seulement parmi les livres d'informatique) que Tim O'Reilly, le patron de l'éditeur O'Reilly & Associates s'est rendu compte que personne ne parlait de Perl nulle part alors qu'une bonne partie des services web fonctionnaient avec.

Il a donc décidé d'organiser une conférence consacrée à Perl pour faire mieux connaître ce langage. Après deux éditions de la Perl Conference, le thème s'est élargi à tout l'Open Source et la conférence est devenue Open Source Convention, ou OSCON.

Du 17 au 20 octobre 2005 s'est tenue à Amsterdam la première version Européenne d'OSCON. La convention était hébergée dans ce qui est probablement l'hôtel le plus luxueux d'Amsterdam : le NH Grand Hotel Krasnapolsky, sur Dam square à quelques centaines de mètres de la gare centrale.

Une conférence de taille

Tim O'Reilly
Tim O'Reilly
Photo James Duncan Davidson/O'Reilly Media

Comme le montre l'emploi du temps de la conférence (accessible à l'adresse http://conferences.oreillynet.com/eurooscon/grid/), il n'y avait pas de quoi chômer : des présentations de 8h45 à 17h, en parallèle dans 5 salles pendant les 3 jours, des expositions après 19h, sans parler des couloirs pleins de programmeurs (dont un bon nombre de têtes connues).

La convention était organisée autour de plusieurs thèmes principaux : Linux, Java, PHP, Python, Perl, Databases, Security, Emerging Topics, Products & Services, Business et bien sûr les keynotes (présentations générales d'environ un quart d'heure sur divers sujets, par des personnalités).

On peut dire qu'il y avait du beau monde : Tim O'Reilly (l'éditeur), Larry Wall et Damian Conway (Perl), Autrijus Tang (Pugs), Chia-Liang Kao (SVK), Brian Fitzpatrick (Subversion), Rasmus Lerdorf et Sebastian Bergmann (PHP), Alan Cox (Linux), Greg Stein (Subversion, Google). Sans parler de tous les hackers plus ou moins connus qui étaient présents dans les couloirs, même s'ils ne faisaient pas de présentation pendant la convention.

Le luxe de l'hôtel, des pauses café et déjeuner, la qualité de la prestation technique et probablement les frais pour faire venir certaines sommités font de cette convention un événement particulièrement coûteux (prix d'entrée : 940 €) principalement accessible aux entreprises.

Les quatre jours de la conférences étaient répartis entre une première journée consacrée aux tutoriels (supplément de 400 € sur le prix d'entrée) et les trois jours de la convention proprement dite.

Jour 0 - Tutoriels

La première journée de la convention était occupée par les tutoriels, regroupés en sessions de 3 heures, commençant dès 8 heures 30.

Les sujets abordés montrent là l'éclectisme du public visé : Ruby on Rails, The Basics of Perl DBI Database Programming, Open Source Web Application Security Kung-Fu & Art of Defense, et Presentation Aikido le matin. Après un déjeuner en self-service dans la grande salle du petit-déjeuner de l'hôtel (petits pains garnis, salades de crudités et salades de fruits, menu simple que nous allions retrouver tous les jours de la convention) l'après-midi a été occupé par Model-Driven AJAX, Scalable Internet Architectures, Subversion Tutorial (par Brian Fitzpatrick) et Perl Best Practices par Damian Conway.

Les tutoriels étaient accompagnés de supports de présentation contenant des documents explicatifs (ou l'intégralité des transparents dans le pire des cas). La qualité des tutoriels dépend plus de l'intervenant que du sujet : j'ai ainsi entendu dire que le présentateur de Ruby on Rails ne donnait pas assez d'explications et se contentait de coder ses exemples en direct à grande vitesse.

Étant avant tout un mongueur de Perl, je n'ai pas pu échapper à celui qui est probablement l'un des meilleurs showmen Perl à l'heure actuelle : Damian Conway :

Evening extravaganza

Larry Wall
Larry Wall : « Ha Hah! World! »
Photo Piers Cawley

Après une pause suffisante pour aller dîner en ville, nous revenons pour 19h30 dans la grande salle. Nat Torkington présente l'auteur de rn, patch et Perl : Larry Wall.

Larry présente son fameux State of the Onion, version 9.3. (Le titre est une allusion au discours State of the Union fait chaque année par le président des États-Unis.) Il s'agit en fait d'une espèce d'improvisation sur 26 listes de mots. À propos de Perl, Larry explique que comme Gustav Mahler avec ses symphonies ou J. R. R. Tolkien avec ses livres, il a essayé de mettre le monde dans Perl. Comme Mahler, il va échouer, mais il espère néanmoins que le résultat sera intéressant.

Damian Conway entre ensuite en scène pour sa fameuse présentation Fun with dead languages. Tous les transparents intermédiaires sont en latin (sous-titré, heureusement), et Damian commence par expliquer l'intérêt des geeks pour l'archéologie à l'aide de photos de... Lara Croft. Et de détournement de celles-ci, jusqu'à nous montrer Larry Wall, Guido Van Rossum, Eric Raymond et Richard Stallman en tenue de Lara. Les « langues mortes » qu'il présente (et dont il se moque gentiment) sont LISP, PostScript, C++ (qui n'est pas mort, mais on peut rêver), SPECS (un langage créé par Conway pour tuer C++) et il termine par... le latin, en présentant des exemples de code écrits avec son module Lingua::Romana::Perligata. Comme toujours avec Damian Conway, nous avons droit à une présentation exceptionnelle par sa qualité et son humour. Sa conclusion est sérieuse cependant : tout langage de programmation est un outil avec lequel on pense ; l'étude de langages morts ou dépassés permet de découvrir d'autres manières de penser. Il termine par un encouragement à pratiquer la nécrolinguaphilie !

Comme toujours Damian Conway dépasse, et nous sortons à 21h30, ravis du bon moment qu'il nous a fait passer.

Jour 1 - Bienvenue !

La véritable Open Source Convention commence ce mardi, avec les keynotes, pendant lesquelles nous verrons se succéder :

Alan Cox
Alan Cox et le futur de la sécurité logicielle
Photo James Duncan Davidson/O'Reilly Media

Après la pause café (et les biscuits !), commence le dilemme qui va durer pendant le reste de la conférence : comment choisir quoi aller avoir quand au moins deux des 4 ou 5 salles hébergent en même un intervenant intéressant ?

J'ai donc choisi Lexical Attributes, d'Abigail, qui explique une manière très intéressante de se protéger du gros défaut des objets Perl classique : ce sont des tables de hachages, et donc une erreur dans le nom de la clé peut passer inaperçu et provoquer un bug difficile à détecter.

Pendant ce temps-là, on pouvait entendre parler dans les salles voisines de Drupal, de Java ou d'un poste de travail thin client basé sur Linux.

Je suis resté encore dans la salle Perl pour les immanquables présentations éclair (lightning talks). Après avoir présenté mon module Acme::MetaSyntactic et appelé la communauté à l'aide, j'ai pu revoir certaines présentations de YAPC::Europe (Abigail, H. Merijn Brand), Autrijus Tang parlant de Visual Basic (it rocks!), Léon Brocard avec une démo (souvenez-vous les années 80) sur PSP écrite en LUA, Dave Cross donnant les résultats du recensement mondial des Perl Mongers ainsi qu'Autrijus et Allison Randal déclamant un poème intitulé Larry was a mariner (très certainement un pastiche du classique anglo-saxon The Rhyme of the Ancient Mariner). Comme toujours, ça passe vite et on se détend bien.

Pendant la pause déjeuner, Damian Conway m'accorde un entretien pour parler de Perl 6 et de son livre (à venir dans un prochain numéro).

À peine revenu, pendant que la communauté Perl écoutait Autrijus Tang parlant de Pugs (un prototype de Perl 6 écrit à une vitesse record en Haskell), je suis allé assister à la présentation de Phillip Torrone, le co-rédacteur en chef du magazine MAKE lancé en début d'année par O'Reilly. Il nous a parlé de l'esprit DIY (Do-It-Yourself ou « Faites-le vous-même ») qui pousse les gens à fabriquer ou à bidouiller des objets utiles ou amusants (par exemple : construire un petit robot dans une carcasse de souris, tricoter sa propre housse pour son iPod, installer son appareil photo numérique sur un cerf-volant ou monter un PC dans une carcasse d'Atari 2600 VCS). Je vous conseille son magazine, MAKE, plein d'idées de trucs plus ou moins farfelus qu'on aimerait fabriquer soi-même, si on avait le temps... (Le site du magazine : http://www.makezine.com/, voir aussi http://www.instructables.com/.)

Dans PHP 5, the year after Sebastian Bergmann parle de PHP (10 ans déjà) et de projets sérieux qui s'appuient dessus comme PHPUnit, Smarty, et aussi du futur de PHP. Il est clair que PHP 6 sortira avant Perl 6. :-) En parallèle, Aaron Crane présente l'utilisation faite d'Apache à The Register et Jos Boumans présente CPANPLUS.

À propos des versions 6, Damian Conway présente l'avancement du projet Perl 6, tandis que j'écoute Tim O'Reilly donner des détails sur son « radar ». Il présente surtout plein de courbes visuelles pour comparer les marchés relatifs des livres et technologies. Il parle également du Buzz Game, un projet conjoint avec Yahoo! Research dans lequel les utilisateurs jouent à une bourse virtuelle où ce ne sont pas des actions boursières qu'on échange, mais des actions concernant les technologies, concepts et tendances de la high-tech.

Allison Randal et Autrijus Tang
Allison Randal et Autrijus Tang
Photo James Duncan Davidson/O'Reilly Media

Je termine la journée en suivant distraitement FLOSS use in European government: Survey Results par Rishab Aiyer Ghosh. Il s'agit des résultats d'une enquête à l'échelle des administrations européennes sur leur utilisation de logiciel Open Source (FLOSS signifie Free/Libre Open Source Software. Le bilan est plutôt positif (955 réponses sur 4100 personnes interrogées), et il en ressort que le logiciel libre est beaucoup utilisé dans ces administrations, pour des raisons d'interopérabilité (entre logiciels) et de compatibilité (avec des versions plus anciennes). Le coût est un paramètre important surtout pour les petites structures. On note cependant que la moitié des responsables informatiques interrogés doit réduire le coût des licences logicielles de son parc dans les deux ans à venir.

Le début de soirée est occupé par une réception dans le hall d'exposition, où les sponsors de la conférence se présentent sur leurs stands tandis que des rafraîchissements sont servis. C'est l'occasion de rencontrer du monde, de discuter de technologie... J'ai par exemple entendu parler d'OpenWengo (un concurrent GPL de Skype) par un des employés de l'entreprise.

Un peu avant 21 heures, le bruit se répand qu'une partie de Werewolf va bientôt commencer. Nous nous retrouvons à une dizaine de personnes dans les salons de l'hôtel pour commencer une partie arbitrée par Arthur Bergman. Le principe est simple : parmi les villageois, il y a deux loup-garous. La nuit, les loup-garous tuent un villageois et le jour, les villageois discutent entre eux pour essayer de deviner qui parmi eux est un loup-garou. À la fin de la discussion, ils votent pour lyncher l'un d'entre eux. Le but des loups-garous est de massacrer tous les villageois, celui des villageois de se débarrasser des loups-garous.

Au fil des parties, chacun découvre s'il doit mentir ou faire confiance, à qui, comment. Sans autre matériel qu'un jeu de cartes pour distribuer les rôles, c'est un jeu très amusant et très prenant. En plus, ce jeu permet de rencontrer du monde, et de se faire tout de suite de nouveaux amis en disant d'eux : « Tuons-le ! c'est un loup-garou ! »

Les règles du jeu sont décrites en détails et en anglais sur http://www.eblong.com/zarf/werewolf.html.

Jour 2 - La convention bat son plein

La journée commence à nouveau avec les keynotes, qui accueillent cette fois :

Viennent ensuite les sessions habituelles. Pendant que Rasmus Lerdorf parlait du déployement d'applications PHP de grande envergure, que Martijn Faassen parlait de lxml (une bibliothèque pour utiliser libxml2 et libxslt, mais avec une API Python), que Léon Brocard décrivait Devel::ebug (débogueur Perl avec une interface web), je suis allé voir Easy game-console hacking. Joachim Bengtsson et Frank Buss y décrivaient comment écrire ses programmes pour PSP (avec le langage LUA) et aussi la course-poursuite entre Sony et ses clients qui veulent bidouiller leur PSP. Le problème de Sony, c'est que techniquement, si on sait installer ses propres jeux faits maison sur sa PSP, on sait comment installer et faire marcher les jeux piratés aussi.

Après déjeuner, Chia-Liang Kao a présenté SVK, l'outil de gestion de configuration basé sur Subversion qu'il a écrit au cours d'une année sabbatique prise uniquement dans ce but. Sa présentation s'appuyant sur l'évolution des outils de gestion de configuration, il a passé en revue cp, RCS, CVS, Subversion... Ayant la chance d'avoir Karl Fogel, Brian Fitzpatrick et Greg Stein dans la salle, il a pu se payer le luxe de demander (après avoir dit du mal des logiciels cités) si l'un des auteurs se trouvait dans la salle... et de voir des mains se lever !

À propos de CVS, il précise que comme tout logiciel, il est haïssable (voir http://we.hates-software.com/ au sujet de la haine du logiciel), mais surtout il vous déteste aussi ! Chia-Liang cite à l'appui un extrait du source de CVS : printf ("I HATE YOU\n");. Quelqu'un dans la salle avoue être l'auteur de ce message ! :-)

Si l'évolution de RCS à Subversion a pris aussi longtemps, c'est parce que c'est exactement le genre d'outil dont il est difficile de changer du jour au lendemain. Tout en conservant un dépôt centralisé, SVK ajoute la possibilité de travailler en étant complètement déconnecté du serveur, et de faire ses commits à son rythme, en local, pour pouvoir ensuite appliquer les changesets un par un ou d'un seul coup. Ce n'est pas la seule fonctionnalité intéressante de ce logiciel. Allez voir http://svk.elixus.org/ pour en savoir plus sur SVK.

Parmi les évolutions futures de svk, on peut noter SVL, une version peer-to-peer disponible sur CPAN !

Pendant ce temps, je note que dans les salles voisines on parle de IronPython: Python on the .NET platform. C'est décidément dommage de ne pas pouvoir assister à tout !

Quelques présentations intéressantes en cette fin de journée : Free and open source in the developping world, PostgreSQL replication solutions, Building Apps with Subversion, Migrating to Open Source Databases ou enfin m0n0wall: an Open Source Firewall Project.

J'ai fini ma journée avec FreeBSD Release Engineering où Murray Stokely (release engineer de FreeBSD) explique le fonctionnement du cœur de la communauté FreeBSD, et comment le changement de la méritocratie vers la démocratie s'est fait. Quelques chiffres qui impressionnent : 212 commiteurs actifs dans src/ et 149 dans src/sys/ (le kernel), 80% des commits faits par 45 contributeurs confirmés, plus de 13000 packages dans les ports, un repository CVS qui remonte jusqu'en 1994, et avec les CD, on peut voir l'historique de près de 20 ans de code source. Son point de vue sur les fork de BSD : chacun peut se concentrer sur ce qui l'intéresse (NetBSD, la portabilité, OpenBSD, la sécurité), au lieu de se disputer tout le temps. Sous FreeBSD, la page de manuel release(7) explique ce qu'il a raconté.

Un événement absent de l'emploi du temps listé sur le web, mais qui a bien eu lieu, c'est la séance de présentations éclair Python. Je le sais, j'y ai assisté ! Après avoir été déplacée plusieurs fois, la session s'est finalement trouvée en surnombre et reléguée dans une toute petite salle. Le public débordait largement le nombre de sièges, toutes les présentations ont été faites sans diaporama. L'expérience était très sympa, comme toujours avec ce genre de présentations éclair. Le langage de programmation n'a aucun importance quand ce sont des personnes intéressées et intéressantes qui parlent.

Maker Fair
Une bricoleuse pendant la Maker Fair
Photo James Duncan Davidson/O'Reilly Media

Vers 17h30, c'est la pause, et je file dîner avec mon petit groupe de perleurs pour revenir à temps pour la Maker Fair. Entretemps, LINAGORA sponsorisait une dégustation de fromages et vins français, plutôt bien choisis. Comme toujours, quand il y a du pain, du fromage et du vin, il y en a toujours un des trois qui vient à manquer. Cette fois-ci c'était le pain, ce qui est probablement le moins grave. :-)

Organisée par le magazine MAKE déjà mentionné, l'exposition consiste en un ensemble de petits stands où les makers, bricoleurs et bricoleuses exposent leurs créations. Une expo comme celle-ci donne envie de jouer du fer à souder ! Petit inventaire de ce que j'ai pu admirer : une série de réveils-radio sur lesquels on a greffé des joysticks (http://www.selfmadeobjects.net/), des iPod greffés dans des coffrages divers et diverses choses greffées dans des coffrets d'iPod, une démonstration de Second Life (http://secondlife.com/), un sac à main avec un capteur solaire qui permet d'éclairer l'intérieur quand on l'ouvre, un mini-robot monté dans une carcasse de souris et qui réagit à la lumière...

Jour 3 - C'est déjà fini ?

Le dernier jour est déjà arrivé, et commence par une nouvelle session de keynotes :

La table ronde Women in Open Source réunissait Allison Randal (Perl Foundation), Zaheda Bhorat (Google), Danese Cooper (Intel et Open Source Initiative), Paula Le Dieu (Creative Commons International) et Jo Walsh. La discussion avec le public a permis de voir combien il restait de travail à faire pour que les femmes cessent d'être cantonnées à des rôles secondaires quand elles participent à l'Open Source. Le sexisme (conscient ou inconscient) est très présent chez les informaticiens, et cette table ronde n'a permis que d'effleurer le sujet. Tout les participants souhaitent voir ce sujet abordé lors de la prochaine convention.

Jouke Visser présente ensuite pVoice, le logiciel qu'il a écrit pour que sa fille lourdement handicapée puisse communiquer à l'aide de l'ordinateur. Il soulève le problème principal qu'il rencontre : les gens qui pourraient l'aider sont à l'intersection de deux groupes ; d'un côté les développeurs Open Source (Perl), de l'autre ceux qui sont motivés par l'aide aux personnes handicapées (c'est-à-dire bien souvent des personnes touchées personnellement). Depuis plus de 5 ans qu'il travaille sur pVoice, il tient le projet quasiment à bout de bras.

En parallèle, Autrijus Tang présente le langage qui lui a servi à écrire le premier compilateur Perl 6 au monde dans Learning Haskell. Et annonce qu'il sait produire du code JavaScript à partir d'un source Perl 6 !

La dernière séance de présentations aborde entre autres Template Toolkit (module Perl), la récupération de données sous Linux et Ajax.

À 15h30, la convention se termine sur la keynote de Corry Doctorow, de l'EFF, qui avertit le public de ce qui attend l'Europe en matière de DRM. En Europe aussi, les lobbies des majors sont à l'œuvre, et il faut se battre pour défendre nos droits.

Bilan

Cette première édition de la version européenne d'OSCON a été un succès. Bien sûr, c'est loin d'être la première conférence consacrée aux logiciels libres en Europe, mais la différence principale vient de son orientation plus professionnelle.

Alors que des workshops consacrés à différents domaines (Perl, Netfilter, Gnome, etc) fleurissent un peu partout en Europe, OSCON Europe se veut un lieu de rencontre entre ces différentes communautés (le business, les utilisateurs et les développeurs Open Source), sans tomber dans l'aspect « foire » ou marketoïde de salons comme Linux Solutions ou Linux World.

[IE7, par Dean Edwards] [Validation du HTML] [Validation du CSS]