Haiku (système d'exploitation)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Haiku
Bureau et terminal d'Haiku
Bureau et terminal d'Haiku

Famille BeOS
Type de noyau Noyau hybride
État du projet en développement
Plates-formes i386, PowerPC
Entreprise /
Développeur
Haiku Project
Licence Licence MIT
États des sources Logiciel libre et Open source
Site web haiku-os.org
Page d'aide sur l'homonymie Pour les articles homonymes, voir haïku (homonymie).

Haiku (qui s'appelait anciennement OpenBeOS) est un système d'exploitation libre. Son but est d'être une version libre de BeOS, qui fut abandonné en 2001, suite à la fermeture de Be.

Histoire[modifier | modifier le code]

Le projet Haiku est initié en 2001 par Michael Phipps suite au rachat par Palm de la propriété intellectuelle de Be Inc. Deux ans plus tard il crée Haiku, Inc., une association à but non lucratif située à Rochester dans l'État de New York et visant à soutenir le développement du système d'exploitation Haiku.

En 2004, pour éviter d'éventuels problèmes de détournement de nom de produit, il est décidé de renommer OpenBeOS en Haiku. Il fait référence aux haïkus qui étaient affichés lorsque NetPositive, le navigateur web de BeOS, ne pouvait afficher la ressource web demandée, parce qu'elle n'existait pas (voir concernant cette erreur, l'article : Erreur HTTP 404).

D'octobre 2005 jusqu'à la fin de cette année, un des plus actifs développeurs d'Haiku, Axel Dörfler est payé par la communauté et ainsi pu travailler à temps plein sur le projet. Une de ses premières tâches a été de permettre à Haiku de pouvoir démarrer sur un CD et ainsi créer un LiveCD.

Le 29 mai 2006, Michael Phipps annonce qu'un second développeur sera payé pour travailler à temps plein sur Haiku durant les vacances d'été de juin à août[1]. Il travaillera principalement sur la couche réseau (compatible Bone, la couche réseau de BeOS 6 jamais officiellement sortie mais utilisée sous ZETA et inspirée de la couche BSD).

Durant l'été 2007, Haiku profite pour la première fois du Google Summer of Code, qui est un programme rémunéré visant à faire travailler des étudiants durant leurs vacances scolaires sur des projets de logiciels libres. À l'issue de cette première édition, plusieurs éléments d'Haiku ont été améliorés[2] :

  • la pile firewire de FreeBSD a été en partie portée
  • une application de configuration graphique de la couche réseau a été développée
  • une application gérant l'installation et la désinstallation d'applications supportant le format SoftwareValet utilisé du temps de BeOS a été développée
  • un algorithme de precache a été implémenté visant à améliorer les performances des entrées/sorties
  • plusieurs développements de la pile USB ont été réalisés, notamment l'ajout d'un mode de transfert isochrone et l'établissement d'une communication avec une webcam
  • un ordonnanceur O(1) a été développé
  • plusieurs développements sur la pile réseau

Les développements ne sont pas complètement terminés, il reste bien des choses à développer et certains de ces étudiants continueront à travailler sur Haiku.

Après huit ans de développement, une version alpha de Haiku R1[3] est distribuée le 14 septembre 2009[4]. La R1 Alpha 2 est sortie le 9 mai 2010, la R1 Alpha 3 le 20 juin 2011[5], et la R1 Alpha 4 le 12 novembre 2012.

Objectifs[modifier | modifier le code]

Haiku

Le développement d'Haiku est actuellement focalisé sur la R1, qui doit être quasiment identique[6] à la dernière version distribuée par Be, la R5. À tel point identique, que la compatibilité binaire est assurée. Sur ce point, en mars 2006, plusieurs applications, tel que VLC Media Player, Quake II et III, NetPositive ou encore l'éditeur d'image Wonderbrush, fonctionnaient aussi bien sous R5 que sous Haiku.

Une fois la R1 terminée, c'est la R2 qui sera lancée. Cette version a pour but d'innover en apportant des fonctionnalités non présentes dans la R5 de Be. Avec cette version, la compatibilité binaire ne sera plus assurée. Actuellement, un groupe de réflexion (Glass Elevator) établit une liste d'idées qui pourraient être implémentées.

Les composants[modifier | modifier le code]

Le noyau choisi par les développeurs d'Haiku est NewOS, qui a la particularité d'être léger et d'avoir beaucoup de similitudes avec celui de BeOS[7]. Ce noyau qui a été modifié avec le développement d'Haiku est portable et fonctionne sur des microprocesseurs x86 et PowerPC, qui sont les deux architectures visées par Haiku.

Autour du noyau, différents services (les Kits) se chargent de remplir les autres fonctionnalités du système d'exploitation. Au départ, un groupe de développeurs différent devait s'occuper de chacun de ces kits, mais cette séparation n'est plus d'actualité aujourd'hui et tous les développeurs du projet contribuent à plusieurs parties du système.

Ce découpage du système en kits a permis une transition progressive depuis BeOS R5 : en effet il était possible de remplacer certains des kits de BeOs par les versions de Haiku, plus performantes. Ce fut également le cas pour certaines applications comme le visualiseur d'images ShowImage. Cependant, la compatibilité des composants dans ce sens n'est plus assurée ; le noyau de Haiku et ses kits présentent des fonctionnalités n'existant pas dans BeOS ce qui rend difficile le rétro-portage d'applications vers ce dernier.

Aujourd'hui, il est possible d'utiliser les versions alpha de Haiku, qui comportent une version fonctionnelle de tous ces kits. Certains sont légèrement moins complets que leur équivalent dans BeOS, mais d'autres sont en avance ou même entièrement nouveaux.

Les Kits[modifier | modifier le code]

Voici plus en détail les différents kits de Haiku :

  • Application Kit : fournit les composants de base pour l'exécution d'applications graphiques ainsi que classes utilitaires (comme la gestion des chaînes de caractères) ;
  • BFS, le système de fichiers (BeOS file system) et ses utilitaires. Ce kit est utilisé par SkyOS pour son système de fichier SkyFS[8] ;
  • Game Kit, le support de la bibliothèque OpenGL notamment ;
  • Input Server, la gestion des entrées/sorties (clavier, souris et autres périphériques communiquant avec le système) ;
  • Kernel, le noyau ;
  • Locale Kit, permettant l'internationalisation (non présent dans BeOS) ;
  • Media Kit, le serveur de sons, la bibliothèque pour les codecs et ces derniers ;
  • MIDI Kit, implémentation du protocole MIDI ;
  • Net Server, la couche réseau et les pilotes des composants réseaux ;
  • Preferences Kit, regroupe toutes les applications permettant de configurer le système d'exploitation ;
  • Print Server, le serveur d'impression et les pilotes d'imprimantes ;
  • Screen Saver, l'économiseur d'écran et l'API associée ;
  • Storage Kit, la gestion des périphériques de stockage et les pilotes d'écriture sur les différents types de systèmes de fichiers autres que le BFS ;
  • Translation Kit, les translators et toutes les classes associées.

Notes et références[modifier | modifier le code]

  1. (en) Haiku Bounties and a new intern!
  2. (en) DarkWyrm, « 2007 Google Summer of Code Summary »,‎ 19 septembre 2007 (consulté en 22 septembre 2007)
  3. pour Release 1, reprenant ainsi la dénomination utilisée en son temps par Be
  4. (en) « Haiku Project Announces Availability of Haiku R1/Alpha 1 », sur Haiku-OS.org,‎ 14 septembre 2009 (consulté le 22 septembre 2009)
  5. (en) « Haiku Release 1 Alpha 3 », sur Haiku-OS.org,‎ 20 juin 2011 (consulté le 11 juillet 2011)
  6. à l'exception notable de la couche réseau, qui sera celle de la version qui était en cours de développement par les ingénieurs de Be, avant que l'entreprise ne ferme.
  7. très certainement dû au fait qu'il est développé par un ancien ingénieur de Be.
  8. SkyFS n'est plus compatible avec OpenBFS depuis la version 5.0 bêta 8.2 de SkyOS, suite à d'importants changements dans le format du système de fichiers

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :