URL: https://linuxfr.org/news/haiku-a-19-ans Title: Haiku a 19 ans Authors: pulkomandy Lawless, ZeroHeure, Francois Revol, Ysabeau đ§¶ et Davy Defaud Date: 2020ćčŽ07æ28æ„T21:49:57+02:00 License: CC By-SA Tags: haiku Score: 48 Comme vous le savez si vous suivez les dĂ©pĂȘches annuelles de Haiku, la date de naissance du projet est le 18 aoĂ»t 2001, avec lâenvoi du premier message « _[Ok, let's start](http://www.freelists.org/post/haiku/Ok-lets-start)_ » sur la liste de diffusion du projet (nommĂ© OpenBeOS Ă lâĂ©poque). Câest lâoccasion de faire un point sur les principales avancĂ©es du projet dans lâannĂ©e (et dâavoir un peu dâactivitĂ© sur _LinuxFr.org_ au milieu de lâĂ©tĂ©).  ---- [Site Web de Haiku](http://www.haiku-os.org) [TĂ©lĂ©charger Haiku](https://linuxfr.org/get-haiku/r1beta2/) [La dĂ©pĂȘche anniversaire prĂ©cĂ©dente](https://linuxfr.org/news/haiku-a-18-ans) ---- PrĂ©sentation de Haiku ===================== _Note : cette section est reprise de la dĂ©pĂȘche de lâannĂ©e derniĂšre, les objectifs du projet nâont pas changĂ© depuis._ Pour ceux qui nâauraient jamais entendu parler de Haiku, il sâagit dâun systĂšme dâexploitation pour les ordinateurs personnels (par opposition, dâune part aux serveurs, dâautre part aux smartphones, tablettes, et autres systĂšmes embarquĂ©s). Il est une réécriture de BeOS, un systĂšme propriĂ©taire abandonnĂ© en 2001. Dâun point de vue technique, ses particularitĂ©s sont une base de code presque intĂ©gralement en C++ (oui, mĂȘme le noyau) et gĂ©nĂ©ralement reconnue pour sa clartĂ© et sa lisibilitĂ© (oui, mĂȘme si câest du C++), son approche de la programmation trĂšs parallĂ©lisĂ©e (chaque fenĂȘtre ouverte par une application a son propre fil dâexĂ©cution, par exemple), et la prĂ©sence dâune API complĂšte et cohĂ©rente pour faciliter le travail des dĂ©veloppeurs dâapplications. Dâun point de vue utilisateur, lâobjectif est dâavoir un systĂšme facile Ă utiliser et Ă apprĂ©hender (pas de surprise ou de comportements inattendus), rĂ©actif, tout en restant flexible et capable de faire ce quâon attend de lui. Pourquoi un clone de BeOS ? --------------------------- Ă lâorigine, Haiku est pensĂ© pour fournir une continuitĂ© aux utilisateurs de BeOS et aux dĂ©veloppeurs dâapplications qui ne souhaitaient pas migrer vers un autre systĂšme. Dixâhuit ans plus tard, BeOS est mort et enterrĂ©, et Haiku nâa pas rĂ©ussi Ă fournir une version stable dans les temps. La plupart des dĂ©veloppeurs dâapplications sont passĂ©s Ă autre chose depuis. Cependant, Haiku reste un projet pertinent aujourdâhui, car aucun systĂšme libre nâa vraiment pris la place que BeOS a libĂ©rĂ©e (dit autrement, non, ce nâest toujours pas lâannĂ©e de GNU/Linux sur le bureau). Le maintien de la compatibilitĂ© avec BeOS garde Ă©galement un intĂ©rĂȘt, pas pour les utilisateurs mais pour lâorganisation du projet : - elle permet de garder un objectif Ă peu prĂšs raisonnable en vue, câestâĂ âdire quâon peut rejeter les propositions de nouvelles fonctionnalitĂ©s en disant « ce nâĂ©tait pas dans BeOS » ; - elle permet de comparer lâimplĂ©mentation des API avec celle de BeOS, pour dĂ©cider si un problĂšme vient dâune application ou de lâimplĂ©mentation cĂŽtĂ© Haiku ; - elle permet enfin dâexpĂ©rimenter les difficultĂ©s Ă maintenir pendant plus de quinze ans la compatibilitĂ© de lâABI, et Ă rĂ©flĂ©chir Ă la meilleure façon de procĂ©der pour assurer la compatibilitĂ© entre les futures versions de Haiku. Les dĂ©savantages de cette approche (utilisation de GCC 2, impossibilitĂ© dâimplĂ©menter certaines choses ou de rĂ©soudre certains problĂšmes de sĂ©curitĂ© qui nĂ©cessiteraient de changer lâAPI) se font toutefois de plus en plus pressants, câest pourquoi il existe maintenant une version 64 bits de Haiku qui peut sâaffranchir de certaines de ces contraintes. La version bĂȘta 2 ----------------- La deuxiĂšme version bĂȘta de Haiku a Ă©tĂ© publiĂ©e avec environ six mois de retard sur la date prĂ©vue. Vous trouverez les dĂ©tails dans [la dĂ©pĂȘche qui lui est dĂ©diĂ©e](https://linuxfr.org/news/haiku-r1-beta-2). Comme cette version est encore toute rĂ©cente, cette dĂ©pĂȘche ne va pas sâattarder sur les nouveautĂ©s dĂ©jĂ dĂ©taillĂ©es dans lâannonce de cette version. Nous allons donc plutĂŽt essayer de voir les travaux en cours et les perspectives pour les annĂ©es Ă venir. Enfin, comme il reste encore de [nombreux DVD de la bĂȘta 1](https://discuss.haiku-os.org/t/buy-now-haiku-dvd/7861) (Ă prix libre), il nâest pas prĂ©vu dâen faire presser de nouveaux, dâautant plus quâaprĂšs installation de ceuxâci le systĂšme dâexploitation peut ĂȘtre mis Ă jour vers la bĂȘta 2. Participation au Google Summer of Code ====================================== Haiku participe rĂ©guliĂšrement au _Google Summer of Code_ depuis 2006. Le principe est dâaccueillir dans le projet des Ă©tudiants qui contribuent pendant trois mois en Ă©tant rĂ©munĂ©rĂ©s par Google. Cela permet Ă ces Ă©tudiants de se concentrer Ă plein temps sur leur travail pour Haiku (et plus dâune centaine dâautres projets participants), en Ă©tant rĂ©munĂ©rĂ© par Google. Les projets participants assurent lâencadrement et sont libres du choix des sujets (Google nâa donc pas dâinfluence sur les dĂ©veloppements par ce moyen, si cela vous inquiĂ©tait). Cette annĂ©e, quatre Ă©tudiants ont Ă©tĂ© retenus pour amĂ©liorer Haiku. LâamĂ©lioration des paramĂštres des pĂ©riphĂ©riques dâentrĂ©e -------------------------------------------------------- Le travail sur ce sujet avait Ă©tĂ© dĂ©marrĂ© lâĂ©tĂ© dernier dans le cadre dâ_Outreachy_. Il sâagissait dans un premier temps de regrouper dans une seule fenĂȘtre les rĂ©glages du clavier et de la souris (qui Ă©taient configurables auparavant dans deux applications sĂ©parĂ©es). Cet Ă©tĂ©, le travail se poursuit pour pouvoir configurer chaque pĂ©riphĂ©rique de pointage diffĂ©remment (par exemple, pour avoir une vitesse de pointeur diffĂ©rente pour un pavĂ© tactile et une souris). La prise en charge des systĂšmes de fichiers XFS et UFS2 ------------------------------------------------------- Afin dâamĂ©liorer lâinteropĂ©rabilitĂ© avec les autres systĂšmes dâexploitation, deux Ă©tudiants travaillent actuellement sur la prise en charge des systĂšmes de fichiers XFS et UFS2. UFS2 va permettre, dâune part dâaccĂ©der aux fichiers sur les partitions de FreeBSD (et probablement des autres *BSD). Il permettra aussi de construire des images disque amorçables sur les stations de travail Sun lorsque le portage de Haiku sur SPARC sera un peu plus avancĂ©. XFS est un systĂšme de fichiers dĂ©veloppĂ© au dĂ©part par Silicon Graphics pour [[IRIX]], les dĂ©veloppeurs de Haiku lâutilisent souvent pour leurs installations de GNU/Linux en raison de sa meilleure prise en charge des attributs Ă©tendus de fichiers, nĂ©cessaire pour compiler Haiku. La réécriture de lâAPI rĂ©seau ----------------------------- Haiku dispose dâune implĂ©mentation dâun client HTTP, mais celleâci est complexe Ă utiliser et peu performante. Un des projets du _Summer of Code_ de cet Ă©tĂ© est une refonte de cette API encore expĂ©rimentale, pour corriger ces problĂšmes. Participation Ă Outreachy et au Google CodeâIn ============================================== _Outreachy_ est un programme similaire au _Google Summer of Code_ organisĂ© par lâassociation **Software Freedom Conservancy**. Le but est dâencourager la participation des minoritĂ©s (quelles quâelles soient) dans les projets libres. Le fonctionnement est similaire Ă celui du _Summer of Code_, avec la diffĂ©rence importante que les projets doivent financer euxâmĂȘmes le paiement des participants. Haiku a participĂ© lâĂ©tĂ© dernier, mais ne peut pas se permettre pour lâinstant de renouveler la chose, en attendant de trouver un ou plusieurs sponsors qui permettraient de le faire Ă nouveau. Le _Google Code-In_ Ă©tait un concours visant les adolescents de treize Ă dixâsept ans, dont le principe Ă©tait de proposer des tĂąches Ă rĂ©aliser pour diffĂ©rents projets libres. Haiku est le seul projet Ă avoir participĂ© tous les ans depuis la crĂ©ation du _CodeâIn_ en 2010, grĂące aux efforts de Scott McCreary et dâune Ă©quipe de « _mentors_ » sâoccupant de relire et de valider le travail des participants (la plupart nâĂ©tant pas des dĂ©veloppeurs actifs de Haiku, mais des membres de la communautĂ© ou des anciens participants au _CodeâIn_). Malheureusement, Google a choisi de ne pas renouveler ce programme en 2020. DiffĂ©rentes idĂ©es sont en cours de rĂ©flexion pour le remplacer : monter un concours similaire sans lâaide de Google, ou rejoindre dâautres Ă©vĂšnements existants comme [_Hacktoberfest_](https://hacktoberfest.digitalocean.com/), par exemple. Des idĂ©es pour la suite ======================= La publication de la version bĂȘta 2 en juin a beaucoup mobilisĂ© les contributeurs depuis le dĂ©but de lâannĂ©e. LâĂ©tĂ© est assez calme pour lâinstant. La rentrĂ©e sera sĂ»rement lâoccasion de discuter dâun plan d'attaque pour la version bĂȘta 3. Comme aprĂšs chaque publication de version, les rapports de bogues ont Ă©tĂ© nombreux. Un effort de tri a Ă©tĂ© fait depuis quelques annĂ©es sur le systĂšme de suivi des bogues pour sĂ©parer les tickets « indispensables » dans la version R1 de Haiku, de ceux qui pourraient ĂȘtre traitĂ©s plus tard. Cela laisse un peu moins de 1 130 tickets Ă traiter avant la version R1 au dernier dĂ©compte. Le travail se poursuit pour corriger ces problĂšmes un par un. Tous les domaines sont concernĂ©s, par exemple, en ce moment, un dĂ©veloppeur sâoccupe du « Media Kit » et des pilotes pour les cartes sons, qui sont pour lâinstant plutĂŽt capricieux (silence pendant plusieurs minutes au dĂ©marrage avant de se mettre Ă fonctionner, matĂ©riel non reconnu sur certaines machines, pilote qui fonctionne uniquement si la carte a Ă©tĂ© initialisĂ©e prĂ©alablement par un autre systĂšme dâexploitation...) ; tandis que plusieurs autres amĂ©liorent le serveur graphique pour accĂ©lĂ©rer lâaffichage (en particulier des pages Web complexes), amĂ©liorer la mise Ă lâĂ©chelle pour les Ă©crans Ă haute rĂ©solution, etc. Dâautre part, on ne peut pas empĂȘcher les dĂ©veloppeurs de sâamuser avec des dĂ©veloppements qui ne rentrent pas dans la feuille de route. Câest ainsi que le travail continue sur le portage de Haiku vers les architectures SPARC, ARM ou Motorola 680x0 ; ou encore les pilotes pour les cartes SD et les puces eMMC. Si ces apports ne sont plus vraiment utiles pour certains, ou pas encore pour dâautres sur des machines actuelles, ils permettent nĂ©anmoins dâamĂ©liorer le code en le factorisant par exemple, ou grĂące Ă un meilleur alignement des donnĂ©es, nĂ©cessaire sur une architecture exotique mais augmentant aussi les performances sur x86. Avant dâarriver Ă une version complĂštement satisfaisante, il faudrait aussi sâoccuper de tous les aspects concernant la gestion des imprimantes, de corriger les problĂšmes restants dans lâimplĂ©mentation du protocole TCP, et encore bien dâautres choses. Il est probable que cela nĂ©cessite encore plusieurs versions bĂȘta et quelques annĂ©es de dĂ©veloppement supplĂ©mentaires. Statistiques de contribution ============================ Comme câest bien de savoir oĂč on en est, PulkoMandy publie de temps en temps des statistiques sur les contributions au [dĂ©pĂŽt Git de Haiku](http://pulkomandy.tk/stats/) et Ă [HaikuPorts](http://pulkomandy.tk/stats_hp). Depuis quelques mois, lâoutil utilisĂ© pour gĂ©nĂ©rer ces statistiques est [repostat](https://github.com/vifactor/repostat), en remplacement de [gitstats](https://github.com/hoxu/gitstats) qui nâĂ©tait plus maintenu et nâa jamais Ă©tĂ© migrĂ© en Python 3. Avant de pouvoir migrer, il a cependant fallu ajouter quelques fonctionnalitĂ©s manquantes Ă repostat, et le rendre beau, en remplaçant les graphiques statiques gĂ©nĂ©rĂ©s avec Gnuplot par des graphes gĂ©nĂ©rĂ©s en JavaScript et SVG en utilisant NVD3. Des dĂ©tails pour Haiku ---------------------- Pour Haiku, on peut constater que lâactivitĂ© est stagnante depuis 2016 avec 1 300 Ă 1 500 _commits_ par an. On est loin du record de 5 555 _commits_ atteint en 2009. Cependant, chaque annĂ©e ce sont plus dâune cinquantaine de contributeurs qui participent Ă Haiku, et depuis 2016 ce chiffre semble Ă©galement augmenter, mĂȘme si pour lâinstant le record est toujours en 2012 avec soixanteâdouze contributeurs. En 2018 et 2019, un seul contributeur a rĂ©alisĂ© Ă lui seul plus dâun tiers puis plus de la moitiĂ© des _commits_. LâannĂ©e 2020 semble pour lâinstant mieux Ă©quilibrĂ©e. Le nombre de fichiers (un peu plus de 30 000) et de lignes de code (entre cinq et six millions) nâĂ©voluent pas beaucoup depuis 2015 (ou il avait fortement baissĂ© suite Ă la suppression de nombreuses bibliothĂšques tierces qui avaient Ă©tĂ© copiĂ©es dans le dĂ©pĂŽt Git, et qui sont maintenant tĂ©lĂ©chargĂ©es lors de la compilation). Des dĂ©tails pour HaikuPorts --------------------------- Du cĂŽtĂ© de [HaikuPorts](https://github.com/haikuports/haikuports/), lâactivitĂ© a Ă©tĂ© importante en 2017 et 2018, juste avant la sortie de la premiĂšre version bĂȘta. Elle se maintient bien depuis, avec plus de 2 000 _commits_ par an (plus de cinq par jour). Le nombre de contributeurs est assez Ă©levĂ© pour HaikuPorts (une soixantaine chaque annĂ©e). Cependant on voit que les dix contributeurs les plus actifs sont responsables de 75 % des recettes de construction de paquet. Cela sâexplique en partie par des contributions de personnes qui maintiennent des recettes pour empaqueter leurs propres logiciels, avec donc une activitĂ© assez restreinte. Le dĂ©pĂŽt contient actuellement des recettes pour 2 762 logiciels et bibliothĂšques. Des moyens de communications ============================ Le service de journalisation [echelog](https://echelog.com/) pour les canaux IRC de Freenode a Ă©tĂ© arrĂȘtĂ©. Ce service avait Ă©tĂ© dĂ©veloppĂ© au dĂ©part pour les canaux de Haiku et [lwjgl](https://lwjgl.org/), mais Ă©tait utilisĂ© par de nombreux autres projets Ă©galement. Haiku utilise dĂ©sormais [logbot](https://freenode.logbot.info/haiku/20200802) en remplacement. Haiku commence Ă se poser la question de la migration des salons de discussion et des autres moyens de discussion. Historiquement, [IRC](https://www.haiku-os.org/community/irc/) et des [listes de diffusion](https://www.haiku-os.org/community/ml/) par courriel sont principalement utilisĂ©s. Cependant, ces outils ne sont plus aussi courants aujourdâhui et pas forcĂ©ment appropriĂ©s dans toutes les situations (pas accessibles facilement avec un ordiphone, par exemple) et cela freine la participation de certains contributeurs. De plus, il manque un certain nombre de fonctionnalitĂ©s (par exemple, la modĂ©ration sur les listes de diffusion permettant de supprimer un message et de bloquer un fil de discussion pour empĂȘcher des rĂ©ponses inutiles), ou bien il y a du travail Ă faire pour les mettre en place (les journaux du canal IRC, par exemple). Les conditions qui semblent indispensables pour la migration font cependant quâil nây a pas beaucoup dâalternatives : - utilisation de logiciels libres avec un protocole documentĂ© et standardisĂ© ; - pas de contraintes sur les personnes qui peuvent utiliser le service (par exemple, certains services de discussion sont interdits aux moins de treize ans) ; - disponibilitĂ© de clients pour la plupart des systĂšmes, y compris Haiku (sans avoir besoin dâinstaller Qt ou autre grosse bibliothĂšque multiâplateâforme). Le candidat le plus avancĂ© est probablement XMPP (avec le client [Renga](http://github.com/haikuarchives/renga)), mais cela demandera encore du temps avant dâavoir un client complet et de commencer Ă envisager une migration. En attendant, il est possible de trouver des dĂ©veloppeurs et utilisateurs de Haiku sur divers services tels que Matrix, Telegram, Discord, [BeShare](https://www.goodeveca.net/BeShare/) (un systĂšme de clavardage et partage de fichiers en pair Ă pair dĂ©veloppĂ© pour BeOS Ă lâorigine), ainsi que sur le forum _[discuss.haiku-os.org](https://discuss.haiku-os.org/)_ ou encore sur Reddit. Des ponts ont Ă©tĂ© mis en place entre IRC et Matrix, et entre IRC et BeShare. Les salons Telegram restent sĂ©parĂ©s car leur usage est un peu diffĂ©rent (beaucoup dâenvoi dâimages ou de vidĂ©os, voire de messages vocaux) et cela serait plus dĂ©rangeant quâautre chose sur le canal IRC. La situation actuelle nous empĂȘchant dâorganiser des rencontres dans la vie rĂ©elle pour probablement encore quelque temps, cette rĂ©flexion prend un peu plus dâimportance en ce moment.