Posts Tagged ‘Ubuntu’

Ubuntu Edge à 695$, Canonical casse les prix

jeudi, août 8th, 2013

L’Ubuntu Edge est un projet de smartphone haut de gamme utilisable sous Android et Ubuntu mobile, mais surtout fournissant un bureau Ubuntu complet (les trois systèmes d’exploitation partageant le même noyau Linux).

C’est la première vraie proposition de convergence réelle, innovante et crédible faite par une entreprise, ce qui explique pourquoi j’en souhaite vraiment la réussite. Et pour une fois cette innovation grand publique majeure viendrait des logiciels libres, ce qui me permet d’y adhérer pleinement.

Pour commencer la production Canonical a lancé, le 22 juillet 2013, une campagne de financement participatif extrêmement ambitieuse, puisqu’elle vise à récolter pas moins de 32 millions de dollars.

Aujourd’hui, alors que plus de la moitié des 30 jours de campagne se sont écoulés, la somme d’argent accumulée de plus de 8 millions de dollars, bien qu’impressionnante à bien des égards, ne semble pas suffisante pour espérer boucler le financement.

Ainsi, les statisticiens appelés à la rescousse pour évaluer les chance de réussite de la campagne pronostiquent-ils une somme finale de 22 millions de dollars. Et quand on visualise la dynamique de la situation, on peut même penser que c’est une prévision déjà plutôt optimiste :

Rappelons que c’est une campagne de type tout ou rien, c’est à dire que soit les 32 millions de dollars sont atteints et dépassés, soit ils ne le sont pas et dans ce cas les sommes sont remboursées. C’est donc pour réagir à cette situation difficile pour le projet que Canonical a fait deux annonces aujourd’hui.

La première est la création d’une offre spéciale orientée entreprise de 100 Ubuntu Edge plus 30 jours de support pour 80 000 dollars.  L’adhésion à cette offre de Bloomberg, qui est une entreprise de grande notoriété, est mis en avant pour essayer de convaincre d’autres entreprises.

La seconde est la baisse du prix de l’Ubuntu Edge à 695$ (environ 520 euros), auxquels il faut ajouter 30$ de port si l’on réside ailleurs qu’aux États-Unis ou au Royaume-Uni. Alors que la politique de prix a connu plusieurs ajustements successifs, laissant poindre une certaine forme d’improvisation, ce prix d’appel devrait être le dernier.

Si vous voulez croire en ce projet, c’est donc maintenant ou jamais !

Pour ceux qui, comme moi, ont déjà investi leurs économies dans un Ubuntu Edge vendu à un prix plus onéreux, pas d’inquiétude, Canonical remboursera la différence à la fin de la campagne.

La honteuse mise à mort d’Unity 2D !

dimanche, août 26th, 2012

Canonical a décidé de tuer Unity 2D, la version d’Unity fonctionnant même sans carte graphique 3D puisqu’utilisant Qt et Metacity en lieu et place de Nux et Compiz.

Personnellement je l’ai appris par un message d’Ogra, sur la mailing list Ubuntu/AC100 à laquelle je suis inscrit car  le port d’Ubuntu pour le Toshiba AC100 est de loin la meilleure distribution Linux disponible pour cette machine (que j’ai offerte à ma sœur et dont j’assure la maintenance). Mais si cela a autant d’importance pour moi c’est que j’utilise Unity 2D, que je trouve plus légère et plus rapide qu’Unity, sur toutes mes machines Desktop.

En fait, la décision a d’abord été annoncée lors du Ubuntu Developer Summit Q, au détour d’une conférence sur l’avenir de GNOME dans Ubuntu. Sa réalisation a commencé avec  un bug à portée générale et vient d’être confirmée par Jason Warner, le Ubuntu Desktop Manager.

Mais alors que se passera-t-il  lorsqu’un ordinateur n’aura pas les capacités 3D nécessaires à Unity, si l’on ne peut plus avoir recours à Unity 2D ? La solution choisie par Canonical est la même que celle que Red Hat a mise en œuvre pour GNOME Shell et qui fonctionne depuis Fedora 17 : utiliser LLVMpipe, qui est basé sur Gallium3D, pour émuler en software les fonctionnalités 3D manquantes du hardware.

Ceci implique très logiquement de gros problèmes de performance et, le plus grave selon moi, une compatibilité limitée aux seuls processeurs x86. Or, en plus du Toshiba AC100 et de son processeur ARM, j’utilise aussi de vieux Macs équipés de processeurs PowerPC comme desktop…

L’intérêt bien compréhensible de Canonical est de concentrer toutes ses forces dans un seul projet. Cette démarche est rationnelle, mais le choix du projet est plus que contestable, car c’est celui qui fonctionne le mieux, alors même qu’il est plus jeune et qu’il bénéficie de moins de développeurs, qui se retrouve sacrifié.

Comme je l’avais envisagé à l’annonce d’Unity 2D, Canonical simplifie son offre logicielle pour le desktop, mais contrairement à ce que j’espérais ce n’est pas Unity qui disparaît. Pourtant, le choix d’Unity 2D pour le projet Ubuntu TV et les besoins du projet Ubuntu for Android m’avaient clairement conforté dans mon analyse, et rendent d’autant plus surprenante la décision d’abandonner Unity 2D maintenant.

Est-il encore temps de réagir et d’obtenir que Canonical revienne sur sa décision ? Un fork d’Unity 2D, avec port immédiat vers GSettings, sans le soutien de Canonical est-il viable ? J’ai vraiment l’impression de ne pas être le seul à préférer Unity 2D à Unity pour des machines ayant un support 3D, et je me demande si Canonical avait vraiment conscience de cela au moment où la mise à mort de Unity 2D a été décidée…

 

Unity, le point technique

mardi, février 1st, 2011

Après mon long article sur le support de Qt dans Ubuntu, je veux faire un court récapitulatif technique des différents Desktop Shell développés par Canonical. En effet, il y en a cinq au total, tous utilisant des technologies différentes, et il est donc relativement facile de s’emmêler les pinceaux et de ne plus savoir de quoi l’on parle.

Tableau récapitulatif des technologies utilisées :
Desktop ShellGraphismeGestionnaire de fenêtresLib. graphiquesLangagesDév. actifLicence
Netbook Remix Launcher3DMutterClutter + CluTKCNonGNU GPLv3
Netbook Launcher EFL2DMetacityEFL + GTKCNonGNU GPLv3
Unity v1 (branche 0.2)3DMutter
Clutter + CluTKC et ValaNon
GNU GPLv3
Unity v2 (branche 3.0)3DCompizNuxC++ et ValaOuiGNU GPLv3
Unity 2D2DMetacityQtC++ et QMLOuiGNU GPLv3

Le choix de la licence GNU GPLv3 est excellent et garantit que personne ne pourra rendre ces projets propriétaires, à l’exception notable de Canonical lui-même, puisque la signature d’une cession de droits d’auteur est nécessaire pour pouvoir y contribuer.

On ne peut que constater que Canonical n’a pas ménagé ses efforts en terme de recherche et développement. L’ensemble des technologies graphiques libres ont été évaluées et testées en pratique, et mises au service d’une volonté d’innovation ergonomique. Les choix faits par Canonical me semblent dès lors d’autant plus légitimes, car ce ne sont pas des actes gratuits faits juste pour troller, mais des conclusions objectives de mois de programmation et d’expérimentation.

Switch du C vers le C++

En fait, le plus remarquable est l’abandon du C en faveur du C++. On peut considérer que le choix technique du C, un langage de programmation non objet, pour faire des interfaces graphiques, par nature orientées objet, était le péché originel du bureau GNOME. Les bibliothèques passent du C (GTK, Clutter, CluTK et EFL) au C++ (Qt et Nux), tout comme le gestionnaire de fenêtres 3D qui passe de Mutter, écrit en C, à Compiz, qui vient d’être totalement réécrit en C++.

Enfin, d’autres technologies plus modernes font leur apparition, comme Vala, qui est le seul choix technique de Unity v1 conservé dans Unity v2, et QML, le nouveau langage déclaratif de description d’interfaces graphiques pour Qt. À titre personnel, l’idée d’utiliser QML m’est beaucoup plus sympathique que de programmer de l’OpenGL bas niveau avec Nux, et je suis donc vraiment séduit par Unity 2D.

Qt dans Ubuntu ! Des morts à venir ?

jeudi, janvier 20th, 2011

Cela bouge énormément au niveau du desktop de la distribution GNU/Linux orientée desktop la plus connue et la plus utilisée, j’ai nommé Ubuntu, bien sûr basée sur Debian. Et ce qui se passe pourrait transformer radicalement le paysage du logiciel libre pour le bureau de l’utilisateur final.

L’abandon de GNOME pour Unity, puis la volonté de s’émanciper à moyen terme de Xorg pour aller vers Wayland, étaient déjà des annonces retentissantes. Deux grandes nouvelles sont venues s’y ajouter en ce début d’année. Des annonces concernant l’un des plus grands trolls de l’histoire du logiciel libre, le grand combat des jeux de widgets Qt VS GTK.

En effet, en tant que distribution GNOME, Ubuntu avait l’ensemble de sa stack graphique basée sur GTK et les technologies dérivées. C’est Kubuntu, distribution KDE officiellement supportée, qui intégrait Qt. Or, dans les prochaines versions d’Ubuntu, cet équilibre qui semblait à la fois si stable et si évident va littéralement voler en éclats.

Unity 2D

Le 13 janvier c’est Bill Filler qui annonçait Unity 2D, un clone de l’interface Unity ne nécessitant pas d’accélération 3D et se basant sur Qt. La problématique est très importante, car Ubuntu ne peut se permettre avec son Unity 3D de tourner le dos aux machines du passé, qui peuvent ne pas avoir les capacités graphiques nécessaires mais continuent malgré tout de fonctionner, et surtout aux machines de l’avenir, qui seront de plus en plus basées sur des processeurs ARM et donc souvent dénuées de chip 3D ou de drivers libres.

Ce problème avait déjà été réglé par Canonical qui fournit depuis Ubuntu 10.04 une version 2D d’Ubuntu Netbook Edition. Cette dernière repose sur les EFL, pour Enlightenment Foundation Libraries, connues pour proposer de belles et rapides fonctionnalités graphiques sans accélération 3D. Je peux d’ailleurs témoigner de la qualité de l’ensemble, puisque c’est ce qu’utilise ma sœur sur son Toshiba AC100.

Une infidélité avec les EFL pour l’interface d’une distribution GNOME passe encore, mais avec Qt ! Ne manquait plus que les applications…

Applications Qt

Le 18 janvier c’est Mark Shuttleworth en personne qui annonçait que de la place sera réservée pour Qt sur le CD de Natty+1, c’est-à-dire Ubuntu 11.10, et que toute application se basant dessus se trouvait donc désormais en position d’intégrer Ubuntu. Des applications ne se trouveront donc plus exclues du simple fait de leur bibliothèque graphique, et la sélection ne se fera donc plus que sur leurs qualités intrinsèques. Présenté ainsi, cela paraît difficilement contestable du point de vue de l’ingénierie logicielle.

En fait c’est un secret de Polichinelle que GTK a toujours été techniquement inférieure, ou au moins en retard sur Qt. Qt qui de plus a toujours été parfaitement multiplateforme (X11, MacOS X et Windows), alors que GTK a mis du temps à fonctionner sous Windows et n’a jamais supporté MacOS X en natif. Qt qui est basée sur C++, alors que GTK est basée sur C, avec un modèle objet parfait pour un programmeur assembleur, mais peu convainquant pour un programmeur Eiffel. Pour un programmeur Python, le fait de ne pas pouvoir faire d’héritage multiple est une limitation qui parle, encore plus quand on lui ajoute l’argumentaire « it’s not a bug, it’s a feature ».

Alors pourquoi tant de développeurs du libre, y compris moi, utilisent-ils GTK plutôt que Qt ? La raison qui a poussé à l’adoption de GTK a été d’abord l’éthique, puisque Qt n’était pas libre. Ensuite, la nature multiplateforme de Qt qui fournissait bien plus de technologies qu’un simple toolkit graphique a plutôt joué en sa défaveur, alors que GTK s’intégrait beaucoup mieux avec les autres technologies libres développées pour Linux, ce qui l’a fait peu ou prou apparaître comme la bibliothèque graphique native de ce système.

Pourquoi Qt maintenant ?

Oui mais voilà, Canonical veut faire des choix radicaux et forts motivés par l’excellence technique. Il  faut bien reconnaître qu’une distribution Linux desktop qui envisage sans frémir d’abandonner X11, et presque 30 années d’histoire de l’affichage graphique pour Unix, peut bien changer de toolkit.

QML, un langage déclaratif de description d’interface graphique proche de JavaFX, c’est-à-dire avec une syntaxe qui N’est PAS du XML mais du JavaScript et de nombreuses fonctionnalités graphiques modernes comme les animations, est l’argument technique majeur avancé. Ainsi toute l’interface d’Unity 2D est-elle écrite en QML.

Le fait qu’une grande entreprise aussi riche que Nokia mette toute sa puissance, et ses nombreux développeurs payés à plein temps, derrière Qt qu’elle a racheté en 2008 pour plus de 100 millions d’euros, est aussi un élément qui doit beaucoup peser du côté de Canonical.

To the good folks at Trolltech, now Nokia, who have made Qt a great toolkit – thank you.

L’ergonomie en question

Je ne peux que constater depuis des années la piètre qualité de l’ergonomie générale (cohérence de l’interface, consistance des actions, stabilité entre les versions, design, etc.) des principaux bureaux libres que sont GNOME et KDE, à tel point que bien que plus fonctionnels, je les considère toujours comme inférieurs à Window Maker, un clone de NeXTSTEP, l’ancêtre de MacOS X.

La première explication de cette situation est le fait que les excellents développeurs que sont ceux du logiciel libre sont rarement aussi de bon ergonomes ou de bons designers (pour ceux ne se limitant pas volontairement à la CLI). La seconde explication est que le modèle décentralisé où chacun peut apporter ses idées et améliorer celles des autres, si efficace pour développer des logiciels toujours plus inventifs et innovants, ne l’est plus du tout quand il s’agit de créer une interface graphique cohérente.

Mark Shuttleworth s’est désigné volontaire pour jouer le rôle du salaud autoritaire fascisant que Steve Jobs tient avec succès chez Apple depuis toujours, et je pense qu’il a raison. Ainsi la première chose que j’ai remarqué en testant Unity, c’est que je ne pouvais pas mettre le dock à droite, ce qui en tant que droitier est réellement problématique pour moi. Ce bug dont au moins 20 autres personnes semblent déjà souffrir, a été marqué comme « wontfix » par Shuttleworth car il veut absolument que le dock soit proche du bouton Ubuntu ! C’est horrible, c’est nazi, mais ça se tient. Et personnellement, quand on voit le résultat global d’Unity, on est déjà bien loin devant GNOME et KDE en terme d’ergonomie (j’y reviendrai plus longuement dans un autre article).

Des morts à venir ?

Je pense que cet effort de réunir tous les meilleurs logiciels libres, quelles que soient leurs technologies, dans Ubuntu, va inéluctablement amener à la disparition de ses dérivés officiels Kubuntu et Xubuntu (basé sur Xfce).

Si l’on est conscient de la place prédominante qu’occupe aujourd’hui Ubuntu parmi les distributions orientées desktop, et si Shuttleworth réussit son coup avec Unity, on peut même légitimement se poser la question de la pérennité des projets GNOME et KDE.

GNOME me paraît le plus en danger, au moins au sens où on l’entend aujourd’hui comme bureau graphique, puisque Shuttleworth l’envisage plutôt comme l’ensemble des bibliothèques non-graphiques, et ose même un surréaliste :

Perhaps GNOME itself will embrace Qt

qui démontre sans équivoque le peu de crédit qu’il porte à GTK. De plus la prochaine version du bureau GNOME, nommée GNOME shell, utilisera Mutter et Clutter, qu’Unity a déjà abandonnés en faveur de Compiz et Nux (un nouveau toolkit graphique 100% OpenGL) car étant à la fois trop lents et trop buggés.

Et si le duo Compiz/Nux ne se montrait finalement pas à la hauteur… Unity 2D pourrait tout aussi bien se transformer en Unity 3D avec le prochain SceneGraph. Et comme en plus Qt est la première bibliothèque graphique à peu près portée sur Wayland

Mais il ne faut pas s’y tromper, adopter Qt ne semble pas du tout vouloir dire switcher vers KDE :

I’d draw a distinction between “Qt” and “KDE” in the obvious places.

Paradoxalement, l’adoption généralisée de son toolkit pourrait bien quand même marquer la fin de KDE, puisqu’un développeur censé voudra logiquement utiliser Qt, mais aucune dépendance particulière à KDE qui empêcherait l’intégration de son application dans Ubuntu.

Boot sur clé USB

mardi, octobre 12th, 2010

Comme la majorité des utilisateurs de distributions GNU/Linux, j’utilise aujourd’hui la possibilité d’installer mon système directement d’une clé USB bootable. Cela est très avantageux par rapport à l’ancienne méthode standard, qui consiste à graver un CD, puisque cela dispense d’avoir un graveur, de payer des CDs, et surtout depuis trois ans et la déferlante des Netbooks, beaucoup de machines n’ont tout simplement plus de lecteur optique.

Tips Ubuntu 10.10

Or, pour l’iso de la dernière version d’Ubuntu, Maverick Meerkat, quand vous créez la clé USB bootable avec usb-creator, vous obtenez par la suite le magnifique message :

SYSLINUX 3.63 Debian-2008-07-15 EBIOS Copyright (C) 1994-2008 H. Peter Anvin
Unknown keyword in configuration file.
boot:

En fait, le problème est que les anciennes versions d’usb-creator ne sont pas compatibles avec la nouvelle iso Ubuntu. Il existe trois manières de régler le problème :

  1. Faire une upgrade de votre Ubuntu à Maverick Meerkat.
  2. Installer le .deb de la dernière version d’usb-creator.
  3. Plus simplement, éditer le fichier « syslinux/syslinux.cfg » de votre clé USB, et à la dernière ligne, remplacer « ui gfxboot bootlogo » par « gfxboot bootlogo ».

Tout cela m’amène à faire un point global de la situation de ce type d’installation pour les différentes distributions GNU/Linux que j’utilise.

Ancienne méthode

En plus des traditionnelles images en « .iso » pour graver un CD, Arch Linux jusqu’à son installeur 2009.08, et Ubuntu jusqu’à la version 9.04 de son édition pour netbook, ont fourni des images en « .img ». Avec la simple commande :

sudo dd if=image.img of=/dev/sdX

on obtenait immédiatement une clé USB bootable. Cette méthode rapide et efficace présentait deux petits inconveignants :

  1. Elle nécessite de fournir deux fois plus d’images différentes de la distribution, les « .img » en plus des « .iso », ce qui vu le nombre d’images déjà important d’une distribution GNU/Linux (différentes architectures, différents modes d’installation, etc.), peut finir par amener une certaine confusion.
  2. Elle formate toute la clé USB, empêchant de continuer à l’utiliser aussi comme périphérique de stockage.

Nouvelles méthodes

C’est pour cela que de nouvelles méthodes ont été développées. Arch Linux propose depuis son installeur 2010.05 des images « .iso » hybrides, générées grâce au programme isohybrid. Ces dernières sont utilisables directement aussi bien pour graver un CD que pour créer une clé USB bootable. Cela règle parfaitement le premier problème, mais pas le second.

C’est pour cela que depuis sa version 8.10, Ubuntu fournit le programme usb-creator évoqué ci-avant, qui copie les fichiers nécessaires de l’iso Ubuntu sur la clé et la rend bootable, mais sans la formater et en préservant la possibilité de l’utiliser comme périphérique de stockage.

Et chez Debian ?

La situation chez Debian était jusqu’à présent très problématique, puisque l’installation d’une clé USB était beaucoup plus complexe que les autres installations, et de plus très mal documentée. C’est le 9 septembre 2010 que Tanguy Ortolo lève ce lièvre dans son mail Complicated installation from USB, et comme souvent chez Debian en ce moment c’est Joey Hess qui s’y est collé, et qui dès le 13 septembre annonce avoir réussi à faire fonctionner le debian installer avec isohybrid.

Le 1er octobre, Joey Hess publie sur son blog Debian USB install from hybrid iso, informant que toutes les netboot mini.iso des daily builds sont maintenant des iso hybrides. Cependant, les autres images Debian ne sont pas encore des iso hybrides à cause d’un problème avec jigdo. Or jigdo, pour Jigsaw Download, a été développé pour et par Debian, pour répondre au problème de la surcharge de la bande passante des serveurs lors des downloads des isos. Problème qui a été brillamment résolu depuis par BitTorrent. Il serait donc grand temps de dire « merci et au revoir » à jigdo, dont le développement a été arrêté et qui est en « maintenance mode », et de générer au plus vite toutes les isos avec isohybrid.