This is a transcript. For the video, see 20 years of Drupal - An interview with Nat Catchpole

Michael Meyers: [00:00:00] Hello, and welcome to a mini edition of the Tag1 TeamTalks, the vlog and podcast of Tag1 Consulting.

I'm Michael Meyers, the Managing Director of Tag1. And today we're celebrating and looking back on 20 Years of Drupal, which is pretty insane and amazing. We're really proud to have many team members of Tag1 that have been part of Drupal for a very long time. Many since the very beginning and with many people on staff with them had made major contributions and impact on the platform.

I'm joined today by Nat Catchpole, who is one of our most senior team members at Tag1. I've known Nat for almost a decade and have had the honor of working with him across several different organizations. And I'm really excited to have you with us today, Nat, to give us your perspective. Why don't we start off?

You can give people just a quick background - what your current role is in the Drupal Community.

[00:00:56] Nat Catchpole: Yeah. So at the moment I'm one of the Core commit team. So I have two like official titles. One is Release manager. One is Framework manager. So a release manager makes sure that the minor and major and also patch releases kinda happen.

As I go along side XJM is who with - we' re working it together and framework manager just means that like PHP framework issues that need like in depth review I'm one of the people that gets asked to review those when they need it. Not it- not like every single patch goes through that, but just like this. And we'd like talk amongst ourselves about like, direction changes and things like that.

When, when there are tricky issues to, to review. And I've been doing that for well, quite a long time, about seven years or something like that.

[00:01:52] Michael Meyers: Is that how long you've been involved in the community in total or?

[00:01:56] Nat Catchpole: No, it's a lot longer than that. I downloaded Drupal in 2004. So what's that 16 and a half years ago.

To use it on a site, but I hadn't, I wasn't contributing until like nine months, a year later. So basically like I made like a little website with it. And it was like, while I was using other CMSs at the time, like I had a PostNuke site in like 2002 and then WordPress. And like all the, like the, there was a big wide range of PHP CMSs at that point. And I was kind of working through them and then on or about 2004 and then registered on in 2005. And then, and I've been here since. Yeah.

[00:02:44] Michael Meyers: Do you remember how you first heard of or came across Drupal and, and why you decided to give it a shot?

[00:02:52] Nat Catchpole: ] I don't remember how I came across it at all.

Although it may have been like a list, like someone had done like a blog post with a list of CMSs, or something like that. I'm not sure, but the reason I started using it was I think because of the taxonomy module. So I had like a lot of articles to put on a website and I wanted to be able to categorize them.

And at that point, I think WordPress did not even have tagging of any shape or form. Most of the other ones didn't either. And then Drupal had like, you know, you can have like a tag hierarchy, you could have like different vocabularies that was already in there in like 2005 or something. And I landed on that and then like kept going with it from there.

[00:03:36] Michael Meyers: Which is pretty crazy.

You - didn't Marco on the Tag1 team invent taxonomy?

[00:03:41] Nat Catchpole: Yeah, I think that was like three years before I started using it a couple of years before I started using it. Something like that. Yeah. And it's still use it for sites now. It hasn't even changed that much, you know?

[00:03:52]Michael Meyers: Amazing. So I know, I know it was like 15, 16 years ago and I feel like we were kids when we first met.

But do you remember your first commit and what version.

[00:04:09] Nat Catchpole: Yeah, kind of, yes. So when I started working on Drupal, I didn't actually know any PHP at all. I was like doing - I was teaching saxophone and I was working like random temping jobs in London and stuff like that on the side and things like that.

So, but there were bugs that I wanted to get fixed that were affecting the site. Cause like you can build a site with Drupal without code and that was true now that's true. Now that was true. In 2005. And and so I have bugs I want to get fixed and they weren't getting fixed. They were like, they'd been open for like two years, something like that.

So the first issue that I worked on that eventually got committed, not the first commit, the first commit. It was like a typo in a code comment or something. But the first one I actually like, I actually registered on Cause I was like, I've got this bug. I want to get it fixed. How can I get it fixed? And it got committed, I think, like two or three years later.

And I actually had learned some PHP by then and helped get it fixed. Was node 6.1, 6.2, which was the, so you've got comments and you've got 30 pages of comments. As soon as you ended up with two pages, the link to new comments on the post would just take you to the first page. It wouldn't take you to the second page.

And it had been open since like 2004. I think it got fixed in Drupal 6, something like that. So it was like, It had been open like a year, year and a half, two years before I found the issue. And then it took another two or three years to fix, but it was like, that was a, a hard issue to fix. And it was literally like, I was learning PHP between finding the issue and it getting committed at the end.

[00:05:43] Michael Meyers: Wow. It's pretty amazing to hear that. Like you think about like the velocity and the kind of stuff you're working on today, it's pretty amazing.

[00:05:51] Nat Catchpole: Yeah. I mean, yeah, I literally learned, I mean, like I was teaching myself alongside other jobs and stuff, but a lot of programming I learned through working on [00:06:00] Drupal core, like trying to fix stuff I was hitting in and then like for its own sake to kind of get better with things and stuff like that.

So, yeah.

[00:06:09] Michael Meyers: So would you say that Drupal core is a big way of how you've learned PHP and...

[00:06:15] Nat Catchpole: Yeah, definitely. Cause it was like I mean, I wouldn't, I wouldn't have even known where to look for like, like boot camps or something that I don't think that was like mid 2000s. It was really happening. And I had like jobs .

My first kid was born around that time and stuff like that. So it's like in the evening and in one job I had where I didn't have actually much office work. So in the office, like, I would like go in and review issues and stuff, and basically pick it up . Like it's probably took a lot longer than learning properly.

But, but it's like, you had people who were like, you could go and you could ask questions on IRC of people and get answers. And like, there's plenty of people to teach you. It's not like you have one person that's sending you stuff to do. You've got like, at that time, I don't know how many regular cook contributors to where maybe like 30, 50 people.

You can just ask questions and they'll happily give you an answer because you're trying to work on stuff that gets it fixed. So yeah, it helps a lot, you know,

[00:07:13] Michael Meyers: Wow. So you've worked on an insane number of things. What is the least favorite thing that you've been a part of? And what is your favorite thing that you've been a part of?

[00:07:28] Nat Catchpole: I think the favorite thing I'm been a part of is probably. The performance work. And like, I haven't been doing much recently because I'm basically most of the time now I commit patches and review patches nearly all the time. And keep on top of that is like a big effort. So actually working on patches myself, and this is for client work, which is different, but I don't really get to choose as much what comes in with that.

I don't actually work on like, Core programming that much. So when I was, I was mainly working on like performance, like just before it got commit access. And that's still some of the favorite work to do. And I'd like to kind of get back to some of that a little bit and things like cache tags and multi-currency lighting, like kind of side work around 3.6 and some of them got into like Drupal 7 and then Drupal 8 and it's kind of.

Happy with the progress that we made on Drupal performance. Like it's kinda got worse, but we did fix it. . We've got a list, let's make, maybe made it less worse or something like that. And least favourite. Oh, that's a good question. I mean, no issues open. Now that I remember looking at 2007 and they're still open today.

So I think it's the kind of, or an or sometimes I work on issues and then there's another issue. And I work on the other issue, like a year later. And then like four years later, I realize it's the same bug or something like that. That really like, hate that. So like just when the queue is out of control and you don't know what's in there.

And you don't like sometimes you're working with things that other people and you duplicate and work with each other, rather than on the same thing that, that, and I'd like to spend a lot of time trying to triage the queue over the years to kind of cut that down. So that actually what is in there reflects what needs to be done.

And you can find if there is always not a bug report for the problem that you have. And I think it's probably. Like, it's not a lot better now. There's this new bug smashing initiative, in Drupal core where there has been a lot of triage happening and that's starting to make a dent, but the backlog is big. So not, so it makes it hard to find, like if you've got a problem, it makes it that makes it hard to find a fix for it.

And when you want to fix problem, it makes it hard because you don't always know that you actually, in the right place and doing what you need to do.

[00:09:48] Michael Meyers: I'd love to do a follow-up talk with you at some point, like one of our Core Confidentials you have your very unique insight into like what it takes to manage such a large contributor base.

I can't, I can't imagine what it's like to be, you know, neck deep in these issue queues and, you know, wrangling all of that. Yeah. It is pretty crazy. So thank you for doing that. All right. Favorite least favorite feature, all the things that Drupal does. What do you think? Not, not most impact, but personally, what do you love with your favorite feature? What do you need.

[00:10:29] Nat Catchpole: I mean, it's got, favorite has got to be the Entity system. Like that was the reason that I started using it, even though it wasn't called the Entity system then, and it's just like, you know, fields in and CCK is just, you can't, I've never seen anything that approaches what you can do with Drupal and it's and , and it's kind of improved.

Like conceptually, it hasn't changed for like 15 years. Really? Like since,CCK and Views got, got added to Contrib, the concepts that you're kind of building sites with have not really fundamentally changed since then. And that's like, what, 2006, seven something. But like technologically, obviously it's improved like dramatically.

It's still has problems, but it's gone a very, very long way. Like the past five, eight years, something like that, like really like matured a lot. So yeah, it's just like, that for me, that's like, what makes Drupal. Where is everything else is kind of, I mean, even if it's good is only good because of the Entity system kind of thing.

[00:11:35] Michael Meyers: Yeah. I remember the content construction kit and some of the technological nightmares of it early on. So it's definitely improved dramatically and it's,

[00:11:46] Nat Catchpole: and there was like, there was flexi-field before that, that I nearly used. That was one of my early juvenile decisions was like whether to use CCK or flexi fields, and flexi fields, every single field on the whole site.

And it's huge table. And all the values would be strings in the same column, but they would all mean different things. And I never actually used it. And I was very glad that by the time it was just like, I don't know which ones to use.

[00:12:11]Michael Meyers: I don't know why I recall CCK creating like an insane number of tables or something, but.

[00:12:17] Nat Catchpole: Yeah, no, that's that's. That was the difference between it. So flexi field it was literally one table for all of your content on your whole site. For every, every content type. Every field was just this massive, like basically like putting in a spreadsheet and then CCK was like, a table for every field, which has its own problems, but it's not as bad as having one,

[00:12:40] Michael Meyers: two ends of the insane spectrum.

It's definitely come a long way. So least favorite, anything drive you nuts?

[00:12:54] Nat Catchpole: There's some, there's some modules in Core I really want to kill. Not because they're bad, but just because like every year there'll be like a bug. And I know that they're not really getting used. Like RDF is one, nothing wrong with RDF, but no, like sites don't really use it and it, and then like what, like we had a, there's a, we use a single easy RDF for testing and that wasn't PHP 7.4 compatible or something like that.

And it's like, If we didn't have the module in core, we wouldn't have to worry about the dependency. So like, it's, it's hard to, it's hard, somewhat hard to get new features into core, like big features, but it's extremely hard to get rid of them, once their in. Yeah. And like, and it's like, there's some of those issues would be like for, for years.

And it's like, you do have to, you have to find a way for people to get off the modules. And we are slowly getting better at this, but it takes a long time. Well, literally before this call I was looking at an issue about like how to deprecate modules properly and stuffs.

[00:14:01] [00:14:00] Michael Meyers: What's the biggest missing feature.

What do you think Drupal really needs that it doesn't have?

[00:14:08] Nat Catchpole: I would say like, It's not really a feature, but a more reliable database upgrade path between releases than we have had, because that is the thing since forever, that catches everyone out and catches ourselves as core developers as well. It's just incredibly difficult to get the updates. So I, and it's like, yeah, like the update system is very old and there were a lot of very very difficult, like dependencies between updates, which ones, one first things like that. Very, very, very difficult, but it's not really a feature, but that's what I'm picking.

[00:14:53]Michael Meyers: So what do you think is the best thing about being part of Drupal?

[00:15:04] Nat Catchpole: I think like being able to, like, for me, being able to learn it and then start doing it as a job without, without any like traditional like computer science background or anything like that was, was great. And it's like I was like encouraged to contribute when I joined the site.

And when I started looking at issues and I, like, I would say, start like, hamfistedly try to help and people would steer you in the right direction. And I think that that is still true today. Like there is a lot of support in place to the new contributors and you can, like, you can find your way to getting stuff fixed.

Even if you don't necessarily have the skills to fix it yourself. There's always there's ways to help with issues to move them forwards. Whether it's like testing or triaging or wherever it is so you can help to get stuff done and you can learn by doing, and I still, that still happens. We can be on issues today, like holding your stuff all the time, if you're in issues.

Cause it's like, there's always bits of core that I know nothing about. And then suddenly someone gets in the RTBC queue I have to try and learn about it? So

[00:16:18] Michael Meyers: it's an amazing opportunity for people to get an education, that's unparalleled you know, real hands-on experience. I think, I think a lot of people feel that way, that, you know, through contributing to open source Drupal in particular, they've learned so much and it's accelerated their careers there, you know, everything.

So all right, wrapping up. I really appreciate your time and I know that you're crazy busy. Neck deep in the issue queues. before we go though, real quick is there anything you want to add? Anyone you want to thank?

[00:17:00] Nat Catchpole: So I don't know.

I thought you were going to ask if you had any mentors early on.

[00:17:09] Michael Meyers: Yeah. Like, is, is there anyone that you want to thank for, you know, getting you to where you are today? You know, looking back, are there people that stand out you know, or, you know, shout out to, you know, anyone in particular?

[00:17:25] Nat Catchpole: So very early on when I was like, first started on the issue queue.

Charlie - Chx, I can never say his last name, Negyesi and Angie Byron and Pete Wolanin were some of very early issue, queue people that like started talking to me and helping me get through. So that was really what kind of got, kept me working on Drupal Core. Once I started, if that makes sense.

Like, if, like, if like my comments had been ignored, I probably would have drifted off. And they would actually like give me feedback and stuff like that fairly early on and kept doing so for several years. So definitely like those two who beginning, and then like, since I've been like a regular contributor, like there's too many people to name, I couldn't start a list.

Cause I forget people cause it's just like, yeah.

[00:18:15] Michael Meyers: Fair enough. There've been so many people that have helped, you know, me and helped Drupal. Awesome really appreciate you taking the time to sit down with us and say hello to everybody in sharing your, your look back. Have an awesome day and we'll talk to you soon.

[00:18:32] Nat Catchpole: Excellent.