GTK+ 4.0 ne sera pas GTK+ 4

GTK+ Hackfest 2016 (© Matthias Clasen)

Le GTK+ Hackfest 2016 se déroule en ce moment même à Toronto. Plus d’une quinzaine de développeurs s’y sont retrouvés pour trois jours de développement et de discussions, décidant ainsi du futur de cette bibliothèque utilisée pour concevoir les interfaces graphiques des applications GNOME et d’un certain nombre d’autres projets majeurs.

L’une des discussions ayant fait le plus de bruit concerne le versionnage des prochaines versions majeures (GTK+ 4, 5, 6…).

Depuis la sortie de GTK+ 3.0 en février 2011, les nouvelles versions mineures se sont succédé ces dernières années, apportant à chaque fois leur lot de nouvelles fonctionnalités, mais également de problèmes, cassant régulièrement l’API ou les thèmes utilisateurs. À tel point que ce manque de compatibilité ascendante est désormais l’une des critiques les plus courantes, et que différents projets ont préféré abandonner GTK+ au profit de Qt, ou de retarder leur migration de GTK+ 2 vers la version 3.

Pour rappel, GTK+ 1 est sorti en 1998, GTK+ 2 en 2002 et GTK+ 3 en 2011. Des écarts toujours plus grands, qui obligent à apporter régulièrement de nouvelles fonctionnalités pour pouvoir coller aux nouvelles technologies ou couvrir de nouveaux besoins.

L’une des solutions envisagées, serait de sortir plus régulièrement de nouvelles versions majeures, considérées comme stables, qui ne recevraient plus que des correctifs améliorant la stabilité ou la sécurité (pour de plus amples informations, je vous conseil la lecture des deux billets de blog d’Allison Lortie, Gtk 4.0 is not Gtk 4 et Gtk 5.0 is not Gtk 5).

Après la sortie de GTK+ 4, qui ne devrait probablement pas avoir lieue avant 2018, une nouvelle version majeure sortirait approximativement tous les deux ans. Et entre chaque nouvelle version majeure, nous continuerions comme aujourd’hui de bénéficier de nouvelles versions mineures tous les six mois, qui apporteraient leur lot de nouveautés.

Mais c’est là que ça se gâte. Pour le moment, on semble se diriger vers un GTK+ 4 qui ne correspondrait pas à GTK+ 4.0. Et il en irait de même pour GTK+ 5 ou 6. En gros, durant les dix-huit premiers mois (ce qui correspond à trois versions mineures), les développeurs seraient libres d’ajouter de nouvelles fonctionnalités et de casser l’API autant qu’ils le souhaitent. Une fois le code stabilisé, il sera alors décidé que GTK+ 4.6 ou 4.8 pourra devenir le nouveau GTK+ 4.

GTK+ Hackfest 2016 (© Matthias Clasen)

À ce moment de l’article, vous ne pouvez vous empêcher de trouver ça idiot et de vous demander pourquoi ils ne travailleraient pas plutôt sur une branche de développement qui, une fois stabilisée, donnerait GTK+ 4.0, première version stable de cette nouvelle branche ?

De l’avis des développeurs, il semble y avoir deux publics, qui ont chacun des besoins différents. D’un côté des projets comme GNOME, qui souhaitent pouvoir bénéficier rapidement des dernières nouveautés sans avoir besoin d’attendre deux ans. Projets qui, de par leur taille, auront toujours la main d’œuvre nécessaire pour adapter les différentes applications aux éventuelles nouveautés ou autres cassures d’API. Et de l’autre, les développeurs d’applications tierces, qui préféreront plutôt se baser sur une version stable qui ne bougera plus, et ne nécessitera donc plus une maintenance incessante et régulière.

Maintenant, il faut savoir que les discussions ont toujours lieues et qu’aucune décision ne sera prise avant le prochain GUADEC, qui se tiendra cette année du 12 au 14 août en Allemagne. Il est donc possible que le versionnage change encore d’ici là. Mais une chose est sûre, de l’avis même des développeurs, des versions stables plus régulières devraient faciliter et accélérer le développement, ce qui devrait nous apporter plein de bonnes choses dans les années à venir.

Une inconnue demeure néanmoins. Combien de branches seront maintenues en parallèle ? Surtout quand on sait que GTK+ 2, qui en est actuellement à la version 2.24.30, est toujours maintenu, près de quinze ans après sa première apparition.

Annonce du Libre Application Summit

La fondation GNOME vient d’annoncer la première édition de la conférence Libre Application Summit, qui se tiendra du 19 au 23 septembre à Portland, dans l’Oregon. Cette dernière devant permettre d’accroître l’écosystème d’applications GNU/Linux en améliorant la collaboration entre le noyau Linux et les principales distributions, ainsi qu’en attirant les développeurs d’applications, aussi bien chez les indépendants que chez les gros éditeurs.

Un panel varié de participants y est attendu, que ce soit des développeurs du noyau, de distributions, des fabricants de matériel, des développeurs de pilotes de périphériques, d’applications ou de jeux vidéos (aussi bien libres que propriétaires), dans le but de pouvoir échanger plus facilement, voir quelles sont les problématiques respectives rencontrées et ce qui pourrait être fait pour y remédier (meilleure documentation, création de meilleurs outils de développement, amélioration de l’expérience, aussi bien pour les utilisateurs que pour les développeurs…).

De nombreuses conférences auront lieues, traitant aussi bien de l’écosystème (questions commerciales, juridiques, sociales, communautaires), que de la plateforme (matériel, pilotes, outils), de la distribution (collaboration entre les distributions, l’assurance qualité, l’intégration continue), ou du développement (les toolkits, X / Wayland, la sécurité, les SDK, les différents outils).

Je pense sincèrement que ce type de rencontre manquait cruellement, et il n’y plus qu’à espérer que cette première édition soit un succès, histoire de pouvoir aider à rendre notre plateforme bien plus attractive pour les développeurs, et par ricochet, les utilisateurs.

Liste des projets acceptés pour le Google Summer of Code 2016

Google Summer of Code 2016
Tous les ans, plutôt que de passer l’été à vendre des beignets sur la plage, Google permet à des étudiants de travailler sur des projets libres. Le fameux Google Summer of Code.

Cette année, 21 projets GNOME ont été acceptés :

  • Agenda : implémentation de la vue par semaine.
  • Builder : implémentation d’un système de recherche et de remplacement, ainsi qu’un greffon pour la correction orthographique.
  • Fichiers : gestion des archives compressées directement au sein du gestionnaire de fichiers sans avoir à passer par une application externe, ainsi que l’implémentation d’un système pour le renommage en masse.
  • Jeux : prise en charge des manettes de jeu, ainsi que l’ajout de nouvelles consoles ou formats de jeux.
  • GNOME Keysign : application devant rendre plus accessible la signature des clés OpenPGP.
  • Journaux : meilleur système de recherche, avec l’ajout de filtres et de paramètres. L’application devrait également être capable de fournir des résultats au shell de GNOME.
  • Machines : prise en charge des machines virtuelles distantes au travers de SPICE et implémentation de fonctionnalités telles que les dossiers partagés ou le partage de la géolocalisation par Wi-Fi permettant à des connexions SPICE d’être découvrables sur le réseau…
  • Musique : permettre l’édition des métadonnées contenues dans les fichiers musicaux, ainsi que la prise en charge d’ownCloud pour pouvoir parcourir et lire de la musique stockée dans votre propre nuage.
  • Photos : permettre l’envoi d’une ou plusieurs photos, voir d’un album complet, vers Google Photos.
  • Pitivi : permettre la personnalisation des raccourcis clavier et utilisation de la nouvelle fenêtre de raccourcis clavier apparue dans GNOME 3.20.
  • Polari : amélioration de l’expérience utilisateur lors de la première utilisation, auto-complétion des pseudonymes améliorée, liste d’amis, système de recherche dans les conversations passées…
  • Web : nouveau système de marque-pages et utilisation du système de synchronisation proposé par Firefox pour pouvoir synchroniser les marque-pages entre les deux navigateurs (et sans doute les mots de passe et l’historique dans un futur proche), tout en permettant également à Web de pouvoir tirer profit de la synchronisation sur différents périphériques.

Notez qu’il ne s’agit que de la liste des projets qui ont été acceptés. Il n’y a aucune garantie sur le fait que les étudiants pourront mener leur projet à terme, et que la qualité du travail soit suffisamment bonne pour qu’il soit un inclus dans les différentes applications.

Rien ne dit que nous retrouverons donc toutes ces fonctionnalités dans la prochaine version de GNOME.

La conférence GNOME.Asia 2016 se tiendra à Delhi, en Inde

L’équipe en charge du GNOME.Asia Summit a récemment annoncé que la conférence se tiendrait du 21 au 24 avril 2016 à l’École d’ingénieur Manav Rachna dont le campus est situé dans la ville de Faridabad, à quelques kilomètres au sud de la capitale New Delhi.

« Nous sommes ravis que la conférence GNOME.Asia 2016 puisse se tenir en Inde, un pays avec une culture vaste et diversifiée, une industrie informatique en pleine croissance et une communauté du logiciel libre florissante » – Shobha Tyagi, membre de l’équipe d’organisation.

La conférence étant l’occasion pour les utilisateurs et les développeurs asiatiques du projet GNOME de pouvoir se rencontrer, de travailler ensemble ou d’explorer de nouvelles possibilités au travers de conférences et de hackathons.

GUADEC 2015

Crédit : Garrett LeSage

Après Strasbourg l’an passé, GUADEC 2015, la conférence européenne annuelle des utilisateurs et développeurs GNOME, s’est tenue cette année du 7 au 12 août dans la ville suédoise de Göteborg.

L’occasion pour les différents développeurs, traducteurs, designers… présents aux quatre coins du monde, de se rencontrer, d’assister à des conférences et des hackathons, ou plus simplement de discuter de l’avenir du projet.

Niveau conférences, on peut citer celles concernant l’ordinateur, une espèce en danger en tant que machine universelle, les dernières avancées de PulseAudio et GStreamer, l’adaptation de GNOME pour une utilisation dans les pays en développement, le défi pour GNOME 3 que représente une utilisation en entreprise, la création des vidéos qui accompagnent les sorties de GNOME, le rendu côté client des cartes avec MapCSS, l’intégration de LibreOffice avec Gnome Documents, la migration de LibreOffice vers GTK+ 3, la belle relation entre GNOME et ownCloud, l’utilisation d’applications dans des sandbox, une introduction à Tracker, l’internationalisation et la régionalisation de GNOME… et bien plus encore.

Les différentes conférences ayant été filmées, vous pouvez retrouver les vidéos, en anglais et sans sous-titres, sur le site officiel. Une page du wiki référence également quelques albums photos.

Quant aux réunions informelles (BoF) et autres hackathons, les principaux sujets furent Boxes, Builder, Coala, GTK+, les extensions GNOME Shell, PulseAudio, Wayland, Rust/GI, la documentation et les traductions, ainsi que GNOME.Asia .

De nombreux participants ont également blogué sur le sujet :

GNOME vient de fêter ses 18 ans

Joyeux 18ème anniversaire
Le projet fut fondé le vendredi 15 août 1997 par deux étudiants mexicains, Miguel de Icaza et Federico Mena Quintero, dont le but était de produire un environnement de bureau entièrement libre, élégant et simple à utiliser.

Vous pouvez relire l’annonce originelle de Miguel sur les listes de diffusion, et si vous souhaitez vous aussi lui souhaiter un joyeux anniversaire, il existe le hashtag #HappyBirthdayGNOME.

Malheureusement, n’ayant pas réussi à virtualiser convenablement une vieille Debian 3.0 dans le but d’effectuer une capture d’écran d’un vieux GNOME 1.4 pour l’inévitable moment nostalgie, nous devrons nous contenter d’un GNOME 2.14.3 fourni par une Debian 4.0. D’où l’intérêt de penser à importer des captures de temps à autre sur Wikimedia Commons ;)

Debian 4.0 avec GNOME 2.14.3

Que de chemin parcouru ;)

Joyeux anniversaire, GNOME ♥

GNOME.Asia Summit 2015

L’entrée principale (photo d’Olav Vitters)

Comme chaque année, la conférence GNOME.Asia se déroule dans un pays différent du continent asiatique, et permet aux développeurs et utilisateurs du projet de se rencontrer, d’apprendre et de renforcer la communauté.

Après la Corée du Sud en 2013 ou la Chine l’an passé, ce fut au tour de l’Indonésie d’organiser la conférence, qui s’est déroulée du 7 au 9 mai dans la ville de Depok, à une trentaine de kilomètres de Jakarta.

46 conférenciers furent présents cette année, dont cinq européens et une Péruvienne, qui firent spécialement le déplacement. D’après la fondation, plus de 300 personnes auraient participé à l’événement.

La première journée fut consacrée à la découverte du projet, avec des conférences expliquant comment effectuer sa toute première contribution, comment développer sa première application, ou comment s’effectue la traduction de GNOME.

La deuxième journée fut tout de suite plus technique, avec des conférences dédiées au sandboxing d’applications avec xdg-app; commencer à contribuer en triant les bugs; une expérience d’utilisation de GNOME sur un dongle Android; le développement d’applications HTML5 pour GNOME ou comment utiliser GStreamer dans son application.

En plus des différentes conférences, il y eut également des présentations sur l’emploi de logiciels libres dans l’industrie de la chaussure, la promotion du libre dans les régions reculées de Chine et de Taïwan, la difficulté de migrer de Windows vers GNU/Linux, ou le témoignage d’un agriculteur et commerçant, également contributeur de BlankOn, une distribution GNU/Linux locale qui utilise les technologies et applications GNOME, mais qui semble avoir remplacé le shell par Manokwari, un bureau en HTML5.

La salle principale (photo d’Olav Vitters)

Quant à la dernière journée, les participants purent assister à une présentation de ChorusText, un périphérique d’assistance pour aveugles et mal-voyants, ainsi qu’à diverses conférences sur la pile audio de Linux et sa gestion sous GNOME; comment composer de la musique sous GNOME; comprendre le cycle de sorties de GNOME; l’intégration de vidéos GStreamer dans un composant GTK+ avec gtkgst ou l’utilisation de GNOME Shell sur un Nexus 7.

Sans oublier les conférences éclair de Bin Li et Julita Inca, venues de Chine et du Pérou pour présenter les différentes actions accomplies pour promouvoir GNOME dans leurs pays respectifs.

D’autres projets libres, tels qu’OpenStreetMap ou la téléphonie en do it yourself avec services de messagerie à base de logiciels libres, eurent également droit à leurs conférences.

Liste des projets acceptés pour le Google Summer of Code 2015

Google Summer of Code 2015

Tous les ans, plutôt que de passer l’été à vendre des beignets sur la plage, Google permet à des étudiants de travailler sur des projets libres. Le fameux Google Summer of Code.

Cette année, 24 projets GNOME ont été acceptés :

  • Accessibility Toolkit : permettre à Orca (le lecteur d’écran de GNOME) de pouvoir fonctionner avec des applications écrites en Java.
  • Banshee : amélioration de l’interface et de la prise en charge d’OS X.
  • coala : développement d’une interface graphique à cet outil en ligne de commande.
  • Documents : prise en charge des collections.
  • Evolution : développement d’une extension ActiveSync.
  • Fichiers : implémentation d’une nouvelle gestion des lecteurs et du réseau, qui remplacerait les actuels menus Connexion à un serveur et Parcourir le réseau.
  • F-Spot : portage en GTK+ 3.
  • Gedit : développement d’un greffon d’analyse statique de code basé sur coala.
  • GeoClue : la plupart des ordinateurs n’ayant pas de GPS, permettre le partage de position depuis les smartphones Android (ainsi qu’iOS, si le développeur a le temps), pour une localisation plus précise.
  • Getting Things Gnome : modernisation de l’interface, nettoyage de code et utilisation des dernières technologies GNOME.
  • GNOME Keyring : le programme n’étant plus compatible avec les dernières versions de GnuPG, un nouveau mécanisme sera développé, permettant à GnuPG de rechercher directement la phrase secrète (passphrase) dans GNOME Keyring, de la demander à l’utilisateur s’il ne trouve rien, et de la sauvegarder ensuite.
  • GNOME Keysign : application qui permettra de pouvoir s’échanger des clés OpenPGP de façon simple et sécurisée. Presque prête, le développeur compte ajouter la prise en charge de l’internationalisation, puis implémenter une nouvelle méthode plus sûre, pour le transfert de fichiers.
  • GNOME Shell : lors d’une session verrouillée, bloquer le port USB quand quelqu’un tente d’y connecter un périphérique dont l’identifiant n’aurait jamais été utilisé auparavant, dans le but de renforcer la sécurité du système et l’intégrité des données de l’utilisateur.
  • GNOME Shell : ajout de nouvelles sources d’événements dans le centre de notifications : rappels pour les anniversaires, notifications météorologiques
  • GStreamer : création d’un débogueur.
  • GTK+ : implémentation d’un écran d’aide qui listerait automatiquement tous les raccourcis clavier ou gestes tactiles d’une application.
  • GTK+ : création d’un nouveau composant pour afficher une image, zoomer, pivoter…
  • Horloges : refonte de l’interface et ajout de nouvelles fonctionnalités (conversion de temps, pouvoir nommer les alarmes…).
  • Journaux : amélioration de l’interface, ajout de nouvelles fonctionnalités et création de tests unitaires.
  • Machines : amélioration de l’assistant d’installation (portage vers GtkAssistant) et de la prise en charge des type MIME. Ainsi que la correction du plus grand nombre de bugs possible.
  • Nibbles : portage en Vala et utilisation des dernières technologies GNOME.
  • Nuntius : projet d’application qui permet de faire communiquer GNOME et des smartphones Android, autorisant par exemple la réception et le fait de pouvoir répondre à des SMS ou des messages WhatsApp, directement depuis le centre de notifications.
  • Polari : possibilité d’être notifié de l’utilisation de certains mots lors d’une conversation (avec possibilité de ne pas l’être sur certains canaux), meilleure gestion des erreurs, assistant de première utilisation et prise en charge des sites de partage de textes.

Notez qu’il ne s’agit que de la liste des projets qui ont été acceptés. Il n’y a aucune garantie sur le fait que les étudiants pourront mener leur projet à terme, et que la qualité du travail soit suffisamment bonne pour qu’il soit un inclus dans les différentes applications.

Rien ne dit que nous retrouverons donc toutes ces fonctionnalités dans la prochaine version de GNOME.