Prologue - podcast episode cover

Prologue

Feb 24, 201910 min
--:--
--:--
Listen in podcast apps:

Episode description

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

Transcript

to the history of GNOME. History is one of my passions. More than offering a narrative of the past, it gives us context. And with context comes a better understanding of the people that made history and of their choices.

This is true for every human endeavor and so is also true of software projects. Free and open source software is a social and political movement before a technological one. As such, The history of a free software project should help us contextualize not just the technological decisions, but the personalities, the goals, and the constraints that influence those decisions.

It's often the case, especially in the field of software development, that newcomers to a specific project or a subset of a project end up facing some code that does not work, or that barely works some of the time. The immediate reaction is typically trying to understand that code, that technology, that whole stack in order to fix it or replace it.

Just learning what the code does in that specific instant, though, gives us only a partial picture of how that code, that technology, that whole stack came into being. It's sad that programmers think that bad code comes from bad programmers. In reality, bad code often comes from good people operating under different constraints and hours. Understanding those constraints and how they changed over time is the first step in understanding how to write better code.

This is especially true of projects that involve hundreds of developers operating under wildly variable constraints for decades. Projects like GNOME. GNOME is a free software project that aims to create an environment for computer users that is easy to use, accessible for everyone, and under a license that allows everyone to modify and contribute to it. As far as free and open source software projects go, it's fairly old. It's old enough to vote, and to buy a drink in the US.

GNOME as a community attracts not only volunteer contributions but commercial ones as well and it provides the technological underpinnings for both volunteer and commercially driven products. It is a recognized brand for better or worse, and it comes with opinionated decisions as well as an ethos that not only drives the individuals that make it, but also the ones that use it. More importantly,

GNOME comes with a variety story and a lot of baggage, deeply rooted in the choices made by thousands of people. It's something that newcomers to the project often deal with by asking questions to whoever appears to be knowledgeable. but it's not something that the project itself offers. So, I wanted to work on recontextualizing GNOME. Why me though? My history with GNOME does not date as far back as the project's origins. I did start using Linux in 1997, around the time that GNOME was created.

but for the first couple of years I mostly used the virtual terminals for emails, IRC, Usenet, and the occasional Napster download. Kids, ask your parents. A GUI was something I used to launch Netscape Navigator. I experimented with KDE, but I ended up settling WindowMaker, because I enjoyed the non-windowsy look of the desktop.

As a user, I switched to GNOME full time by the tail end of the 1.x series, and went through the 2.0 transition with a stronger interest in the direction of the project, to the point that I started contributing to it. GNOME is the reason I became a passionate believer not just in the freedom of releasing the source code of your work, but also in the necessity of a working environment for the people using a server, a workstation, a laptop, or even a phone.

I learned principles of software development, architecture, security, privacy, hardware enablement, design and user experience, quality assurance and testing, accessibility. I got my first job through GNOME and I met wonderful people that I consider friends, peers and inspirations. I lived through a huge chunk of the history of the gun project, and in some cases I can kid myself into thinking I helped shape that history.

This does not make me the most neutral or dispassionate person to lend his perspective on Gnome, but you'll have to make do with me, I guess. In the beginning, this was to be a presentation. but Jonathan Blanford did an amazing keynote on the history of Gnome in Manchester at WADEC 2017 for the 20th anniversary of the project, where he went through most of the milestones at events of the previous three decades.

I realized at that point that it would take somebody like me, who's less talented than Jonathan, much more than an hour to do the same, let alone go through Gnome's history in depth. I started writing a series of blog posts, but halfway through, I realized I was using the same kind of voice I use when writing presentation notes, which is when I realized I should probably just read them. Thus, I settled for a podcast.

So, let's lay down some ground rules for this. The first question is, who is this podcast for? When I write, I have three broad categories of people that I want to reach. The first is composed by people that are new or relatively new to the GNOME project and want to add more context to the history of the project and the community they just joined.

In a large established project like GNOME, there's a lot of insider information that you typically have to suss out in person, or that you end up gleaning if you hang out in the social channels long enough. Why are using flags in a UI such a problem? Why are settings expensive? What's up with the clocks? There is a lot of established knowledge that is only evident by its final results, but context for those results is missing.

It's already hard to get started a new community, so the podcast aims at lowering the curve for newcomers at least a bit. The second audience is made by people that are not familiar with the GNOME project, outside of having heard about it. They are familiar enough with Linux, but lack the insider baseball aspect of both the community and the technology. They may know that GNOME is a desktop environment, but have no idea what a desktop environment is made of.

The third audience is the GNOME developers themselves. People that have been embedded in the community long enough to know some or many of the ins and outs of the decisions made in the past. but they may be unfamiliar with the whole history of the project itself. I hope they'll forgive me for going on tangents especially at the beginning.

The podcast is divided in chapters, roughly corresponding with each major version of the desktop. There will be one episode per week, with breaks between chapters. I'm not the fastest. nor the most adapted this medium, so I want to allow some leeway to maintain both quality and quantity.

Each episode will go through events in the history of the GNOME project, but I'll try to take some time to expand on the context of the free software world, as well as the rest of the happenings around the same time. In some cases, I may have to give some technological definition, mostly to ensure that we have a common vocabulary, especially for people who are not heavily invested in the stack itself, or for people that learned English as a second language.

The primary sources for this podcast are public mailing list archives. Additionally, I refer to blogs from GNOME developers as well as other public sources, like interviews and presentations given at conferences. As I said earlier, I do have direct experience of a chunk of the GNOME timeline, but I'll try my best to stick to public sources for the events that involve me as well. This is not a tell-all kind of podcast.

Using only public sources has the advantage that I can refer to specific information, but has the downside that I might miss some of the backstory. I don't want to create an oral history of the project, as that would be its own endeavor. I'm sure people involved in some of the events will have their own version of them, but I'll gladly accept the corrections. Each episode will have a companion article which will contain the script and the sources I've used.

Hopefully, this podcast will be interesting for both newcomers to the GNOME project and for old-timers as well. Looking back to what happened helps us shape what's to come. and having a better understanding of the past can give us confirmation of our choices, or a chance to revisit them. Finally, I wanted to have an excuse to say out loud, and with apologies to Mike Duncan, hello. and welcome to the history of GNOME.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.