Bitrig, un récent fork d'OpenBSD

36
11
mar.
2015
OpenBSD

Bitrig a annoncé sa première version. Bitrig est un fork d'OpenBSD initié par quelques anciens développeurs OpenBSD trouvant la base de code excellente, mais manquant un peu de modernité. Le but principal du projet est donc d'expérimenter de nouvelles fonctionnalités qui ne trouveraient pas forcément leur place dans OpenBSD.

Principales différences avec OpenBSD

Le but principal avoué de Bitrig est de proposer un système d'exploitation libre sur lequel on puisse s'amuser. Parmi les points notables, nous pouvons citer :

  • Bitrig se veut un bac à sable pour les étudiants souhaitant expérimenter des idées dans un système d'exploitation dans le cadre de projets ou de stages ;
  • Le projet Bitrig se concentre principalement sur les architectures qui sont activement développées, notamment AMD64 et ARMv7. Les autres architectures ne sont pas retirées pour autant ;
  • Clang 3.4 est le compilateur inclus dans base au lieu de GCC 4.2 ;
  • Bitrig utilise son propre arbre de ports, dérivé de celui d'OpenBSD. En clair, les changements dans les ports OpenBSD sont intégrés ponctuellement et adaptés si nécessaire. À noter que les ports qui concernent uniquement des architectures non prise en charge par Bitrig ne sont pas importés.

Changements présents dans la version 1.0

Il aura fallu pas loin de 30 mois de développement pour voir apparaître la première version stable de Bitrig. Voici en résumé ce qu'elle apporte :

  • Clang 3.4 remplace GCC 4.2 et de même, libc++ et libc++abi remplacent libstdc++ ;
  • Le système de fichiers par défaut est FFS2. Il prend en charge la journalisation, ainsi que la possibilité d'être utilisé pour le démarrage ;
  • tmpfs remplace mfs, en tant que système de fichier temporaire permettant d'être chargé en mémoire ;
  • Prise en charge de TLS (Thread-Local Storage et non pas Transport Layer Security) ;
  • Possibilité d'utiliser des espaces de stockage utilisant GPT avec un outil similaire à fdisk ;
  • fdisk reçoit d'ailleurs plusieurs améliorations ;
  • Apparition d'une image flashable sur USB pour l'architecture AMD64 ;
  • Améliorations de la prise en charge de ARMv7, notamment ARM EABI et hard float ;
  • Mutex noyau "équitables" (fair kernel mutexes) implémenté via les opérations atomiques de C11. Pour rappel, un mutex est dit "équitable" s'il traite les threads dans l'ordre de leur demande d'accès à une ressource. Cela permet d'éviter des situations de famine, mais peut aussi se révéler moins efficace que des mutex "inéquitables" ;
  • ps(1) a vu une amélioration de sa compatibilité POSIX ainsi qu'un affichage hiérarchique ;
  • Le seul outil GNU encore présent dans base est texinfo.

Changements plus récents

Depuis la version 1.0, clang est passé en version 3.6.0 dans base et la prise en charge de vnd(4) est tombée en désuétude.

Controverse

Ce fork ne s'est pas fait sans créer une certaine controverse. Theo de Raadt a ainsi réagi avec assez de virulence à l'annonce du fork. Selon lui, un des développeurs (Marco Peereboom) aurait engagé quatre autres développeurs OpenBSD dans sa startup (Conformal Systems) et tenté d'en engager une dizaine d'autres de façon sournoise et détournée.
Ariane van der Steldt s'est expliquée quant à sa décision de quitter le projet OpenBSD pour rejoindre Bitrig. Elle mentionne notamment le fait que des discussions sans haine entre elle et Theo sont devenues impossibles.

Et ensuite ?

L'équipe de développement a publié une feuille de route donnant plus de détails sur le futur proche de Bitrig.
Dans ce document apparaissent des améliorations comme :

Il reste désormais à voir de quelle manière le fork va évoluer, et surtout, s'il saura éveiller de l'intérêt et attirer des utilisateurs.

Aller plus loin

  • # Be Free

    Posté par  . Évalué à -2.

    Ça a des airs de FreeBSD tout ça. Bon, on merge maintenant ?

    (owi moinssez-moi !)

  • # 2 ans et 38 semaines :)

    Posté par  . Évalué à 6.

    C'est pas ce qu'on appelle une nouvelle.

    Bon, pour être honnête, je n'étais pas au courant mais bon, OpenBSD continue son bonhomme de chemin et plutôt bien.

  • # Cette polémique n'est pas toute jeune...

    Posté par  . Évalué à 3. Dernière modification le 11 mars 2015 à 21:17.

    Juste comme ça, «récent», surtout à propos de la polémique?

    L'article de base date de 2012. L'affaire est close depuis un petit bout de temps, les mails sont aussi daté d'il y a 2ans (2 years, 38 weeks, 1 day, 10 hours and 54 minutes ago). Il serait peut-être bon aussi de lire tout le thread, je pense que ça ouvrirait les yeux de certains sur le projet OpenBSD et son fondateur. Accessoirement, de détruire quelques polémiques inutiles.

  • # BSD desktop ou masochisme informatique

    Posté par  . Évalué à -10.

    Non mais il faut être sérieux , les systèmes BSD ne sont pas fait pour le desktop , déja que sur linux on a du mal a cause du support matériel pas top , et des logiciels propriétaires indispensables qui nous snobes , mais la sur BSD c'est le néant absolu , support matériel nul , et la majorité des logiciels sont importés de linux.

    • [^] # Re: BSD desktop ou masochisme informatique

      Posté par  . Évalué à 4.

      Voilà des propos dignes d'un jvachez importé sur Linux…

      • [^] # Re: BSD desktop ou masochisme informatique

        Posté par  . Évalué à 4.

        N'empêche qu'il n'a pas totalement tord sur la partie BSD sur le desktop. C'est faisable, mais ce n'est pas aussi simple que Linux aujourd'hui.

        Et je suis un BSDiste.

    • [^] # Re: BSD desktop ou masochisme informatique

      Posté par  (site web personnel) . Évalué à 4.

      Non mais il faut être sérieux , les systèmes BSD ne sont pas fait pour le desktop

      Je suis assez d'accord, n'empêche que j'utilise que du FreeBSD pour mes desktops

      et la majorité des logiciels sont importés de linux.

      Et que dire des logiciels importés de Windows, sous Linux, et enfin BSD ?
      Houlala…

      les pixels au peuple !

    • [^] # Re: BSD desktop ou masochisme informatique

      Posté par  . Évalué à 5.

      et la majorité des logiciels sont importés de linux.

      Hum… je doute que la majorité des logiciels utilisent les extensions GNU de la libc. Ceci dit, dans le cas d'OpenBSD, on peut apparemment (je l'ai appris ce matin) effectivement avoir des compilations qui foirent quand on compile un code C standard, si celui-ci utilise rand() et srand() (qui sont à proscrire, je l'ai aussi appris ce matin ).

      Si ma source à raison, alors, j'ai envie de dire que je pense que j'éviterais d'aller coder pour OpenBSD: moi j'ai le standard, et un OS qui pète un standard juste parce que ça lui convient pas, j'aime pas. À la rigueur, qu'ils fassent une lib alternative, ok, mais péter le standard… hum…

      • [^] # Re: BSD desktop ou masochisme informatique

        Posté par  (site web personnel) . Évalué à 5.

        La morale derrière ce changement, si j'ai bien compris, c'est que dans la plupart des cas, si rand() est utilisé, c'est un bug, et que c'est un bug trop courant. Du coup, au lieu de corriger plus d'un millier de logiciels tiers qui utilisent rand() à la main, ce petit changement corrige tout d'un coup. En pratique, à part pour des tests où le caractère déterministe est important, je pense pas que le changement soit si bouleversant que ça.

        Une chose à tenir en compte, c'est qu'OpenBSD est très attaché à la sécurité par défaut et pour tout le monde (pas juste les experts en sécurité), et donc essaie d'encourager le moins possible les bêtises (donc une fonction déterministe devrait avoir le mot "déterministe" dans son nom, et pas juste "rand", qui est trompeur), quitte à pas être totalement standard.

        • [^] # Re: BSD desktop ou masochisme informatique

          Posté par  . Évalué à 3.

          Je comprend ça, mais ça veut dire que le standard est pété. Et ça, désolé, mais j'ai du mal à apprécier. Si j'utilise des langages qui sont standardisés, ce n'est pas pour rien.

          En plus, il semblerait (conditionnel, encore, parce que j'ai pas d'OpenBSD sous la main pour vérifier) que ce soient les signatures qui sont pétées, du coup ça implique d'avoir un ifdef pour insérer du code non standard pour supporter une plate-forme mineure (parce que oui, OpenBSD est mineure)… désolé, mais non.
          Les ifdef, c'est crade. Je peux les tolérer pour activer du debug ou faire des workaround pour des plate-formes plus utilisées, mais les BSD ne sont pas super utilisés.

          Enfin, peu importe: maintenant que je sais que rand est à proscrire, je ne l'utiliserais plus de toute façon (sauf si j'ai pas le choix). Tout ça me fait penser qu'il faudrait que je fasse un grep sur les sources de 3-4 jeux, histoire de vérifier.

          • [^] # Re: BSD desktop ou masochisme informatique

            Posté par  (site web personnel) . Évalué à 4.

            En plus, il semblerait (conditionnel, encore, parce que j'ai pas d'OpenBSD sous la main pour vérifier) que ce soient les signatures qui sont pétées

            Non, c'est juste que l'argument que tu passes à srand est ignoré, et que rand utilise du vrai random. Si les signatures avaient changé, ça n'aurait pas eu beaucoup d'intérêt, car il aurait fallu de toutes façons aller patcher à la main tous les logiciels tiers utilisant rand(), ce qui était justement le truc à éviter.

    • [^] # Re: BSD desktop ou masochisme informatique

      Posté par  (site web personnel) . Évalué à 4.

      Heu… Par curiosité, la dernière fois que tu as tenté d'installer un système BSD, ça remonte à combien d'années ?

  • # architectures supportées

    Posté par  . Évalué à 5.

    Petite précision sur les architectures supportées, contrairement à ce que la dépêche laisse entendre : bitrig ne vise que amd64 et armv7.

    1. Architectures. Bitrig only supports current architectures, specifically, amd64 and armv7. We are not opposed to supporting other architectures, but our development efforts are directed towards modernization, not supporting old hardware.

    D'ailleurs, si on regarde dans https://github.com/bitrig/bitrig/tree/master/sys/arch, on voit bien que toutes les autres ont sauté.

  • # Sournoiserie

    Posté par  . Évalué à 4.

    Selon [de Raadt], un des développeurs (Marco Peereboom) aurait engagé quatre autres développeurs OpenBSD dans sa startup (Conformal Systems) et tenté d'en engager une dizaine d'autres de façon sournoise et détournée.

    Quel horreur, lancer une startup qui paierait des développeurs de logiciel libre. De façon "sournoise et détournée", qui plus est. Tout le monde sait que le seul mode de vie digne de ce nom pour un développeur de LL est la mendicité sur Internet.

    • [^] # Re: Sournoiserie

      Posté par  . Évalué à 10. Dernière modification le 12 mars 2015 à 14:26.

      Bravo.

      Sauf que la réalité est différente.

      Ce qui est "sournois et détourné" est qu'ils ont été recrutés sans pouvoir le dire (interdit par le contrat), tout en prétendant toujours travailler sur le projet OpenBSD alors qu'ils ne faisaient plus rien depuis des semaines/mois. Et à la fin seulement, c'est enfin annoncé.

      Alors que si ça avait été clair dès le départ, le projet OpenBSD aurait pu trouver d'autres développeurs et avancer au lieu de rester bloqué en ayant des réponses évasives aux demandes de nouvelles aux développeurs concernés.

      Qu'ils se fassent recruter, tant mieux pour eux ! Ça ne gêne en aucun cas. Par contre, bloquer le projet OpenBSD au passage pendant X temps et mentir sur le pourquoi, ça pue.

      "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

      • [^] # Re: Sournoiserie

        Posté par  . Évalué à 0.

        Ok, ça semble peu amical en effet.

        Mais si le recrutement de quatre personnes peut "bloquer le projet OpenBSD", je pense que le projet OpenBSD a des problèmes un peu plus graves que cette simple histoire de fork…

        • [^] # Re: Sournoiserie

          Posté par  . Évalué à 2.

          J'ai pas dit que ça le bloquait en totalité…

          "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

        • [^] # Re: Sournoiserie

          Posté par  . Évalué à 7.

          En même temps, je doute que remplacer ne serait-ce que quatre développeurs compétents sur un projet aussi complique et complexe au pied levé soit trivial.

          • [^] # Re: Sournoiserie

            Posté par  . Évalué à -2.

            Mais justement, s'il faut absolument "remplacer" ces quatre personnes (plutôt que de faire temporairement sans elles), ça veut dire que le projet OpenBSD a un bus factor assez faible.

            • [^] # Re: Sournoiserie

              Posté par  . Évalué à 4.

              Bein oui tout les OS ne sont pas linux avec 600 développeurs réguliers.

      • [^] # Re: Sournoiserie

        Posté par  . Évalué à 5.

        ils ont été recrutés sans pouvoir le dire (interdit par le contrat)

        Franchement, ça me fera toujours halluciner que ce genre de chose soit légale. D'autant plus dans un pays qui se veut le berceau de la liberté d'expression…

        • [^] # Re: Sournoiserie

          Posté par  . Évalué à 2.

          Hum… le Canada se veut le berceau de la liberté d'expression? J'étais pas au courant perso (ni du contraire, hein).

          • [^] # Re: Sournoiserie

            Posté par  . Évalué à 2.

            La société dont il est question est basée aux USA.

            • [^] # Re: Sournoiserie

              Posté par  . Évalué à 1.

              Mea culpa, confondu avec OpenBSD.

              De toute façon, pour considérer les USA comme le berceau de la liberté d'expression, faut être taré. Déjà, on parle d'un pays très jeune, et accessoirement, la chasse aux sorcières, ils aiment bien aussi là-bas. Je suis sûr que l'on peut trouver nombre d'autres évènements qui en disent long sur l'amour de la «liberté» (en général, inutile de se limiter à celle d'expression) «propre» aux américains.

              • [^] # Re: Sournoiserie

                Posté par  . Évalué à 1. Dernière modification le 18 mars 2015 à 11:06.

                Mouais. Enfin, tous les pays ont leurs part d'Histoire peu reluisante. Alors bon l'anti-américanisme primaire n'est pas plus noble que l'anti-germanisme primaire ou autre variante…

                "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                • [^] # Re: Sournoiserie

                  Posté par  . Évalué à 1.

                  Je suis pas particulièrement anti-américain. La France est pas mieux de toute façon (sans aller trop loin dans l'histoire, Pétain était français).

                  Je dis juste que je ne vois aucune raison de considérer les USA comme le berceau d'une liberté, quelle qu'elle soit: c'est l'un des pays les plus jeunes actuellement. Alors, je ne suis pas super calé en histoire, géopolitique et autres, mais je doute qu'ils soient à l'origine d'innovations sociales.

                  • [^] # Re: Sournoiserie

                    Posté par  . Évalué à 0.

                    Et Internet, c'est pas aussi une évolution sociale peut-être ?
                    Et ça serait pas en grande partie en provenance des États-Unis peut-être ?

                    (réponse aux deux questions : si)

                    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                    • [^] # Re: Sournoiserie

                      Posté par  (site web personnel) . Évalué à 0.

                      Et le réseau Cyclades, c'est pour du beurre ?

                      • [^] # Re: Sournoiserie

                        Posté par  . Évalué à 1.

                        Et ARPANET c'est pour du beurre ?

                        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.