Voyage à distro recipes 2013 : vendredi (2/2)

Publié le mar. 09 avril 2013 par Gabriel Pettier

Ceci est le second billet du compte rendu de distro recipes 2013, pour la journée de vendredi -qui fait suite au billet couvrant la journée de jeudi.

Le process de Fedora

La journée à commencé par une présentation du processus de développement de Fedora. Leur processus semble très orienté par la volonté d'aller vite, d'avoir les dernières technologies au moins aussi rapidement qu'Arch linux, et de permettre à leur utilisateurs de s'impliquer facilement en tant que développeurs.

Relations entre Hewlett Packard et Linux

Bruno Cornec d'HP nous a ensuite détaillé les implications du support (ou non) de Linux par HP. Il est indispensable à HP de supporter Linux sur les serveurs et les offres "clé en main" de support avec Red Hat ou Suse sont indispensables à leurs grands comptes d'utilisateurs,

Linux est la plateforme où les nouvelles technologies sont développées en priorité, notamment les calculs parallelisés à grande échelle, les serveurs hautes performances, etc.

Sur le desktop/laptop, HP ne voit tout simplement pas de marché. Ils produisent un modèle de temps à autre, mais ce n'est pas intéressant pour eux. Ça ne couterait pas moins cher à l'achat qu'une machine avec Windows, le coût de la licence étant compensé par l'installation de logiciels par défaut, payés par leurs éditeurs.

Cette pratique, qui insupporte les utilisateurs avancés, est à la fois une source de revenu pour les constructeurs comme HP (et donc un moyen de baisser le prix des machines), et vu comme un service à l'utilisateur grand-public.

Évolutions de GCC

La dernière présentation avant le déjeuner concernait les dernières évolutions de GCC. Il semble que la concurrence avec LLVM/Clang leur soit bénéfique, car de sérieuses nouveautés sont apparues. On trouve de meilleurs options de détections d'erreur, mais surtout, des messages d'erreurs plus clairs, avec extensions des macros si besoin, ainsi qu'une meilleure intégration du debugger quand le code est optimisé. Par exemple, si une variable est mise directement dans un registre, gdb est incapable de la suivre actuellement, et cette évolution le permet.

On peut aussi noter que gcc est maintenant écrit en C++, ce qui est une évolution majeure, et contrairement à ce que certains auraient supposé, il se compile au moins aussi vite qu'avant.

(pause miam)

Good times!

Table ronde inter distributions (et plus !)

L'après midi a commencé par une table ronde entre les développeur des différentes distributions (et un ingénieur Microsoft!), animés par Bruno Cornec d'HP. Il a beaucoup été question de ce qui peut être partagé comme travail et des divergences d'objectifs. Il apparait que la communication entre les diverses distributions et upstream peut être améliorée dans de nombreux cas, mais aussi que les différentes distributions RPM partagent déjà tacitement beaucoup de travail (pour un nouveau packaging, la recherche de specfile dans les autres distributions est une pratique courante).

L'existence d'une liste diffusion commune à de nombreuses distributions sur freedesktop.org a été évoquée comme outil de communication. La coopération semble bien présente, mais très informelle, peu systématisée.

Outils pour améliorer la qualité de Debian

La présentation suivante décrivait les outils à dispositions des développeurs Debian pour améliorer la qualité de la distribution, une grosse infrastructure a été mise en place, avec des outils complémentaires, mais de façon décentralisée.

La meilleur façon d'apprendre leur existence semble via le monitorat de développeurs existants. Cela semble être une caractéristique commune chez Debian, ne pas trop chercher à lire la doc, mais contacter les développeurs disponibles pour expliquer directement. Je trouve ça un peu dommageable, car même si le contact humain est une bonne chose, cela implique sans doute beaucoup d'énergie perdue.

On apprenait aussi dans cette présentation que la proportion de packages gérés en équipe augmentait, ainsi que la proportion de paquets maintenus via un gestionnaire de version (principalement Git) : deux bonnes tendances vers les bonnes pratiques.

OpenEmbedded

La dernière présentation de la journée parlait d'OpenEmbeded, un framework :de génération de système pour architectures légères/embarqués,

Je n'ai pas beaucoup suivi cette présentation, sans doute un peu fatigué de ces deux jours un peu marathoniens (présentations d'1h à chaque fois), en plus du fait que ce ne soit pas trop mon domaine, mais la suite d'outils à l'air bien complète et fonctionnelle, cela pourra s'avérer utile sur certains de nos projets.

Lightning talks

Les lightning talks ne m'ont pas trop marqués, à l'exception du système de build project-builder.org qui semble capable de produire des packages pour de nombreuses distributions en une commande, avec installation dans des machines virtuelles automatiquement. Cela semble être un bon outil d'industrialisation, à tester sur un projet.

Conclusion : impressions

En conclusion, beaucoup de personnes et de projets intéressants sur ces deux jours. En tant que développeur upstream, et utilisateur de distro, il est intéressant de voir un peu plus en détail comment se construit une distribution, et comment y participer.

L'organisation était aussi de bonne qualité, même en tant que béotien du packaging, j'ai trouvé l'évènement intéressant. Je tiens à ce sujet à féliciter et remercier les organisateurs, qui ont été de très bon hôtes, tant au niveau de la qualité de l'évenement que de la perfusion de café.