For those who were unable to attend or see the recording, these are the notes for my GUADEC 2025 presentation about introducing a formal technical governance in GNOME, starting from a| halting problem
This is NOT my response to the oh-so-dull and typical flame-wars regarding| www.bassi.io
How do things happen in GNOME?| halting problem
In which I go over the plans for gobject-introspection| halting problem
In which I explain what desktop developers, distributions, and users can do to configure sandbox portals| halting problem
In which I make an attempt at encoding best introspection practices for API writers| halting problem
In which I look at the state of the Python bindings for the GNOME platform| halting problem
In which I write a music player mostly for me| halting problem
In which I announce the release of the first GWeather-4 developers snapshot| halting problem
In which I explain what is happening in the libgweather repository| halting problem
In which I explain some changes in the GObject introspection format that landed in GNOME 41| halting problem
In which I explain how to build and publish your library’s API reference on GitLab| halting problem
In which I outline what comes next in the developers documentation of the GNOME platform| halting problem
In which I introduce a new GObject feature| halting problem
In which I report about the status of gi-docgen| halting problem
Writing documentation is a thankless job, for the most part; writing tools to deal with the documentation is, possibly, even worse. Guess what I just did…| halting problem
In which we talk about derivable types that are not GObject| halting problem
It's funny when your hobby side project written over a week while learning about streaming instructions slowly grows over 5 years and becomes critical infrastructure. Not really| halting problem
In which I announce that Graphene moved to a new testing API| halting problem
In which I talk about test reports with GitLab CI| halting problem
In which I present a small testing framework for C code| halting problem
A side episode! Building GNOME is complicated; releasing GNOME is even worse. We’re going to see what tools GNOME developers used to build GNOME 2.| halting problem
The GNOME 2 release process meant re-evaluating everything that makes a desktop environment: from its design, to the design of all of its applications, to the release process, to the interaction of settings and preferences.| halting problem
A wild GTK major API change appears! It uses better text and icon rendering. It’s super effective! GNOME dons flame retardant pants. It’s not very effective!| halting problem
A retrospective on GNOME 1.x, before we launch into the main narrative of GNOME 2; we’re going to look back at what GNOME 1 did right; what it did wrong; and what it meant in the larger context of the history of the project| halting problem
In which I talk about life this past year, and changing jobs from Endless to the GNOME Foundation| halting problem
A side episode! Early applications in the GNOME 1.x era| halting problem
A side episode! Language bindings in the early GNOME era take the front stage| halting problem
A side episode! We’re going to take a look to GTK in its first major API cycle| halting problem
GNOME 1.4 gets released, and development work for GNOME 2 being in earnest; but things come crashing down once the Dot com bubble bursts, and GNOME loses an ally| halting problem
Exciting times for the GNOME project. The first GUADEC is held in Paris! The Foundation gets founded! Plus: CVS and Bugzilla!| halting problem
New companies form around GNOME! Ximian and Eazel work on making GNOME useful for corporate environments and casual users, and start shaping the technology stack with components for applications to use and reuse.| halting problem
The desktop wars begin, and competitions heats up. We’re going to see the initial reaction to KDE’s licensing woes in the larger Linux ecosystem, and how that played into GNOME’s adoption. Plus: Red Hat enters the fray, and creates the Red Hat Advanced Development laboratories, and GNOME releases version 1.0| halting problem
In which I announce my podcast on the history of the GNOME project| halting problem
The GNOME project is announced! We’re going to see what the Linux world looked like, and why the GNOME project was started; what was available at the time, for Unix and Linux users, and the beginning of complex desktop environments on Linux, ending on the first few months of the project| halting problem
GNOME is made by people, and people make history: complicated, recurring, funny, sad, and everything in between; this is my attempt at compiling an history of the GNOME project to provide a better context not just of past decisions, but also of its future directions| halting problem
Episode 0: Prologue What Why Who How Chapter 1: Perfection, achieved Episode 1.1: The GNU Network Object Model Environment Linux and Unix X11, and the desktop landscape KDE and the Qt licensing GNU Image Manipulation Program GTK Guile and language bindings Network Object Model Episode 1.2: Desktop Wars …| halting problem
GLib 2.58 introduced new API to facilitate the implementation of reference counted types; as many C developers have had to deal with this kind of code at one point or another, it's a good thing to provide some insight and best practices on how to do it properly| halting problem
In which I explain how to use paths and pkg-config variables| halting problem
In which I recap the Recipes hackfest held in Yogyakarta| halting problem
In which I make a public service announcement about the small utilities provided by GLib| halting problem
In which I report my activities at GUADEC 2017| halting problem
In which application development and packaging are discussed, vis-a-vis old and new practices| halting problem
in which more components gets ported to Meson| halting problem
In which I look at the state of Vala and hope for some introspection to happen| halting problem
In which I recount the process of moving libepoxy to Meson and becoming its maintainer| halting problem
In which a wild editor of constraints appears inside Emeus| halting problem
In which I do a review of two laptops: Dell XPS (2016) and Lenovo Yoga 900| halting problem
Further experiments with constraint-based layout systems for GTK+| halting problem
This is a rough strawman I put together after various discussions I had during GUADEC 2023 on the future of the GObject type system, introspection, language bindings, and the GNOME application development platform. It's honestly a lot, and it probably looks more like word vomit than an actual proposal; but I think it can be used as a springboard for discussions towards a new direction for the lowest levels of the stack, considering the current resources and challenges. Again: it's a strawman,...| halting problem