Les salons Real Time System et Solutions Linux se tenaient en même temps, cette année, porte de Versailles tout deux. J'avais déjà évoqué les bons et très mauvais points de cette connivence de dates et de lieux il y a six mois environ, et comme je le craignais, les seuls avantages que pouvait amener cette situation ont été annihilés par la distance assez élevée entre les bâtiments 8 et 2.2 : combien de fois n'ai-je entendu les uns et les autres avoir hésité entre les deux salons (WindRiver), ou promettre de passer sur l'autre (SFR) sans qu'on les y voie faute de temps, et en tout cas se plaindre de cette situation ? D'une manière générale, peu de société de Linux embarqué ont choisi Solutions Linux plutôt que RTS ; on pourra citer Concurrent Computer, tandis que Sphinx, habituellement présent sur les deux, a préféré RTS. Linagora était évidemment sur Solutions Linux, mais pas sur RTS. Avantage cependant de ces dates simultanées pour Linagora : pouvoir dépêcher sur RTS un commercial/avant-vente dès lors que j'avais repéré une affaire potentielle ; en l'occurrence, Sébastien Bahloul aura fait quelques allers-retours (compter un peu plus de dix minutes de déplacement pour l'opération...). Mais voilà : parfois, le simple temps d'alerter d'un bon, et le temps d'arriver (parfois le lendemain, quand on a repéré quelque chose d'intéressant la veille au soir), les intervenants sur les stands ont changé, et plus que répéter le travail d'approche, il est arrivé plusieurs fois où le bon interlocuteur, le seul qui pouvait faire interface, avait disparu. C'est ainsi qu'une fois une société me dit avoir grandement besoin de services Linux, et le temps de revenir, tout autre son de cloche, très peu de Linux en vue : en fait, les deux personnes adressaient des marchés totalement disjoints.

Cela fait cinq ans que je reviens sur le salon RTS, et six pour Solutions Linux. D'expérience, le premier est bien plus intéressant que le second, en ce qui concerne Linux embarqué, mais il n'est pas impertinent de choisir le second plutôt que le premier dès lors que l'on propose du software, surtout s'il s'agit de temps-réel pouvant avoir vocation à des applications de type serveurs. C'était cependant SL qui ouvrait le bal avec une conférence dès le premier jour (31 mars) au matin sur le sujet : Sébastien Dinot comme modérateur, et des gens connus ou reconnus comme intervenant ; citons donc le traditionnel Christian Charreyre de de CIO informatique (nos concurrents marseillais), et les plus nouveaux David Chabal (toulousain dont j'ai relu l'excellente documentation sur Xenomai, que je n'arrive toujours pas à trouver en diffusion publique, mais je suis dans les remerciements), Lucas Bonnet (monsieur OpenMoko France) et Etienne Juliot (Obeo). Pour un compte-rendu très complet, il suffit d'aller lire l'excellent rapport de Thomas Petazzoni. Il se trouve que j'ai décidé de sécher cette conférence : déjà, parce qu'elle était payante, et qu'il fallait donc magouiller un pass' conférencier sur notre stand (perte de temps, quand tu nous tiens), et ensuite parce que j'ai préféré arpenter RTS sur le peu de temps imparti, qui ne me semblait pas justifier de sacrifier une demi-journée. Je pense avoir eu raison : même si je n'avais pas assisté à la session RMLL 08, j'avais lu les slides, et il se trouve que le Chabal et le Bonnet ont fait de la redif' ; la conf' plus généraliste de CIO m'aurait certainement un peu ennuyé ; et celle d'Obéo a été rediffusée sur le salon RTS, où je n'ai d'ailleurs pas été plus avancé que Thomas (on y reviendra). Il ne m'étonne en tout cas que moyennement que seuls une dizaine de personnes y étaient présentes.

C'est ce que l'on appelle "un beau gâchis". J'avais moi-même pré-postulé il y a bien longtemps pour donner une conférence sur le portage Linux embarqué sur architecture ARM non supportée, mais le temps de confirmer (ie d'avoir réellement porté le bestiaux), les trois autres intervenants étaient retenus. Quatre, c'est bien peu, d'ailleurs. J'avais alors prévu de présenter le même sujet sous un angle différent pour la conf' RTS "les outils open source dans l'embarqué", qui a été annulée silencieusement (mais j'ai appris à la fin du salon que François Gauthier avait regardé les activité de Linagora suite à mon mail, et que c'est ainsi qu'il contacta Benjamin Jean, notre juriste, pour la session "la jungle des licences logicielles"). Je donnerais a priori cette conférence (dont l'université Paris 8 a pu avoir un court extrait) au RMLL 09, à Nantes, finalement. Il se trouve, en tout cas, que j'ai par le plus pur des hasards prédestiné, rencontré Francis Mantes, au sortir du salon RTS avec Sébastien, après être allé rencontré des gens intéressants : allumant sa pipe, j'aperçois son badge, et vais donc immédiatement à sa rencontre. Nous avons discuté un bon moment (il se souvenait par ailleurs du court échange que nous avions eu par mail), et avons déploré la distance des deux salons mis ainsi en concurrence (si Groupe Solutions organisait les deux auparavant, il semble que SL soit passé sous l'égide de Tarsus) : il a été décidé de prévoir une semi-journée Linux l'année prochaine, avec force ateliers et conférences à but technique plus que commercial ; non seulement j'abonde, mais je salue la pré-initiative (en outre, puisque l'on m'a invité à rappeler par mail cet échange, je ne manquerai pas de lier ce compte-rendu, et j'en profite donc pour saluer le travail organisationnel de notre hôte).

Mais revenons-en à nos hardeux. Car le salon RTS c'est avant tout du silicium et de l'époxy, il faut bien l'avouer. Les "softeux" (ça sonne plus mal) sont peu nombreux, on compte les gros WindRiver, GreenHills Software ; il y a Sysgo, mais nul LynuxWorks cette année, et pas de Montavista non plus. Bref, on fournit du BSP (Board Support Package, pour les n00bs), mais pas de service informatique à proprement parler : un seul concurrent -- et de taille, quoique, il faut considérer que l'informatique embarquée représente aussi chez eux une partie seulement de leurs activités --, possédant un stand, côté M2M, à savoir Teamlog. À noter au passage qu'outre RTS, il est de tradition depuis plusieurs années de lier M2M (Machine to Machine, toujours pour les n00bs) et Display (affichages numériques) ; il y a cinq ans, le second connaissait un succès monstre avec force téléviseurs, imprimantes 3D ou autres, mais il doit être concurrencé par un autre événement non identifié, car il n'y a plus que quelques sociétés proposant des affichages digitaux (on reste néanmoins admiratif devant des écrans cristaux liquides d'une qualité impressionnante).

Ma mission a donc consisté à aller démarcher les vendeurs de hard et de BSP, pour nous faire connaître : oui, nous, Linagora, société de services en informatique libre (et éditeur, sur d'autres parties), partant d'un concept généralisé mais experts dans notre partie, à l'originalité indéniable notamment concernant notre interfaçage privilégié avec la communauté (aka "le monde du libre"), et disposant depuis un an et demi d'une équipe aguerrie d'ingénieurs informaticiens rompus aux techniques de l'embarqué, du temps réel, de l'industriel.

Il faut reconnaître un certain succès a priori (a posteriori, on verra si des affaires nous reviennent, il faut attendre un certain temps pour cela) : premier bon point, j'ai l'habitude de ce salon, certains intervenants me connaissent fort bien à force, je suis donc à l'aise ; second bon point, et de taille, la démarche est fort originale, et répond à un besoin déjà identifié par les acteurs. En effet, les vendeurs de matériel électronique (le "hard"), qui peuvent aller de la puce à la carte, du module au PC durci, n'ont que très peu de connaissances logicielles, et lorsque des clients viennent les voir avec une idée de développement logiciel derrière la tête, les fameux "applicatifs métiers", ce n'est pas forcément en ayant déjà à disposition l'expertise technique suffisante. Or, acheter un bien matériel que représente une carte de développement, une carte industrielle, ou un module de communication M2M est une autre paire de manches que dégoter l'ingénieur expert pouvant concevoir le système software qui va faire d'un hardware inanimé monts et merveilles. J'ai assez assuré de prestations chez des grands comptes qui cherchaient une personne qualifiée depuis six mois ou plus pour le savoir. Le positionnement de Linagora est alors simple : vous savez faire le hard, nous savons faire le soft, nous existons, faîtes-le savoir à vos clients !

Aussi, nous n'entrons pas en concurrence frontale avec les autres acteurs comme Sysgo, Montavista ou autres, qui ont déjà des accords pour fournir des BSP ou autres solutions de Linux embarqué/RT "clef en main" : nous construisons au dessus, nous intégrons, nous apportons la plus-value sur mesure, du "bespoke (free) software solution", en somme (la fashion victime qui sommeille en moi va copyrighter cette expression, tiens). À noter aussi que Linagora n'est pas un ayatollah du libre : notre société promeut le libre mais n'y oblige pas ses clients, et si le sujet est sensible dans l'industrie, j'en suis tout aussi conscient ; cependant, nous pouvons concevoir du logiciel propriétaire à la demande par dessus du logiciel libre (notre spécialité se situant ici, ce qui comprend les problématiques de licences), et ce de l'avant-vente jusqu'au support OSSA (Open Source Software Assurance : le service après-vente de luxe par Linagora), tout en vous proposant de reverser les parties de modifications de logiciels libres utiles à la communauté selon votre bon vouloir (mais croyez-moi : mieux vaut participer, gagner en plus l'estime du public averti, et éviter de redévelopper les mêmes patches à chaque fois que l'on veut effectuer une mise-à-jour interne du produit ; bien des coûts cachés sommeillent dans le logiciel libre, il est de notre devoir de proposer de les optimiser pour le bien de tous).

Voilà pour la communication externe, toutes mes excuses aux collaborateurs qui se seraient ennuyés...

La pêche fut très bonne : il est envisageable de rassembler la masse de cartes de visite (sachant qu'il faut parlementer un minimum pour en obtenir une : pas tout le monde n'avait un stock à disposition, loin de là) en un jeu des sept familles, mais il sera plutôt préférable de faire du business avec. Je ne dirais donc pas que le salon était vide, à l'instar de Thomas dans son compte-rendu sus-lié, les allées étant peuplées et les stands quasiment toujours occupés ; de plus, trois ou quatre conférences se tenaient constamment en même temps, avec plus ou moins succès -- mais au moins, elles y sont gratuites. J'ai fait le constat inverse concernant SL dès lors que l'on s'éloignait des stands Linagora-Novell-Canonical (ces derniers exposant, juste en face de nous, leur réussite sur les migrations Assemblée Nationale et Gendarmerie, et ce sans nous citer ! Incroyable mais vrai), comme quoi ça devait dépendre de l'heure. Car finalement, je n'ai passé que peu de temps sur le salon linuxien, en fin de journée ou à la pause déjeuner essentiellement, histoire de voir un peu de monde, de passer sur notre stand, ou de saluer des amis d'associations de libristes. Et puis aussi participer au cheese'n'wine du second jour, le soir -- du moins au début des festivités, un pré-Wagner m'attendait au théâtre du Châtelet.

Puisque je réserve un retour détaillé des différents intervenants très intéressants à recontacter en interne (non, je ne donnerai pas des pistes à la concurrence, il ne faut pas pousser non plus  :)  ), passons donc aux comptes-rendus des différentes conférences. J'ai commencé par une première session de 14h00 à 16h00 consacrée à la certification logicielle : le sujet m'intéresse beaucoup, j'ai justement contacté quelqu'ami chef de centre de Systerel (associé l'année dernière à Sysgo par un stand commun, mais pas cette fois) à ce sujet, car il n'existe aucune formation dans l'absolu. Différents intervenants au programme : Lionel Burgaud de Geensys a parlé d'organisation collaborative, parce que spécifier chacun dans son coin des bouts de code similaires est passablement contre-productif. GreenHills, qui a fait certifier sa solution Integrity EAL6+, après trois ans de torture (les développeurs sont aussi passés à la question) par la NSA, montre effectivement les limites de la procédure (longueurs et retards technologiques) ; Serge Plagnol (ou son collègue Rolland Dudemaine ?) m'avait, peu de temps avant cette présentation, fait un exposé sur son stand de l'attachement de GHS à la sécurité (il a montré une vidéo de turbine piratée à distance poussée à son extrême limite : de quoi attirer l'attention sur les failles de sécurité qui émaillent le code des développeurs de l'industriel) : c'est clairement le positionnement marketting de la société à présent. La vague sécuritaire touche d'ailleurs aussi la solution concurrente (mais à l'architecture différente : virtualisation vs paravirtualisation) de Sysgo, et c'est l'habituel mais toujours intéressant José Almeida (cinq ans que l'on se voit, alors à la pause, on devise ensemble, forcément) qui cette fois ne nous parle plus Linux ou PikeOS, mais DO178B (du niveau E au A, pour l'avionique), Common Criteria avec EAL/MILS (du niveau 1 à 7), IEC61508/ENSO128 (de SIL 0 à 4, par un positionnement parallèle à la DO-178B, mais pour le ferroviaire cette fois), ou encore ECSS (espace), FDA (médical) et que sais-je encore : un vrai fouillis ! Les prédispositions communes sont la fiabilité, la disponibilité et la réutilisation, à mettre en corrélation avec le Time to Market ; d'autres concept sont encore abordés : certification incrémentale, méthode formelle, mélange de niveaux indépendants, utilisation en redondance (pas facile de relire ses notes, d'autant qu'il faut effectuer une traduction à la volée...). On évoque aussi des différences dans les habitudes de codage avec l'apparition d'APIs POSIX/ARINC. Enfin, on parle d'ESA, dont le projet est la convergence de certifications (ECSS, DO178B et CC/EAL5+), en recoupant les similitudes pour gagner du temps.

C'est ensuite à Matteo Bordin, d'AdaCore (tiens, un intervenant que je ne connais pas, uniquement anglophone d'ailleurs), "toward a lean approch of certification", qui parle d'open-do.org. Ce projet recoupe ce qui avait été abordé justement par GHS (mais ils ne se connaissaient pas tous les deux, un comble pour des prôneurs du coopératif !), à savoir la collaboration et la mise en commun pour accélérer les certifications, selon un nouveau moyen hérité des méthodes Agile. On remarque en premier que la certification actuelle se fait d'un seul bloc : on écrit entièrement le code, puis on le fait certifier, on attend quelques années, et voilà. Mais rajouter du code ensuite fait automatiquement sauter la certif', et il faut alors recommencer le cycle depuis le début : dans le cadre d'un logiciel communautaire (au hasard un compilateur pour langage Ada), on comprend que ce soit passablement gênant. L'idée est alors de recouper le libre, l'agile, et la certification High Assurance ; on voit une potentialité dans le militaire, l'espace et le ferroviaire pour une communauté HA, on compare la méthode de certif' DO178 vs Lean/Agile, et on expose enfin le but d'OpenDO : communauté ouverte, partage, base de connaissance, apprentissage méthodologique (education, en anglais dans le texte) et de l'Agile dans les process. Why not ? Comme "bootstrapping" (on reste parmi des techos, on a le droit au détournement d'expression -- quoique) : FP7 en Europe et DARPA aux USA. Bref, ça démarre...

C'est au tour d'Olivier Charrier de WindRiver, sur le sujet de l'avionique modulaire intégré (IMA), partant du concept qu'en avionique comme en automobile, l'augmentation des fonctionnalités s'observe parallèlement à la baisse du nombre de CPUs embarqués, qui deviennent multicoeurs, déjà qu'ils avaient tendance (oh my god tout ça) à avoir de la MMU, du DMA, et on en passe des meilleures qui imposent (attention puristes, ça va vous faire mal) l'utilisation d'un OS. Résultat : des problèmes de synchronisation dans les développement hardware, software, l'intégration des deux, le tout avant certification. On attire l'attention sur le point d'achoppement principal que constituent le debuggage et le testing. Thomas Cenni de MathWorks (éditeur de Matlab, évidemment) parle de tout autre chose : génération de code certifié, instrumentation simulink et le tout sous couvert de Polyspace, racheté il y a plus d'un an à présent (différence entre Polyspace et Coverty : le premier indique quelles sont les zones totalement fiables et certifiables, le second indique les bugs potentiels : chacun prend le problème par un bout, cependant à 45K€ la solution -- sans compter la prise en main que cela implique --, mieux vaut ne pas se tromper d'approche ou être riche !). Enfin, Luc Coyette d'Esterel entretient des problèmes de spécification et de tests, impliquant la détection tardive de bugs, faisant exploser les coûts (jusqu'à devenir intolérablement haut dans certains cas) ; sa solution : SCADE, aliant langage formel, générateur de code certifié, simulateur et vérification de compilation. Il annonce que 8 millions de lignes de codes générés pour 40 modules sont embarqués dans l'A380, au niveau A de la DO-178B ! En séance de questions, quelqu'un demande pourquoi on n'applique pas les même normes draconniennes à l'automobile (extrait du magazine "Electronique" : " 'le standard DO-254 [ndlr: certif' de systèmes un peu plus complexes que pour la 178], quant à lui, est très jeune puisque le document date d'avril 2000', explique Lionel Burgaud (GeenSys)", ça donne une idée du niveau) : réponse, parce que ça coûterait trop cher pour quatre morts de temps à autre, sans que l'on sache trop (et à vrai dire, on ne cherche pas trop à savoir) si c'est le régulateur de vitesse ou la mauvaise conduite qui en est à l'origine ; un avion de 240 personnes qui se crache, c'est une catastrophe qui passe au JT, mais effectivement, il y a bien 50 fois moins de morts par accident d'avion en France que par voiture, c'est juste que le coût par vie est moins rentable tout considéré. On apprécie la franchise.

Seconde conférence : tests et sécurisation en milieu embarqué, le second jour au matin (10h à midi). Le propos était fort semblable, et si l'on y ajoute que le magazine "Electronique", distribué gratuitement (au lieu de 12,20€ les 65 pages pubs nombreuses comprises, sacré pouvoir d'achat chez les hardeux !), consacrant un dossier en couverture de cinq pages sur le sujet (et deux à l'amélioration du temps de boot de Linux, au passage), cela montre l'intérêt porté à la question, d'autant que l'audience comportait encore trente à quarante personnes. Bref, sous l'égide de François Gauthier, de ladite revue électronique (mensuel arrivé au numéro 200, quand même), le premier intervenant est encore de chez GreenHills, le fort connu Serge Plagnol : il nous parle d'hyperviseurs (tendances, techniques et applications), comparant para et full (ainsi que l'hybride) virtualisation (notamment par rapport au portage de drivers, inutile dans le premier), mais aussi de type 1 (à la ESX) vs type 2 (à la VMW workstation) ou hybride, comme  c'est le cas de, KVM mais aussi d'Integrity, qui peut ainsi aussi exécuter des applications. On considère ensuite les différentes architectures : monolythique (ESXi, VLX -- VirtualLogix était d'ailleurs absents, tout comme Trango et OKL4), Dom0 (Xen par exemple, mais le TCB est encore trop gros, on compte plusieurs mégas de code !) et enfin à base de microkernel, comme OKL4 (que l'on connaît assez bien par ici : mon ancien stagiaire a passé six mois sur le sujet) et Integrity, qui présentent un très petit TCB. On parle rapidement de ce que propose l'architecture x86 en terme d'aide à la virtualisation : VT-x (niveaux de privilèges) et VT-d (I/O virtualisés, dont la DMA, plus quelques autres joyeuseries) ; pour l'instant, l'Atom ne propose que du VT-x, mais une évolution prochaine est à attendre ; de son côté, ARM propose TrustZone, une double partition de fiabilité. Si l'on rappelle (page de pub) qu'Integrity est certifié à présent EAL6+, on insiste sur le fait que la virtualisation n'implique pas en soi la sécurité, bien au contraire ! Enfin, les applications de ce type de sécurisation par hyperviseurs seraient la téléphonie, les PC portables d'entreprise, les terminaux de paiement, le jeu avec transaction financière, et tout ce qui implique à la fois une communication (militaire notamment) et la présence simultanée d'une IHM.

Après cette longue présentation, c'est au tour de Jean Philippe Dehaene de présenter AUTOSAR, l'outil de simulation de VECTOR, les spécialistes en solutions logicielles (notamment sur bus de comm' CAN et LIN) pour l'automobile ; c'est intéressant pour qui est du milieu (très particulier, et qui ne va pas forcément bien en ce moment : passons). Didier Vidal d'ISIT expose les mérites de LDRA, l'analyseur statique de code ; c'est que la relecture manuelle de code trouve sa limite à 10 pages par jour, même si elle corrige 80% des bugs fonctionnels. La relecture automatisée, à l'inverse, ne peut pas trouver les erreurs fonctionnelles mais relève 80 des bugs techniques. À l'aide de règles de codage (MISRA-C 2004), de graphes d'appels, d'étude de code, de statistiques, de commentaires automatisés (ça j'aime !), de suivi de variables et d'exports des résultats dans des formats divers et variés dont le web (ça dépasse la simple relecture automatisée !), la société entend nous faire économiser bien de la sueur (contre un gros chèque, certainement). Fait très amusant, dans le contexte : alors que l'on passe rapidement les très nombreux slides, et que le transparent 60/60 concerne la détection de buffer overflow et d'overrun, on continue la présentation jusqu'à la slide 67/60 !

Ben Chelf, CTO de Coverty (et anglophone only, sorry) parle d'une nouvelle solution d'analyse de compilation : ça c'est fort ! Le problème du build est l'effet "boîte noire" (black barrier), peu importe si le compilateur est est libre ou non, à la rigueur, étant donné la complexité actuelle. L'analyse de build construit une carte du système de compilation complet en s'interfaçant entre les outils et l'OS ; un exemple est alors donné en utilisant... OpenOffice.org ! Ça ne s'invente pas, et évidemment, le graphe peut servir à faire peur aux petits enfants le soir. À noter que d'une manière générale, les outils libres sont implantés partout : on s'en sert directement (gcc et eclipse en star, encore plus que Linux) ou indirectement, comme base de proof of concept ; coverty s'est fait une spécialité de découvrir les bugs de logiciels libres pour à la fois se faire de la pub à peu de frais sur une base de code énorme, et tester leur outil en même temps (ce qui me fait penser que je leur ai parlé du bug de ifstated sur bagotage d'interface réseau : arriveront-ils à le trouver ?). Leur logiciel explore les différentes phases de la compilation : le make clean, les macros DEBUG ou RELEASE, les options de sécurité, etc ; fini les peurs bleues d'avoir un fichier objet non regénéré à la suite d'une modification de .h ! (ça peut faire très, très mal, sur du code militaire mal foutu, surtout quand ça fait plusieurs dizaines voire centaines de milliers de lignes -- souvenirs douloureux). Outre l'analyse, un "build management" est proposé.

L'après-midi, je m'étais inscrit à la conférence sur la virtualisation, mais j'avais mal compris : c'était la virtualisation de la machine de développement dans le but d'émuler des plate-formes exotiques pouvant aller jusqu'à l'ARM OMAP ; comme j'avais déjà discuté assez en profondeur à mon goût de ce sujet avec les principaux intervenants, ECSI (attention ! web 0.2), je me suis enfui ; cependant, le sujet est extrêmement intéressant, pour avoir eu l'occasion de développer sur OMAP, justement, et donc de goûter aux 25 minutes de flashage intégral à chaque fois que l'on veut tester la solution (quant au développement par NFS, autant oublier : il n'y a pas d'Ethernet, voyons !) ; je crois donc sans problème le consortium européen (avec notamment une université lettone dans le lot, oui ça étonne) lorsqu'ils affirment pouvoir réduire par deux le TTM (Time to Market, si vous débarquez de Mars). J'ai donc opté pour l'autre conférence simultanée pouvant être intéressante : Agile dans le milieu industriel, encore introduit par François Gauthier qui avoue à la fois intérêt grandissant (ce que semble confirmer le monde présent) et la nouveauté de l'approche dans le milieu. Mauvaise pioche : Philippe Soulard (remplaçant Yves Lebeaupin) de Sodius me fait mal à la tête avec son exposé "Multi-tool & multi-model integration using IBM rules composer" : trop de sigles et concepts abstraits, c'est à se demander si l'on parle bien de méthodes Agile, en tout cas je ne suis pas ; Etienne Juliot d'Obeo (voir au dessus) prend la relève et commence par un remerciement à son prédécesseur d'avoir introduit autant de concept (ouille), avant de nous parler de ses outils de modélisation, avec du temps-réel et de la génération embarqués sous Eclipse (c'est ce que disent mes notes) ; je reste malgré le micro qui rend l'âme (embêtant, ces micros, vraiment) parce que ça parle OpenSource (j'ai appris plus tard que Linagora a un peu travaillé avec Obéo pour le ministère des finances, association qui n'a pu aboutir faute d'avoir obtenu le marché : je confirme que nous n'étions pas mentionné parmi les partenaires), mais au bout d'un moment, je finis par craquer (au bout d'une heure, en fait).

Dernier jour et dernière conférence : "la jungle des licences logicielles". L'intitulé a pas mal évolué, l'apparition de cette conférence le dernier jour (moins peuplé et terminant à 17h30) n'a pas non plus aidé au remplissage de la salle : seulement une dizaine de personnes présentes, ce qui a déçu François Gauthier (décidément, je n'ai pas fait exprès, mais nous partageons les mêmes goûts apparemment). L'année dernière, la salle était comble, et les intervenants clairement techniques et peu juridiques : cette année, tout le contraire, de vrais juristes et avocats, mais des erreurs techniques dans le discours (netfilter, le module Linux de firewall, est ainsi de venu "netfiles", logiciel). Pour l'année prochaine, il serait de bon ton de mêler les deux milieux, et je me propose dores et déjà, tant le sujet me passionne (le juridique d'une manière générale, en fait, et je devise régulièrement avec avocats et professeurs de droit, de surcroît) ; d'ailleurs, j'ai pu parler à la fin de l'affaire Guillermito, fort importante mais inconnus de mes interlocuteurs (pour ma part, j'avais tout simplement pris deux après-midi pour assister au procès et au délibéré). Les deux premiers intervenants sont Cendrine Claviez et Vincent Pollard du cabinet TAJ, mais arrivant en retard (pour cause de prospection), j'ai raté le début de l'intervention de la première, pour arriver au moment de la considération des effets héréditaires/viraux, classant GPL, EUPL, CeCILL A d'un côté, MPL, LGPL, Eclipse et CeCILL C de l'autre, et enfin MIT, BSD, ASF et CeCILLB ensemble. La volonté d'organisation de cette "jungle" est manifeste. On continue sur les résiliations, automatique pour la GPLv2 et l'EUPL, il y a un délai pour la GPLv3 : en cas de constatation de violation, on peut ainsi avoir le droit de continuer d'utiliser le logiciel en attendant la rectification, alors que pour les autres, la sanction est immédiate, avec l'injonction de cesser immédiatement l'utilisation ; pour la peine, la GPLv3 est bien plus favorable à l'industriel distrait ! (évidemment, nous considèrerons la bonne foi a priori de celui-ci) On parle de l'EUPL, versions 1.0 et 1.1, la licence libre européenne pensée pour agir dans la juridiction du licenceur en Europe, et selon le droit belge sinon, et comportant une clause de compatibilité avec la GPLv2, la CeCILL ou encore Eclipse (attention cependant à la GPLv3 ou tout autre licence rédigée après l'EUPL, et de facto non mentionnée : il faut rajouter en annexe). On rappelle que le relicenciement autorisé par la BSD implique de pouvoir rendre le code GPL.

C'est ensuite au tour d'Hervé Guyomard de présenter son outil phare de Black Duck Software, et il nous injective : "Know your code" ! Prenons un exemple : Cisco rachète Linksys pour 500M$, Linksys embarque dans son WRT54G du code de Broadcom, que lui a fourni son sous-traitant Cybertran ; pas de bol, c'est bourré de GPL, et la FSF intente un procès à Cisco. L'histoire va plus loin encore : le WRT54G à 60$ voit son code libéré pour respecter la licence, code qui se voit grandement amélioré par la communauté, et réembarquable dans le même appareil, concurrençant dès lors des solutions professionnelles de Cisco valant... 600$ ! Cette histoire bien connue des milieux libristes de l'embarqué illustre le propos de notre intervenant : avec 1400 licences OpenSource recensées (évidemment, la plupart sont des adaptations de licences bien connues : il suffit de rajouter des annexes ou de modifier des paragraphes -- on recense par exemple une GPL interdisant les usages militaires : il faut noter que cette licence n'est alors plus considérée comme libre, quoique toujours OpenSource), il n'est pas inhabituel de se prendre les pieds dans le tapis, et d'embarquer sans le savoir du code soumis à des termes de licences non pris en compte, et pouvant avoir de fâcheuses conséquences. Protex est une moulinette sur-évoluée de code basée sur une base de données et de métadonnées complète, pouvant dès lors détecter à l'aide de génération de fingerprint (inutile de ne changer que le nom des variables et des procédures : ce sera détecté) les composants OpenSource lors d'un audit de code ; l'outil sait même reconnaître les conflits de licences. Dans l'industrie mobile, Intel, Samsung, Siemens, Motorola, Nec, RIM, LG, Qualcomm, Palm, Cisco, Xerox, Sega ou encore NTT ont fait appel à leur service : c'est dire si le problème est largement pris au sérieux ! Hervé Guyomard affirme par ailleurs que toutes ces entreprises intègrent d'une manière ou d'une autre des produits OpenSource dans leurs appareils.

Le dernier intervenant est bien connu à Linagora, puisqu'il s'agissait de Benjamin Jean, notre juriste. Pris dans le marasme des transports (RER D ?), il est arrivé bien en retard et a totalement raté les premières interventions : sans filet et sans slides, il essaie de faire original en pointant les sujets les plus importants : droits et obligations, extension de la licence (jusqu'où la licence couvre-t-elle ?), l'élément déclencheur aussi (souvent, il s'agit de l'utilisation, donc de l'exécution, mais il peut s'agir du simple téléchargement !). Il indique qu'un groupe de réflexion est actuellement monté au sein du SYNTEC informatique. Et qu'il a donné une conférence complète dont les slides peuvent être trouvées sur le net (sauf que je n'ai rapidement pas trouvé, il faut mettre son blog à jour, Ben ! ;)  ). Il en oublie de citer le groupe dédié aux problèmes de licences libres qu'il anime, Veni Vidi Libri, on sent la fatigue après trois conférences sur le sujet en trois jours ! On passe à la séance de question, qui tournent toujours autour des mêmes points, le plus crucial étant : où commence et où s'arrête ce qui est couvert par la licence ? (dans le public, un représentant de Vector présente son activité : c'est surprenant de voir ça sur le salon RTS ! On a totalement changé de monde) C'est que le problème est pernicieux, sur des systèmes embarqués dont la limite avec le userland est parfois assez floue (WindRiver vient d'ailleurs d'en implémenter un sur VxWorks : je parie que c'est pour répondre à ce genre de problématiques), et je discute après la conférence avec un ingénieur s'occupant de l'interfaçage juridique (on se demande d'ailleurs comment on pourrait nommer ce nouveau métier, que j'ai déjà rencontré chez Philips : je ne sais pas trop, mais ça m'intéresse comme évolution de carrière) de la possibilité de jouer avec les share memory, via une couche logicielle libre mais plus permissible, y pour interfacer des modules GPL avec du propriétaire (technique quelque peu utilisée par les hyperviseurs de paravirtualisation, après tout -- et j'ai déjà croisé un projet réel pour cela lorsque j'ai travaillé pour Trango). Mais il est vrai que la GPL parle d'un "tout logiciel" : nulle technique, au juge d'apprécier en cas de litige, donc au meilleur expert ès enfumage (et vulgarisation) de montrer ses prouesses, nous voilà fortement rassurés... Notons pour finir que les brevets n'ont pas été abordés (sujet connexe aux licences), et donc que l'affaire Tomtom n'a pas été évoquée, ce qui est dommage.

C'est ainsi que s'acheva la dernière conférence : j'en avais bien prévu une autre, sur les standards logiciels, mais manifestement elle a été annulée, certainement faute d'audiance, le dernier jour étant effectivement largement plus vide. J'ai pour ma part pu observer que le VME vivait toujours et plutôt bien, même s'il partage à présent l'affiche avec toutes sortes de PCI industriels. Côté processeurs, les nouveaux ARM Cortex ont évidemment la côte, occultant ARM9 et 11, d'autant que de nouveaux OMAP sur base Cortex apparaissent (les ARM7 étant remplacés par les M8, les autres étant A8, avec une évolution en faisant monter les chiffres à côté de chaque lettre -- la nommenclature ARM est toujours très sportive, seul Intel fait mieux) ; la puissance de ces processeurs fait apparaître des solutions à base de Java, où pour une simple application en stand alone, un OS est inutile (certains abandonnent de fait Linux), la VM faisant office de tout, y compris de scheduler entre les différents threads. Côté PPC, on trouve du PowerQUICC III, qui se porte toujours aussi bien dès qu'il s'agit de faire de la communication. Et puis la star, l'Atom, que l'on retrouve partout : il faut qu'Intel a enfin corrigé les énormes pertes d'énergie qui font que les netbooks meurent de fatigue au bout de deux heures seulement, et qu'à présent, on peut réellement concurrencer du ARM, avec moins d'automie mais plus de puissance, dit-on ; en tout cas, la solution étant viable depuis environ quatre mois à présent, le temps de concevoir des cartes et l'on a pu constater que l'engouement était très, très récent ; le PC104 et le Geode ont en tout cas totalement disparu ! Les nouvelles techniques de virtualisation en cours d'implémentation devraient aussi pousser dans ce sens, et Intel promet l'arrivée d'un adressage direct de la flash, sans passer par un contrôleur (ce qui est, rappelons-le, la lose totale) : on pourra ainsi, comme sur ARM, considérer flash et RAM de manière contigüe, et avec la promesse de pouvoir outrepasser le BIOS (ils travaillent avec Microsoft, me dit-on, car actuellement nul OS ne supporte cela : il faut dire que le BIOS -- pour l'instant incontournable sur l'archi x86 -- ne fait pas grand chose, il initialise principalement des périphériques PCI avant de lancer le bootloader, mais il est bien connu que Linux outrepasse depuis longtemps le paramétrage du BIOS, et que le projet FreeBIOS s'appelait avant LinuxBIOS car il s'est basé sur du code d'amorçage de Linux). Bref, Intel va inventer ce qui existe depuis 20 ans, on s'en félicite. En fait, je ne sais jamais trop si c'est une bonne nouvelle de voir débarquer en force une architecture aussi mal foutue que le x86 dans le monde de l'embarqué, déjà que près de la moitié des projets l'utilisent (pourquoi ? Parce que c'est connu, effet "j'ai le même dans mon PC", psychologie commerciale basique...). Cependant, Linagora se fera une joie de développer vos applications sur ce type de processeur, nous avons d'ailleurs achevé un projet majeur sur plate-forme à base de Pentium M (qui, s'il n'avait tenu qu'à moi, tournerait sur PowerQUICC III).

Je n'ai malheureusement rencontré que fort peu de monde connu dans les allées de RTS, j'ai eu la joie de tomber par le plus pur hasard (je revenais de SL alors qu'il s'en allait) sur mon ancien chef de projet chez Sagem, à qui j'ai donc enfin pu demander des nouvelles de notre bébé, le MO300e (module Neptune avec Nucleus+Linux) : eh bien c'est une totale déception commerciale, les clients potentiels préfèrent une implémentation à deux CPUs, un OMAP très simple et rigide allié à un ARM9 très souple comportant son propre Linux customisable. Moralité : peu importe la dose de technique que l'on met dans un projet (en l'occurrence, le MO300e c'est de la virtualisation maison, une interface web pour administrer le Linux et notamment gérer ses propres applications additionnelles, une sécurité parfaite, un SDK facile à mettre en oeuvre où j'ai même incorporé un système facilité d'émulation, etc) tant qu'on n'adresse pas le bon marché, et que l'on ne répond pas aux attentes des clients. De peur de ne pas pouvoir faire face aux demandes de support Linux, le périmètre a été fortement réduit, avec notamment l'impossibilité de charger des modules personnels dans le noyau, figé au 2.6.18 : la solution étant fortement industrialisée, il n'y avait pas vraiment le choix, et la mise à jour de firmware est une plaie, puisque nous sommes sur des LU, les Logical Units, entièrement chiffrées puisqu'ayant accès au réseau GSM (je pense cependant qu'une solution pouvait être envisagée pour mettre à jour à chaud, mais la demande en mémoire flash aurait été trop coûteuse) : comme quoi mettre un seul chip est plus économique mais trop spécifique dans ce cas pour adresser un large marché aux besoins très divers. Bien dimmensionner veut aussi dire d'étudier le marché, et de ne pas ignoré -- comme cela avait été le cas à l'époque -- les demandes pressantes des clients sur certains points techniques ; une récente discussion par mail à ce propos avec une société de M2M autrichienne a confirmé cette tendance (après avoir testé durant quelques semaines le produit -- ils m'ont demandé quelqu'aide par mail, car la réactivité de Sagem n'était pas terrible --, les dernières nouvelles étaient que leur avis sur la viabilité du produit était de plus incertaine, et que Wavecom semblait être, à regret, de nouveau la "meilleure" solution).

J'aurais en tout cas bien voulu échanger quelques mots avec mes collègues de l'APRIL Sébastien Dinot et Thomas Petazzoni, recontrer enfin David Chabal, croiser Patrice Kadionik et Pierre Ficheux qui j'en suis sûr connaissent plus mon visage que mon nom (ou l'inverse, allez trop savoir, mais il y a un manque certain de corrélation :)  ), deviser avec Denis Bodor de Linux Mag' (mais il était tout le temps occupé, je lui enverrai un mail), ou me faire présenter au pôle édition d'Eyrolles (parce que finalement, à part un peu "Embedded Linux Primer", dont l'auteur a d'ailleurs écrit dans le "Electronique" du mois de mars distribué gratuitement, il n'y a jamais de technique pure et concrète de "comment embarque-t-on du Linux", ce qui est un peu un comble pour des bouquins de Linux embarqué au nombre de quatre ou cinq, qui restent pourtant très bons ! Bref, je caresse une certaine idée...). Il y avait du monde sur SL, mais il était difficile de le rencontrer. Patrick Sinz était en tout cas sur le stand de Emtec (ex-BASF), pour présenter le Gdium (il bosse maintenant pour Gdium SA, basé au... Luxembourg, hum), et d'autres STB/disques durs multimédias de la marque.

Pour conclure (comment ça, "enfin" ?), mon avis sur les deux salons est positif mais avec une petite réserve sur un sentiment diffus d'essoufflement ; comme je fais la même remarque chaque année, ça ne doit pas être si grave (et puis, c'est la crise). Mon principal regret est la disjonction des deux salons. Un workshop géant pour Linux embarqué me semble être la meilleure idée, à la condition que les deux salons soient très proches (il aurait été possible d'avoir une continuité physique, les locaux sont prévus pour à la porte de Versailles !), ou alors qu'ils ne tombent pas aux mêmes dates, comme avant. Dans ce workshop (sur le salon RTS, s'entend, il faut que cela reste gratuit), il serait idéal d'adresser toute sorte d'intervenants, de milieux divers (industriels, CE, M2M, comm', etc), des enseignants et formateurs (quelques uns se baladaient sur le salon, ai-je appris sur le stand de Neomore), des libristes (pourquoi pas aussi des gens du monde BSD, eux aussi ont des choses à apporter à l'embarqué ! Soekris était d'ailleurs présent cette année encore sur SL), des entreprises de type intégrateur ou de service (c'est ici que peut entrer Linagora, outre l'aspect formation et juridique), en plus des habituels éditeurs, et enfin, élargir le scope avec du juridique (licences et brevets) ; je rêve d'un village associé à un cycle de conférence techniques ; et de retours d'expériences qui forgent des liens entre visiteurs (et pas seulement entre exposants et visiteurs), d'autant que Linux s'embarque sur des appareils tellement divers et spécifiques qu'il est toujours très intéressant d'en embrasser une vue la plus globale possible.

Concernant la diffusion de Linux et bien plus encore celle du logiciel libre dans l'embarqué (on pense aux méga-stars que sont gcc et Eclipse : on les trouve partout, soit bien plus encore que notre kernel favori), on peut dire que l'évolution atteint une sorte de vitesse de croisière : ceux qui attendaient pour migrer l'ont presque tous fait, et les nouveaux projets peuvent choisir parmi une gamme de solutions complète, où Linux prend une place importante, mais en dehors de tout effet de mode et de tout engouement irréfléchi. De nombreux partenariats ont été formés avec les principaux éditeurs de BSP, Montavista, WindRiver et Sysgo, de telle sorte que les fournisseurs de hardware peuvent répondre aux attentes de leurs clients, manifestement mieux informés qu'auparavant (cinq ou six ans que l'on évangélise, aussi). Cependant, le logiciel s'est trouvé de fait dans un certain recul -- je compte de tête cinq stands dédiés au soft "génériques", c'est-à-dire outre le spécifique de contrôle-commande ou d'analyseurs --, assez important même par rapport aux années précédentes, de telle sorte que j'ai bien peur que les acquis des années précédentes ne se perdent, d'autant que l'évolution du libre et du monde du CE est rapide. Sur les stands, on a souvent avoué un manque d'expertise dans les domaines que nous adressons, et il faut ajouter à cela les demandes en formation comme en renseignements juridiques solides. Il faut cependant bien se rendre compte de l'inertie toujours flagrante du milieu, fonctionnant selon une certaine logique de "cercles de confiance", et même si les accueils reçus étaient toujours chaleureux et intéressés (y compris à des endroits que je ne soupçonnais pas, comme le concepteur de fonds de panier PolyRack), nous verrons combien d'affaires peuvent nous être adressées...

J'espère cependant qu'elles seront assez nombreuses pour me permettre de justifier de nouveau deux jours et demi de visite sur les salons, mais aussi faire exploser le chiffre d'affaire du pôle embarqué, dont une commission me sera évidemment reversée (pas vrai patron ? ;)  ). Plus sérieusement, les retours seront certainement à mesurer d'ici les six prochains mois (j'ai déjà reçu un coup de fil, mais pas d'affaire sur le court terme), espérons simplement de leur positivité, en attendant de se faire encore mieux connaître. À noter cependant une évolution des mentalités avec une attention particulière portée au TTM, pour lequel Linux peut battre des records pour peu que l'on soit bien entouré ; cela rejoint clairement le sentiment dégagé lors du salon ARM. J'ai oublié de prendre des photos, cette fois-ci, d'ailleurs. On attend à présent les slides des conférences, pour information ARM m'a envoyé celles de leur salon sur CD-Rom, disponible à mon bureau.

Il n'y a plus qu'à remercier encore une fois les différents organisateurs des deux salons pour cette édition 2009, et donner rendez-vous à tous pour l'année prochaine !