The Changelog: Software Development, Open Source - Drupal is a pretty big deal (Interview)

Episode Date: October 31, 2018

Adam and Jerod talk with Angie Byron, a core contributor and staple of the Drupal community. We haven't covered Drupal really (sorry about that), but the call with Angie was inspiring! From the backgr...ound, to the tech, the usage of the software, the communication at all levels of the community — Drupal is doing something SO RIGHT, and we’re happy to celebrate with them as they march on to the "Framlication" beat of their own drum.

Transcript
Discussion (0)
Starting point is 00:00:00 Bandwidth for Changelog is provided by Fastly. Learn more at fastly.com. We move fast and fix things here at Changelog because of Rollbar. Check them out at rollbar.com and we're hosted on Linode servers. Head to linode.com slash changelog. This episode is brought to you by our friends at Rollbar. Check them out at rollbar.com slash changelog. Move fast and fix things like we do here at Chelog. Catch your errors before your users do with rollbar. If you're not using rollbar yet or you haven't tried it yet, they have a special offer for you.
Starting point is 00:00:32 Go to rollbar dot com slash changelog. Sign up and integrate rollbar to get $100 to donate to open source projects via open collective. Once again, rollbar dot com slash changelog. From Changelog Media, this is the Changelog Conversations with the hackers, the leaders,
Starting point is 00:01:01 and the innovators of software development. I'm Adam Stachowiak, Editor-in-Chief here at Changelog. And on today's show, Jared and I talk with Angie Byron, a core contributor and staple of the Drupal community. Angie took us to a place we did not expect to go. Since we've never really covered Drupal here on the show, sorry about that. We really didn't know what to expect. and she uncovered a vibrant and welcoming community of open source leaders and contributors that really speaks to our hacker hearts here at Changelog. And to be quite honest with you, we left the call with Angie inspired.
Starting point is 00:01:36 From the background, to the tech, to the usage of the software, the communication at all levels of the community, Drupal is doing something so right, and we're happy to celebrate with them as they march on to the frame location beat of their own drum. Regardless of who you are, what code or language you sling, this is a show not to be missed. Angie, we are definitely not deep in the weeds on Drupal. So we're coming to this show in high hopes that you can catch us up on all things Drupal. I think I can go back to potentially like when Leo Laporte started Twit. I recall the brand new site they launched.
Starting point is 00:02:21 And this was maybe 2006 through 2008 range somewhere in there and that's where i really saw drupal be really well used but at the time i was using wordpress was really getting into uh front-end development css design and things like that i just never find myself getting into drupal very far but drupal has such a rich, rich history, great people. You're obviously a core contributor and core committer, co-author of books. I mean, the list is long. So help us understand maybe an audience who's not very familiar with hearing more Drupal news. Catch us up.
Starting point is 00:02:57 What is it? What are we missing? Yeah, sure. I mean, what I try to explain Drupal in a couple of different ways, but the biggest way that I find to explain it is I call it a fram location. A what now? A fram location. Yeah. There's a lot of projects that are frameworks and they're for developers and they expose APIs and they are meant to be used by people who write code for a living and they're fine with that. And then there's applications that are meant to be used by non-technical users who don't know anything about the code but they know
Starting point is 00:03:30 how to fill in forms and press buttons and make things happen that way. Drupal is kind of at this interesting intersection where it is an application, like it's a content management framework, there's buttons to click, there's forms to fill out, there's content to be modeled, this kind of thing. But then at the same time it offers robust APIs and extension points that allow developers to really get into it. So it kind of started as a project that was sort of by developers for developers. And it had, you know, these kind of at the time, this project started in 2001. So at the time, cutting edge things like, ooh, RSS and wow, stuff like that. But, but kind of attracted a developer
Starting point is 00:04:07 audience who then, you know, wanted to make it as flexible as possible. So there's extension points for everything under the sun. There's, you know, 30,000 modules that you can use to add different types of functionality to it. And the whole thing is done in a really well architected way. So you kind of use the same concepts throughout. So like in an application like WordPress, if you want a photo gallery, there might be, you know, like 70 or 80 different photo galleries you can pick from and you pick which one is closest to what you need. And in Drupal, you will build your photo gallery up and you build it by using an image, you
Starting point is 00:04:41 know, field module that will add images support to upload things. You'll add a view which displays images in a grid or in a listing or something like that. And you add a pager and you add these other things. You really customize it to be exactly what you want. And for the most part, all of that is done without writing any code. But if you want to, you know, take what's there and then extend the crap out of it and make it really, really custom or have it integrate with some external system, or you want it to, you know, output all of the data as JSON, so you can use a decoupled front end or a mobile app or something like that in front of it, you can also do all of those things.
Starting point is 00:05:19 So I like to say that Drupal's for, if you were like VCR kid back in the day, you know, like your parents VCR were blank 12 and they didn't know how to fix it. So they call you over and every VCR is kind of different, but you know, you can kind of figure it out like, okay, well I'll press buttons and there it's fixed, you know? So if you're okay tinkering with things and you kind of get a charge out of that and kind of figure out how stuff works, I think Drupal is a really, really great solution. It is not at all a good solution. If want a website up and running in five minutes that you never have to touch again. That is not what Drupal is for. So for that, lots of other things,
Starting point is 00:05:53 WordPress, Squarespace, like other types of things would be a better fit. So I do have a little bit, just a little bit more Drupal experience with Adam. I had one experience on a client contract where I was basically extending an existing Drupal experience with Adam, I had one experience on a client contract where I was basically extending an existing Drupal installation. This is probably in the 2010 range. And my takeaway then, first of all, I had a successful install and extension. So I accomplished what I needed to accomplish. And everything seemed like it was pretty well organized. It wasn't that hard to understand, but it was so, there was so much's so much there i was kind of like wow this is like uh you walk into a library and you're just like look at all those books it just felt that way i felt like wow this place has
Starting point is 00:06:34 a lot of books um i'm always curious or i'm always interested in the architecture of things and why things are the way that they are and like why wordpress is the way wordpress is and why things are the way that they are and like why WordPress is the way WordPress is and why Drupal is the way Drupal is. And so a lot of times we can tease that out of its history and especially with open source projects is like, why does it exist in the first place? And sometimes you can kind of tease why the architecture or why the way it is the way it is
Starting point is 00:06:59 because of its original goal. So can you help us understand that Genesis story of where Drupal came from? I know it was around the turn of the century. It's been around for a very long time, by the way, also 40,000 contributors. I mean, this is like the, maybe the best kept secret in open source. This is a huge community, right? But where did it come from and why does, you know, why did the creators create it? So I wasn't around for these days. I came into the project more like 2005. But back in 2001, basically days i came into the project more like 2005 but back in 2001
Starting point is 00:07:25 basically um how it started is the project founder drees uh bytart uh basically wanted a kind of a website thingy so that people in his dorm could communicate to one another you know about like what types of things were going on um and so he built this thing in php in my sequel because at the time that was the cutting edge technology yeah and uh and kind of like built this thing and then others of his friends because he was in a computer science type of program you know contributed to it and then um he was very inspired by what linus was doing with linux and you know kind of the open sourcing of that worked a bunch on linux stuff as well And so he really wanted to make his project open source. And at the time, the only other real like open source CMS back then was like PHP Nuke. And I don't know if you still have the battle scars from dealing with that whole mess, but like,
Starting point is 00:08:19 I definitely had a couple of run-ins with that one. Yeah. Yeah. So PHP Nuke was like this very monolithic, it was driven by one developer, monolithic, did all the things built in, and it was kind of a big mess. No offense to people who, I'm sure they worked hard on it. I used it, like it worked, you know, it was like the thing to use back then.
Starting point is 00:08:42 But it was really, really large and clunky and insecure and all of these different kinds of things. And so Drupal kind of came in to be like the opposite of that. We wanted something that was modular and flexible, something that had a really solid architecture, something that was well-documented, something that was easily extensible by developers. Like I remember PHP Nuke had like these websites
Starting point is 00:09:04 like PHP Nuke Hacks. And by that, what they meant is find this file, go to line 119 and start editing it and then make it say something different than what it does. And then God forbid you use two different hacks and they collide with each other. And then God forbid again, you offload. 119 is the owner of the hack line.
Starting point is 00:09:21 Right, yeah. Act accordingly. And then a security update comes out and then you have to figure out how to get the security update with your hacks. And it's just kind of a mess. Oh, the days, yes. Yes, yes.
Starting point is 00:09:31 Sorry, sorry. I should have put a content warning before I started talking about that because I was just like, no! Some people are on the floor right now crying from unexpected autobiographical memories they have totally purged, but you've brought back into existence
Starting point is 00:09:46 yeah i'm sorry i i apologize on behalf of my web development brethren um so that was kind of the age and so drupal really set out to be absolutely not any of those things at all so drupal shipped with a very small core you know offering which basically had, you know, some basic functionality handed like user logins and permissions and roles and stuff like that. It handled the ability to post content, the ability to, I don't even know, again, it was before my time, but like some basic functionality to be able to, you know, maintain content through web forms and stuff like that. But it was all built with the premise that we don't know what people are going to do with this thing. We want to make it super flexible. So what
Starting point is 00:10:28 shipped with core was very small. And then if you want to do more things like say, be a recipe database or be a, you know, a ratings and reviews website or something like that, you could still do that, but you would install these add-on modules. And then the add-on modules would be able to extend the Drupal core system just through the APIs and not through having to like have a PHP nuke hacks kind of site. And so a lot of developers really got interested in this. And so the early days of it were developers being like, oh, thank God this is open source. And it's not like this monolithic, horrible thing. Yay. And early days And early days, back in 2004, I want to say,
Starting point is 00:11:07 Howard Dean ran for president. And that ended up working out very well, mostly due to him. Yeah, I remember, did he have this chant he was doing and that like basically ruined
Starting point is 00:11:20 his entire run? He did like some kind of a scream or something. It's really funny how our threshold for what gets you thrown out of politics scream or something it's really funny how our threshold for what gets you thrown out of politics has shifted i know i was just thinking i was like howard dean gotta be rolling in his grave or maybe he's still alive but he's got some president of the united states yeah yeah okay yeah i was thinking maybe president of droop or something
Starting point is 00:11:40 like that no no sorry this is a big deal okay deal. Okay. Yeah, yeah. It was a presidential candidate. He got pretty far, but he attracted a lot of these young technologists who were very passionate about somebody with half of a clue, you know, like maybe becoming president. Oh my God, wouldn't that be neat? And so they started this grassroots political campaign
Starting point is 00:12:00 and they used Drupal to do it. And so what they did is they, you know, with install, they built like what's called a distribution use Drupal to do it. And so what they did is they, you know, install, they built like what's called a distribution of Drupal, which means like a pre-setup version of Drupal with a bunch of things already done. Kind of like, you know, you can build a Docker container that already has this version of PHP and this version of that, the other thing. Drupal has this concept of distribution. So you can say, I want these, you know, seven modules and I want these settings set this way or whatever. And then you can kind of cookie cutter out websites based on a template. So they built one of these for the Howard Dean
Starting point is 00:12:29 campaign. And so, you know, Howard Dean, Connecticut, and Howard Dean, California, and all these different locations would spin up a Drupal site, they all could talk to one another. And so like people were able to log into each of the different sites and share content with one another. And it was the first time that technology was really used to power a political campaign. And that kind of got Drupal on the map, honestly. The other thing that got Drupal on the map is kernel trap.org, which was a big kind of Linux news site back then also adopted it. And so that got a lot of like Linux nerds really super excited about Drupal as well. So, yeah, so that's kind of what got Drupal on the map. And I came in very shortly after that.
Starting point is 00:13:14 So I got to miss like those beginning parts, but got to hear about it kind of, and then I kind of accidentally got into this project just as it was like taking off. And then these days, you know, it's used with like, like Grammy.com uses it to run the Grammys during like the busiest, you know, traffic day of the year for them. A lot of like sports websites use it, government websites use it, nonprofit websites use it. You know, anybody with what we call an ambitious digital experience, whatever that means,
Starting point is 00:13:38 you know, tends to use Drupal for it because it's scalable, it's flexible, it's customizable. And yeah, it's become a household's customizable, and yeah, it's become a household name in a lot of different areas, and it's running like 2% of the web right now, which is pretty significant.
Starting point is 00:13:53 Not too bad, yeah. Considering that it's not for like cat blogs and stuff like that. You can build a cat blog with Drupal, but that would kind of be like swatting a fly with a Cadillac or something. You don't need that. Right, it's overkill. So just a quick follow-up for those following along like swatting a fly with a Cadillac or something. You don't need that. Right, it's overkill. Yeah. So just a quick follow-up for those following along with show notes.
Starting point is 00:14:08 I did link up 2004, the Scream That Doomed Howard Dean YouTube video. So if you want to catch up on your history there. Great, so we can all study up on our history and what used to end a political career back in 2004. Yep. So good stuff. So Brad, that's the show notes then? Yeah, that's going to be in the show notes for y'all.
Starting point is 00:14:26 Go, go watch that. It's only like a minute. Yeah. Catch up on that. So what brought you to it? So you said you, you came in right after kind of that first wave of adoption and the,
Starting point is 00:14:35 the real, the groundswell of people thinking, okay, you know, Drupal something I have to check out. What, what about you personally? Why did you get involved?
Starting point is 00:14:43 What attracted you to the Fram location? Did I get it right? Yeah, sure. And then why have you stuck around so long? Yeah, so that's an interesting story too. So I first got a computer when I was like 16, which was a lot of years ago, let's just put it that way. It was back when Debbie and Linux fit on seven floppy disks. It was a long time ago. Yeah, good times. So I
Starting point is 00:15:09 learned about Drupal, or sorry, I learned about open source and Linux and all that kind of stuff back in the mid-90s and just fell in love with this idea of like, holy crap, all these smart people kind of band together and they work really hard on this problem and then they give the solution away for free. And then anyone can take it and
Starting point is 00:15:28 modify their needs. And this is such incredible benefit for humanity, you know, like the educational institutions, nonprofits, non-government organizations, everything. So I got really, really interested in open source and Linux and all these kinds of things. But I thought I was not good enough to actually participate in an open source project because I figured you had to be like Einstein or something to do that, you know. So I looked up to all these, you know, dudes who were like running the open source world. I think it was still called free software back then. And, you know, just like in awe of what they were accomplishing, but kind of felt like I was on the outside of that and could never really like break in. So, Firefox, back in the day,
Starting point is 00:16:10 set up a Drupal site for spreadfirefox.com. And it was a really interesting website that allowed anyone to upload, like say, posters or post events of things that were happening at their campus, or like this kind of thing to try and kind of do a grassroots marketing campaign around Firefox. And I'm one of those people that goes around viewing source on every website I visit because I'm just curious, you know, how it works underneath. And I saw the name Drupal and I had never heard of it, but I kind of made a note for later because I was like, oh, that's neat. Drupal kind of is powering that thing. Cool. So, many, many years later, I was just graduating my final program in community college and they announced that there was this program. This was in 2005 called
Starting point is 00:16:51 Google Summer of Code. And so Google Summer of Code, for those who don't know, is where Google pays you a stipend over the summer to work with an open source project. And you basically take something off of their hit list or you propose your own project or something like that. But you basically work three months embedded in an open source community. And then, you know, as long as you do a good job and you don't slough off, then you get money.
Starting point is 00:17:15 Yay. Money and code and everything. So the idea is like, and so, you know, programmers don't have to go flip burgers over the summer. They can instead flip bits, you know,
Starting point is 00:17:23 like it's a pretty good system. I like that. So I was in the very first run of was that their marketing campaign or you just come up with that one yourself no no no they that's theirs no i'm not nearly that clever no um but yeah so i i i saw drupal on the list and i figured what the heck and so i applied and got accepted and so yeah and then suddenly i kind of, you know, once I was on like this side of the, you must be this smart to contribute to open source wall. I was like, oh crap, anybody can do this. And people are like super grateful when you come in and you're like, Hey, I know how to test things and I know how to write documentation and I know how to test this core patch and I know how to do this. And like, I found that people were incredibly gracious
Starting point is 00:18:06 and incredibly welcoming and I just kind of dove in head first. And then I kind of got way too into it. I was like, you know, on the webmasters team and the security team and the documentation team and the core developer team and it, you know, it's just like, I kind of got like really into Drupal
Starting point is 00:18:21 because it was basically like 10 years worth of, you know, excitement built up. And I just like went crazy and went helping with everything. I ended up getting a job out of that, which I thought, you know, I figured once Google Summer of Code was done, I would go write boring.NET accounting applications or something. I didn't know what I was going to do. But instead, I actually got a job doing open source in this thing that I loved, in this community that I loved. And it was amazing.
Starting point is 00:18:47 So, and so I try really hard, you know, now I have a much higher profile in the community because I've worked my butt off for, you know, like 13 years. Jesus. Yeah. to help other people who are facing that sort of imposter syndrome wall because it definitely held me back and i think it held holds back a lot of other people that would otherwise be really into what we're doing but don't think they're good enough to to contribute yeah so well you're amongst friends because that's exactly you know part of our mission with the changelog is to really break down that you know break the veil of open source and, and make it more open and show the community that, you know, everybody has value and can contribute. And when we are that way, everybody benefits.
Starting point is 00:19:31 So that's an amazing story. I'm happy that once you got past, and I had a similar experience, like it's so scary and you feel outside cidery and how do I do this thing? These people are all better than me kind of feeling. And then you realize there's so many ways to contribute and there's so much value that you can provide that I'm excited that first of all, your excitement is a bit contagious. So I'm getting excited about people all of a sudden. But I love that you, once you got into it, you just went all in and made a career out of it. That's amazing. Yeah. I don't know how to, I don't know how to like, you know, if anything's worth doing, just worth overdoing, basically, that's how I live my life.
Starting point is 00:20:09 But, but yeah, it was, it was also helpful because the attitude was so great. Like I've been part of communities where, you know, the attitude is, oh, oh, you don't know about the blah, blah, blah module, whatever, like, and in this community, it was the opposite. It was like, oh, you don't know about the blah, blah, blah module. Well, let me tell you all about it. Cause it's awesome. You know what I mean? And it's like, and then you'll know about it and we can talk about it, you know? So it's just like, that really, really helped. And I think that that, that sort of kind of mentorship being built into the DNA of the community is really important. And that, you know, predates my involvement, but I definitely have,
Starting point is 00:20:45 you know, tried to shepherd that forward myself and seen amazing efforts by other people in the community to shepherd forward those efforts as well. What's interesting is, is that your story of going from imposter to contributor to full-time open source predates most of the stories we share here on the show today, which is like, I like i guess maybe current stories and it seems like a trend that's happening today meanwhile it happened to you i don't know what year i'm just guessing 2008 ish 2009 ish based on yeah probably i mean yeah i guess my first job would have been in 2006 and then yeah but i'd say when i became like a core committer like that was 2008. That was a big deal leading up to the Drupal 7 release.
Starting point is 00:21:27 Which is one thing I was going to mention. If the last time you touched Drupal was 2010, you really should maybe look at it again. Because we have been working on it since then. And it's a bit better now. What do you think has kept you in Drupal? I mean, obviously, you've got a lot of passion and there's energy. But there's only so many things like that that can keep you there. The community, the tech, what is it that keeps
Starting point is 00:21:47 you or has kept you there or just I guess hooked you is probably a better term because you didn't try to leave, did you? And you just stayed, so something got you. Yeah. By the way, we call the extension points in Drupal hooks, so you accidentally made an epic Drupal pun.
Starting point is 00:22:03 So nicely done. Nice job, Adam. I've done my homework here. I would say it's probably a combination of things. And I would say three things, but I might end up saying four things. I'm sorry. But one is definitely, and the primary one is definitely the people. We go to DrupalCons, which we have a couple times a year, and it's like a family reunion a lot of times. It's like people are there and they're hugging each other because they actually like each other, not because they're trying to make some sign of a signal
Starting point is 00:22:35 or something like that. And it's genuine. And I think also just the point at which I got in the community, I went through some really tough personal stuff at the end of 2015, 2016, and realized that realized that like, you know, my, my friends that I know from the Drupal community are actually my friends. And some of them I've known for like a decade and, you know, all of them coming, kind of coming up and helping me in various ways, like cooking me waffles or whatever, you know, it's just like, it's just like a really amazing community. And,
Starting point is 00:23:03 and I love being part of it. Part of it too, is just, there's such smart people there and I learn new things all of the time. There's new, you know, there's people who are very passionate about say accessibility or about, you know,
Starting point is 00:23:17 making JavaScript work in a modern way that's friendly to new developers and, you know, all these different things that people are interested in. And so I get to learn about all of this stuff that I wouldn't, you know, if I was still building my own custom CMSs, which is what I did after the PHP nuke age, because I was like, nope. But if I was still doing that, I would still be in my little silo. And I, you know, wouldn't know all these great things about like internationalization and like all the different aspects of Drupal that it kind of covers for you and security and like all the different aspects of, of Drupal that it kind of covers for you and security and like all these kinds of things. So constantly learning new things. And then
Starting point is 00:23:50 I think the technical problem is really interesting as well, because, you know, you're building for multiple audiences. Every time you build a feature, you have to think not only about how are we going to write the API so that developers can extend this where they need to and the classes and objects and stuff are all named in a way that makes sense to people, blah, blah, blah, blah, blah, all those problems space. But then you're also thinking about how would a non-technical content author use this feature? They're not going to know anything about modules or functions or any of that stuff. They're going to be presented with an interface. How do we build an interface around
Starting point is 00:24:29 this brilliant piece of technology so that they understand it and they can use it? And I find that dichotomy really interesting and challenging. And I don't know if that comes up in other projects that are based around just one of those audiences. This episode is brought to you by Linode, our cloud server of choice. It's so easy to get started at the linode.com slash changog pick a plan pick a distro and pick a location and administer deploy your linode cloud server they have drool worthy hardware native ssd cloud storage 40 gigabit network intel e5 processors simple easy control panel 99.9 uptime guarantee we are never down 24 7 customer support 10 data centers three regions anywhere in the world they got you covered head to leno.com slash change a lot to get
Starting point is 00:25:33 $20 in hosting credit that's four months free once again leno.com slash change log All right, Angie, you teased four points. You gave us three, but I'm feeling like there's one more reason why you might be sticking around the Drupal team. So what else you got? What is this this holding me accountable to the things I say? I would say the four point is actually my employer and my job that I have this. So I work for Acquia and Acquia is a startup that is co-owned or co-founded by Dries, the BDFL or project lead of Drupal. So the BDFL is my boss, no pressure. But I somehow lucked into, well, I didn't luck. I lucked in and I also worked my butt off for many, many years. But I have this job where I basically get paid full time to make
Starting point is 00:26:39 the community awesome. So that involves, you know, flying around the world to sprints and like sitting with developers and getting whiteboards and stuff. And let's figure out how we're going to solve this really tough problem. Or it involves, you know, talking to the different initiative teams, trying to figure out what they're trying to build, trying to communicate that in a way that humans can understand it. And, you know, like trying to figure out what's unblocking or how to unblock them from being awesome. So sometimes that's, you know, kind of promoting the work that they're doing. Sometimes it's we plan a sprint for them in some locations. Sometimes it's let's fund this expert to like, just bang out this piece of code that's blocking everybody or whatever it is. But my job is
Starting point is 00:27:16 basically to find the toughest problems for Drupal and solve them. And it's amazing. And Acquia was really, really supportive of me as well when i kind of went through a crappy time um and you know i just yeah so i it's i think it's that combination of the people the learning new things all the time the um whatever my third point was a long time ago that was like ages ago there was like a break in between um but anyway it's a combination of all those things i think that really got me involved and and keeps me involved in drupal and excited about it and i asked you what uh what hooked you but i think maybe what might be the answer for those out there in the community of drupal might be someone like you or many like you with the kind of energy and enthusiasm and it seems like you're a super kind person so i mean tell us about the community
Starting point is 00:28:06 piece of things like how are there many use out there with the kind of care and enthusiasm and and i don't know just cool person like is that what keeps people there like you mentioned people are there more cool people no i'm the only i'm the only cool person in just kidding what do you think keeps others basically there there is a lot of cool people in drupal. I'm just kidding. What do you think keeps others, basically? There is a lot of cool people in Drupal. I mean, I think... Well, you mentioned the conference, which seems to be just, like, never-ending and huge. And, I mean, how big does that conference get, DrupalCon? Yeah, so DrupalCon is a really great experience.
Starting point is 00:28:39 So there's about 3,000 people who come to DrupalCon North America, about, like, 1,500, 1,800 or so that come to the European one. So they kind of go every other. DrupalCon is a really great experience, though, because you get to sit and listen to people talk. And these are people that you know from the community. And you get to sit and have drinks with them or work next to them at a sprint or this kind
Starting point is 00:29:04 of thing. My favorite thing about DrupalCon, in addition to the knowledge sharing and the hallway track and all that stuff that's at any conference really, but we do the last day of the conference is called the contribution day. And that's where we have basically two huge rooms, like ballroom style rooms in the conference center or whatever,
Starting point is 00:29:27 with tables set up everywhere. And so, one of the rooms is for new contributors. And so, in that room, they do a section at the beginning of the day that's like, here's how to get a development environment set up. Here's how Git works. Here's how the issue queue works. Here's how to make your first patch and that kind of thing. And then they prefabricate a bunch of issues that would make good first patches for somebody. And then there are mentors that walk around in brightly colored t-shirts and basically work with the people there to make sure that they're getting some value out of the experience. The other room has, you know, kind of people who are established in Drupal and the tables are all set up. So say this table's working on media and this table is working on configuration management and this table is working on automated testing or whatever
Starting point is 00:30:08 it is. And you just go to a table that has a label that you're interested in. And then ta-da, you're working with like the three people who know everything about that. And you know, you just get to join in with them and they're happy to have you. And then midday through the day, the people who have just written their first patch, they get to come into the big room with everybody else and we co-mingle. And then my favorite, favorite thing is we pick one or two of those patches
Starting point is 00:30:33 and we do what's called a live commit. So like someone like myself or one of the other core committers will get up on stage and do a whole song and dance. This is usually where I find out all the ways I use git incorrectly because I don't get this like dramatic gasp from the audience when i type something like okay so i i basically use fear-driven git that's my uh my thing um but basically we you know we do like drum rolls on
Starting point is 00:30:56 the tables and stuff but we actually like do a patch review live and talk about it and then commit it to the software show their name name and the change or the commit log and all that kind of stuff. And so, and people just get super excited and they leave, you know, feeling like they've contributed to something bigger than themselves and everybody, you know, it just, it's a really great way to feature awesome people. And we get the people who wrote the patch up there, the people who mentored them up there, the people who provided a review up there to kind of show that it's not these like one-off rock star people that are getting this thing done. It's like actually, you know, it takes a village to get a change made and stuff.
Starting point is 00:31:32 And so that's a really, really fun experience. And I look forward to that every time. Well, let's say a portion that requires that, as you had said, somebody to show up like these people that know all the things and so i think of it from one lens which is like great the you know the people who have been around know all the things they show up that's kind of required for some of the interaction you just mentioned there and without going a little too far into the what keeps people around aspect but i want to know like once you're past a certain stage of a project or your involvement or your knowledge base of it, you kind of get bored. Maybe you move on.
Starting point is 00:32:09 What is it that that that makes those types of people show up? Because that's like a really important piece to community that I feel like, Jared, that Drupal is done well. And, you know, we haven't covered it much, not because we don't care about it, but just like somehow, some way this news isn't bubbling up to us or we're, I'm not really sure, but maybe you can kind of give us a purview into what makes these types of people show up so that you can have new same, you know, making everyone else around them burnt out on Drupal as well and their behavior and the way that they interact and things like that. So, we've tried a number of different things. One is that built into our governance structures, at least for core, we're still working on this in other areas of the kind of the project, but we have what are called provisional maintainers. And so, a provisional maintainer is sort of like someone who you think would make a great maintainer, but, you know, maybe either they aren't ready yet or you're not quite ready yet to see them, you know, in that position.
Starting point is 00:33:33 So we bring them on as provisional maintainers so they can try out what it would be like to be a maintainer so they can, you know, they can commit patches, they can review patches, this kind of stuff. But it's sort of done with the idea that that's a, that's like a mentored position. And then once they've kind of, you know, met or exceeded the, the, you know, kind of threshold, and everyone's like, oh, this person's great, you know, they become a full fledged maintainer. Having that provisional maintainer thing is useful, because it, it sort of puts, it sort of puts it in the back of everyone's mind, like, I should definitely have a replacement for me, at all times, you know, and as long as you have someone in that provisional slot, then you kind of, it lets you kind of go, huh, you know, a little bit, you don't feel as responsible for everything when you know that there are other people to kind of carry the load. So, that's one aspect that
Starting point is 00:34:18 we've done. Another thing that we're playing around with, this first happened in the Drupal Association, which is like the non-profit foundation that sort of is, you know, responsible for the website and marketing and all the things around the Drupal project, except for the code. But they started doing like term limits and then overlapping terms and stuff like that. idea that when you sign up to be, say, the security working group lead, or you sign up to be on the community working group, or something like that, that that is a fixed position. And so you can choose to extend it if you want, if you're still feeling good about it. But there's also a way to gracefully roll off if this is no longer your scene. And I think that helps a lot with combating that because it, it gives a maximum amount of burnout, you know, that people can, can be subjected to. And it gives people a way to save face when they're just like, I can't
Starting point is 00:35:12 with this anymore. And so that's been really useful. I think also, you know, we, we, we have a lot of people who care a lot about people in our community. So we have like the diversity inclusion initiative, we have the community working group and they are really trying hard to make the community a welcoming and open place for people and to take people aside when they're not making the community like that and try and work with them, you know, just be like, what's going on? Like, how can we help, you know, this kind of thing. And so I think all of those different things sort of add up. I wouldn't say we're perfect. We've definitely had some very high profile, even, you know, flame outs in our community. But I think that the people there are well-intentioned. They're really trying hard to make it a place where
Starting point is 00:35:56 people come and, you know, and if you need to take time off, that's awesome. And we actively encourage that. Please do that. So, but you still get people, and I was one of those myself, you know, who were just like, I have to stay because nothing will happen if I don't, you know, this kind of thing and overwhelming sense of responsibility and stuff. So, I think we're just a bit smarter about that because we, you know, it's an old project. We've seen people flame out like this multiple times. So, I think trying to catch it earlier when we can, or, you know, taking people aside when we can, those are different ways we combat it. But I don't think we have this down by any means. But that's some of the strategies we employ anyway. 15, 16, 17 years, you know, you're like you said, humans are going to human. So yeah, we're going to have issues, but it sounds like y'all are doing a lot of things right or well.
Starting point is 00:36:49 And that probably comes from time and experience, but also comes from caring and trying, you know, you're not going to do things well if you don't care to, or if you don't try to. So that sounds like a spectacular aspect of the Drupal community. While we're talking about the people and how awesome they are, probably a good chance to mention Gabe and thank him for getting this show put together so uh gabe help me out with the last name angie's at salice uh sell this sell us gabe sell us uh without him this conversation would not be happening gabe longtime listener and uh suggested drupal when we put a tweet out a couple weeks back asking what are things that we should be covering that we're not covering and he mentioned that we haven't really done anything on Drupal
Starting point is 00:37:28 much to my surprise I was like dang we really haven't talked about Drupal ever so um we got in touch with Gabe and um you know props to Gabe because we asked who'd be a great person to talk to and most of the time that's when people say I would be pretty good at talking about that you know most people do that which is fine it's often the case um but's when people say, I would be pretty good at talking about that. You know, most people do that, which is fine. It's often the case. But he didn't say that. He said, actually, Angie Byron would be a spectacular representative. So thanks, Gabe, for listening and for helping us put this show together.
Starting point is 00:37:56 That's awesome. Yeah, and Gabe, what he does in Drupal is he co-leads the API First initiative. And so this is the initiative that's working on Drupal's underlying REST API, working on putting JSON API support into core, working on making sure that when you write a decoupled front-end or a mobile application or anything of that nature
Starting point is 00:38:15 that's consuming data out of Drupal or putting data back into Drupal that you have a wonderful and fun time doing so. Asterisk, we're still working on it. But you know. Well, that might be a good segue into modern Drupal or what Drupal looks like in 2018. And I guess, gosh, it's almost 2019.
Starting point is 00:38:33 So for people that are just coming to the project and maybe they just heard the show and they heard the history and probably the awesome community is like, okay, that's something I can get into. What should they find? You know, what kind of technology is there? Where is its sweet spot?
Starting point is 00:38:47 What does Drupal look like nowadays? Sure. I'd say what Drupal has focused on a lot more in recent years is filling out, like I mentioned before that, you know, Drupal used to be a very small core, very unopinionated and very, you know, kind of like bare bones.
Starting point is 00:39:04 It's basically like, here's a box of Legos, dump it on the table, have fun with that. You know, I'd say what we've focused on in more recent years is, okay, so we still want the box of Legos and we still want the ability to like put the Legos in different places and all this kind of stuff and build the castle or the canoe or whatever it is. However, there's certain things that 80% of websites are going to want, for example, the ability to upload images, the ability to, you know, like, lately, it's been the ability to moderate content. So build content in a draft mode before it's published, and have control over who's allowed to move things from draft to publish and these kinds of things. The ability to do like a page layout
Starting point is 00:39:45 building experience and some of these other kinds of things. And so what Drupal's really concentrated on the last, you know, I'd say this is since 2011. So seven years, eight years almost is really making the core that you download something that is usable out of the box to build, you know, a good chunk of sites so that you're really only needing to go to the contributed modules or custom modules for stuff that actually is kind of off the beaten path. And so for your average, you know, content management experience, it's, you know, all kind of built in there and ready to go. So Drupal 8 is the current version of Drupal we have. If you used Drupal in 2010, that probably would have been Drupal 6, which was a great release, don't get me wrong. But Drupal 7 and 8 really focused a lot on the
Starting point is 00:40:28 usability piece of things. So you wouldn't recognize the interface at all anymore, I don't think. And it's also really focused on making the out-of-the-box product a lot more feature-filled, to the point that we just had the Drupal 8.6 release a couple of months ago. And it ships with a demo that shows what Drupal can actually do. Because that was like one of the biggest things is you'd install WordPress and it's immediately obvious what WordPress is and what it's for. And then you install Drupal and it looks like an ugly blog from 1996, like Slashdot or something.
Starting point is 00:41:00 It's like, why would I ever use this thing when I can use this other thing? And so it was not doing a good job at all of really highlighting Drupal's strengths, which is, you know, the ability to create structured content. So you can create these things called entities. The entities can have discrete fields on them of different types, like, you know, like a numeric field, date time field, geographic field showing, you know, storing lat lon or whatever, like all kinds of different things, then you can enter content in a structured way, you can mix and match the content out,
Starting point is 00:41:31 you know, so say, you can just post the whole thing as you know, one piece of content, or you can say make a sidebar block that pulls in the title, the teaser, the author, and that's it, you can output the entire thing as a JSON feed. It's very flexible in what it allows you to do. But we weren't highlighting that aspect of Drupal at all. And so Drupal ships with a little demo called Umami, and it's like a fake restaurant website. So it ships with some sample content, with some images. So you get to see what Drupal's media experience is like. You get to see how we built out the content types and the relationships between the content types.
Starting point is 00:42:08 So I think recipes relate back to articles or something like that. They use some kind of a reference field to show off that. They're working for Drupal 8.7 on a multilingual demo, really showing off that capability of Drupal because that's pretty unique. Something that we offer that a lot of people don't really know about, which is, which is, you know, why not show it off, you know, and then as the media and layout experiences get more and more fleshed out right now, those are both kind of offered in an experimental way,
Starting point is 00:42:38 because we're still actually working on them. But as those get finalized and kind of production ready, then you'll see those things going to the demo as well. So that's something I'm really excited about is like my role in Drupal is I'm a core committer, but I'm also a product manager. So my job is to kind of keep an eye on what all of our various competitors are doing, keep an eye on what our users are complaining about, keep an eye on, you know, kind of the gap analysis between those two things and figure out where we should be focusing our efforts. And so I'm really excited about this direction change because it, you know, it's, it's, it basically eliminates like 30 hours of messing around downloading modules and configuring them just so and whatever with every site build, you just kind of download it, it's ready to go. And then you work on the really interesting parts of your site that are not like, how was the content author going to put stuff in here? So I'd say that's the biggest directional change.
Starting point is 00:43:29 I could talk too about like some of the development initiatives we have going on at the moment, if that's of interest to people, or if you want more of like a high level thing, it's basically like make it more powerful out of the box is the biggest, you know, directional change. Make it more powerful. That sounds like a high level goal. Yeah. Let's make this thing better.
Starting point is 00:43:48 It seems kind of realist in a way too, where it's sort of convention by configuration, but not quite the same configuration more like. Different level of abstraction. Yeah, exactly. But similar roots in terms of ideology. Yeah. And, and what's interesting about it too, is even though we are say configuring a default default experience that work for like 80% of people, you still fit on a USB stick that could be shipped to disaster areas so that they could just plug a USB stick in and start gathering data of like all the different people
Starting point is 00:44:33 who are in the area I mean it's like people do all kinds of crazy stuff with Drupal they use it to run like ship lines and stuff or like TV channel like you know what's coming up on the TV like all kinds of things people use Drupal for so we don't ever want to like reduce the amount of flexibility you can do with Drupal. But at the same time, at the end of the day, most people just want to put their content in it and get it out and have it not look like crap. That's kind of like the dream. And so, and also have the experience not be super frustrating. And so I'd say that's mostly, you know, been like the big, you know, kind of shift. But we've also built a lot of new powerful developer features
Starting point is 00:45:10 in Drupal as well, like the configuration management aspect. So everything can be, you know, exported and then, you know, moved from dev to stage to live via Git. You know, it's all in YAML files and that kind of thing. And the API first initiative, which I mentioned, which Gabe is part of. And some of the other ones are, you know,
Starting point is 00:45:26 we're very focused on that developer audience. We definitely don't forget about them ever because they're the people doing the work. So they definitely care about the stuff that affects them.
Starting point is 00:45:35 But, but yeah, the directional change of like, also really prioritizing the content author, AKA the victim of Drupal, who's got to use the thing that you set up every day. The victim.
Starting point is 00:45:45 Yeah. But making sure that they, you know, actually have a good experience and they don't, because when they don't have a good experience, they're going to gripe to the IT people and they're going to replace the thing with something else, you know, so we want them to have a good experience. Curious from a product manager perspective, you mentioned that one of the things you do is keep an eye on competitors and see what they are up to up to and i'm just wondering what's the most apples to apples comparison of a competitor i think people would think of wordpress but there's definitely some differences there with origination and wordpress was a publishing platform that people definitely
Starting point is 00:46:17 molded it into more of a generic cms but um when you of Drupal's competitors, what's like the top three that you're like, these are things that are pretty much do the same thing and maybe do it in a different way. It's interesting because, you know, while we're still in this framlication mode, like we'll see what the future brings, but while we're still in this framlication mode of trying to reach all ends of that audience, I'd say our big three competitors are everything from like enterprise CMS, like Adobe experience manager, like that end of things to WordPress. Like that's definitely,
Starting point is 00:46:56 we're seeing WordPress and different competes and stuff like that all the way to like something like contentful, you know, and contentful is like a backend, a purely like data modeling backend that you then pipe out to JSON. So really Drupal is one, I mean, I would argue the advantage of Drupal is that it can be all three of those things. And, and, but if you want, you know, only the decoupled backend thingy thing, you know, Contentful might be a better choice for you. But I like Drupal because I'm fundamentally a very
Starting point is 00:47:25 lazy person. I'll just be right out with it. And I kind of feel like I often get clients that don't know what they want. And so this allows me to learn one thing. And then when they want just the basic website set up, it's like, okay, boom, boom, done. Oh, and also it needs a photo gallery. Okay, great. Click, click, click. Oh, and also it needs to integrate with Salesforce. Okay, well, that's a click and a couple of codes and you know, that kind of thing. It's really flexible that way. And then, oh, now my CEO got this like Blackberry from 1992 and he wants to make sure that can work with whatever, you know, like this kind of thing.
Starting point is 00:48:00 It's, you know, it's sort of, it's able to evolve with the changing needs of a site really easily, which is awesome. And so, that's kind of where I would say, you know, we look at our competitors as kind of the range of those different things. I would say things that are not our competition would be things like Squarespace, Wix, those would definitely be like down market from us. Like those things that are are like you're building a five-page website and you want to do it in four seconds and you don't want to think like we we're not in that space we're not in the space of like tumblr or you know things of that nature but um i would say for anything above that that is definitely kind of the area that that drupal plays in and uh and yeah it's just it's fascinating to look through some of the case studies on Drupal.org and see how people are using Drupal because it's used everywhere.
Starting point is 00:48:57 This episode is brought to you by our friends at GoCD. GoCD is an open source continuous delivery server built by ThoughtWorks. Check them out at GoCD.org or on GitHub at github.com slash GoCD. GoCD provides continuous delivery out of the box with its built-in pipelines, advanced traceability, and value stream visualization. With GoCD, you can easily model, orchestrate, and visualize complex workflows from end to end with no problem. They support Kubernetes and modern infrastructure with Elastic on-demand agents and cloud deployments. To learn more about GoCD, visit gocd.org slash changelog.
Starting point is 00:49:35 It's free to use, and they have professional support and enterprise add-ons available from ThoughtWorks. Once again, gocd.org slash changelog. And by our friends at Red hat who produce command line heroes today we're featuring a segment from season two episode four titled fail better that whole fail fast mantra let's be honest it often gets used as a way to try and shortcut things towards success but what if instead of telling each other to hurry up and fail fast, we encourage each other to actually fail better? Season two of Command Line Heroes is all about the lived experience of working in development. What it really feels like and how it really pans out
Starting point is 00:50:20 when we're living on the command line. And that's why we're devoting a whole episode to dealing with failure. Because it's those moments that push us to adapt. The stuff we call failure, it's the heartbeat of evolution. And open source developers are embracing that evolution. Of course, that's a lot easier said than done. All right, learn more about command line heroes from Red Hat at red.ht slash command line. So I would say developers are probably lazy to some degree.
Starting point is 00:51:10 We have maybe a large audience of developers. I'm just assuming some things here. Having done, I don't know what, 320-ish of these shows before. So I kind of have an eye for what. We might have the laziest audience of all podcasts. Yeah, exactly. I mean, in a good way. 20-ish of these shows before, so kind of have an eye for what our... We might have the laziest audience of all podcasts. Yeah, exactly. I mean, in a good way.
Starting point is 00:51:29 In a good way, of course. Said with love. So I'm imagining there's a, you know, a skill set that's been built up by most developers that they can reuse or easily, you know, move to something else they wanted to. So, you know, this excitement, this community, this energy you bring, move to something else they wanted to. So, you know, this excitement, this community, this energy you bring, Angie, may be a surprise potentially to a lot of listeners of this show. And they're thinking, geez, well, what does it really take to be a Drupal developer? What skills do they need to have? Maybe they already got them and it's like,
Starting point is 00:52:01 I don't have to go relearn something new. I've already got the necessary skills. Break down that for us. Sure. So, well, I should say that, you know, Drupal is still written in PHP and, you know, MySQL, JavaScript, that kind of thing in general. I would say the skills you need, generally speaking, though, you don't want to start coding with Drupal until after you've tried to do everything you can without coding. And what I mean by that is that often people come into Drupal and they're a PHP developer or they're a Java developer or whatever, and they come in and they're like, I know how to code. This is going to be great.
Starting point is 00:52:39 You know? And so they immediately go in, find those extension points and start going crazy. That is not the right approach for something like Drupal that has this huge community of contributed modules and 40,000 contributors and all this other kind of thing. Because usually, whatever problem you're trying to solve has already been solved by somebody. Yeah, that's awesome. And they've been solved not only in a way that solves your problem, but in a way that solves general problems. And that's where we get into the flexibility of being able to handle, you know, all these different use cases. Like the views module is a fantastic piece of art. And this is something that ships in core now. But views module is essentially a UI around an SQL query builder, more or less. And so you can create listings of content, of users, of taxonomy terms,
Starting point is 00:53:26 of whatever, you know, you have on your site, products for e-commerce, that kind of thing. You can filter those products to say, I only want to show ones that have this tag, or I only want to show ones that are by this author or this kind of stuff. You can sort them, you can do all the things you can do with SQL. And then there's a layer on top of that where you can say, how do I want that output to be displayed? I want it to be displayed as a grid view, or I want it to be displayed as a table with sortable columns, or I want it to be displayed as a sidebar block, a million different things, a calendar, whatever.
Starting point is 00:54:01 And learning that one piece of Drupal saves you infinite amount of time, uh, doing anything that you would be doing in code. Cause you just click these things together in minutes and then your site all of a sudden starts looking like your actual site. Um, so those kinds of things, there's some learning curve to go up that are kind of like Drupalisms that we do in Drupal that you would not necessarily be used to if you knew SQL by the back of your hand and you were already a competent PHP developer. That can actually get you into trouble sometimes
Starting point is 00:54:29 with Drupal. So I would say first, make sure no one else has already solved this or that there's not already a generalized tool to solve problems like the ones you're trying to solve. Then after that, if you write your own custom code, that is some PHP development. We use object-oriented PHP in Drupal 8. It follows all the PHP fig standards, which for people who aren't PHP people, that means nothing. But basically, it looks a lot like every other modern PHP application. So it's nice because when you come into it, you can be like, oh, yeah, I know how this works. And so lots of classes,
Starting point is 00:55:06 lots of PHP files with little bits of code in them, that kind of thing. You also generally build a user interface for any functionality that you're adding. So there's hooks and stuff like that for that. So you can easily expose, say, an admin page for your piece of functionality that has a bunch of form elements in it. There's an API for that. And then if you want to be fancy, you can also add in some CSS and JavaScript that gets pulled in there. You want to be careful about that though,
Starting point is 00:55:34 because again, Drupal, infinitely flexible thing. We want all of the output of Drupal to be themable, it's called. So that means it's overridable. So that just because you picked green buttons or something for your thing doesn't mean that every site is going to have green buttons.
Starting point is 00:55:51 So we actually run everything that's output to the screen through the theme system. And that allows individual site authors to build their own kind of customizations over what you're providing. And so I would say the actual mechanical tools required to be a Drupal
Starting point is 00:56:08 developer are quite similar to being any kind of web developer, really. I mean, there's PHP, but if you know Java or Ruby or any other language, PHP is pretty easy to pick up. It has a lot of dollar signs in it. That's about it. No. As you're describing it, I was not going to ask it, but I want to ask it now since there's a slight break in here for this. Is it seems like you could be a extreme PHP type person to help build out some of the deep innards?
Starting point is 00:56:37 I want to say maybe. And then maybe somebody who's not. And I don't want to say this in a negative way. Not really a developer, somebody who's kind of developer-esque, familiar with, but maybe not comfortable with building out modules and hooks and APIs, but somebody who understands the web language and can put things together. Is that accurate to say?
Starting point is 00:56:56 I think that is accurate to say. I think if you're going to become a core developer, you definitely need to know the inner guts of PHP and all that kind of stuff. But you really, I mean, that's, if you want to do that, we would love to have you, but that's something people only usually do after they've already-
Starting point is 00:57:08 It's not required to be productive. Not at all, no. And we do go out of our way because again, that the non-technical user is one of our primary audiences. We call them the site builders, the people who don't know, they would never be able to write their own SQL query, but they know how to click together a block in views
Starting point is 00:57:23 showing hot content or whatever. They know how to click together a block in views showing, you know, hot content or whatever, like they know how to click that together. So I would say like, most of the time, when you're building something in Drupal, you should be able to do it without writing any code. And then the areas where you can't do things without writing any code, usually there's a module already available for that. So say, bibliographies, or podcasts, or something like that, you could find modules for those kinds of things. And in the event that your use case is so specialized, cause you're, you know, integrating with some third party, I don't know, AS 400 that was invented back in the sixties or something, you know, then there's APIs to do that stuff. And then you do need to start
Starting point is 00:58:00 writing PHP. Yeah. Why not? Right. Um, here's the one hiccup I always find in that case of the site builder, as you mentioned. Maybe that's the word. I think that's what you said. Is, you know, you've got your dev environment, and then you get your deploy process, and you've got this live site. What's the scenario there for someone who's not really that familiar, who can't put things together, but it's like, well, do I FTP this thing? Like, what's the process to take it from a dev environment or, as you mentioned, different output being themeable or, you know, adopting this theme system? How do you give someone the skills to play, have fun, build out, maybe even tinker and solve some true problems for their business and then get it out there and actually usable.
Starting point is 00:58:48 You can upload everything with FTP still, if that's your workflow. Most of our users, especially in Drupal 8, are a little bit more advanced than that. So they use oftentimes Git to do their deployment workflow. So they keep their website files underneath a Git repository. And then they will, you know, commit stuff to the dev environment and then cut a tag and then cut that over to production. So that's oftentimes how people do it. There's also a PHP tool called Composer,
Starting point is 00:59:19 which is kind of similar to NPM or something of that nature that allows you to like, say, I require these and these and these, you know, Drupal modules plus these external libraries, plus that's that and the other thing. And a lot of people use Composer in their deployment workflow to say like Composer update to get all the new code and then commit that to Git and then fire it over.
Starting point is 00:59:40 You don't need to do any of that stuff. If you are a totally non-technical user, like again, we cater to both audiences. So If you are a totally non-technical user, like again, we cater to both audiences. So if you're a totally non-technical user, then your way that you would do that is there's a user interface for the configuration management system. So you would click, click, click, click, click
Starting point is 00:59:54 to change your site all around, add some content types, add some blocks to the page, change the theme, do whatever configuration you're going to do. And then you go to the screen, you click export, you get a little zip file full of YAML files,
Starting point is 01:00:07 which is all of your site configuration. Then you go over to your production website, you upload that zip file, it extracts it automatically for you. And it says, here's all the crap you're going to change. Are you sure you want to do this? And you say, yes. And then boom, your stuff is live on production.
Starting point is 01:00:20 So again, everything in Drupal pretty much has both a developer friendly way. We have a tool called Drush, which is like Drupal shell that can, you know, automate all of this stuff. You can run it in shell scripts, this kind of thing, and it can enable modules for you or, you know, update configuration or all kinds of things. They have commands for just about everything. So you can go that route, or you can even just click everything together yourself if you want to do that. So it really caters to both audiences. I'd say many audiences. I mean, there really isn't an audience that Drupal doesn't cater to. I mean, everyone from 23 wants to get deep as a core committer
Starting point is 01:00:54 or someone who wants to be a site builder. I mean, it seems like the type of developer that is catered to from Drupal is just to some degree infinite. Yeah, it's interesting because Drupal 8 was kind of our big pivot point as a project. This is where we started embracing all these kind of modern best practices with using object-oriented PHP. Prior to that, it was all procedural language, mostly because PHP just wasn't very good
Starting point is 01:01:19 at object-oriented programming until about that time. Started adopting external tools like Composer and all these, I could list a bunch of PHP libraries that you don't know, but Symfony is one of them. It's like an underlying framework for, you know, starting HTTP kernels for applications and stuff like that. But all these basically kind of like we shifted focus from Drupal from being, you know, not, it, kind of not invented here sort of attitude to like, hey, let's, you know, get off the island and embrace the best solution for every problem that we have.
Starting point is 01:01:53 So some of the stuff does make sense for us to do ourselves, like the whole entity system that I talked about, but some stuff it's like, let's just use Guzzle because it's really good at parsing web service data and, you know, doing that kind of thing. So we'll just let that handle it. So that web service data and, you know, doing that kind of thing. So we'll just let that handle it. So that transition, though, to adopting, you know, modern best practices, object-oriented programming, this kind of thing, it did cause like a big rift in the community back a few
Starting point is 01:02:14 years back when Drupal 8 first came out. Because our users up until that point have been a lot of like, I know how to copy and paste code and modify it, but I don't really know how to like how it works, you know, that kind of stuff. So they can make a module based on like copy and pasting some other module and kind of messing with it. But Drupal 8 with, you know, kind of using object oriented programming and composer and all these new things requires a bit more like upfront learning if you're going to be doing development stuff on it. And that that kind of scared a lot of people. And they didn't know if they can make the jump or not. Unfortunately,
Starting point is 01:02:47 many, many people have made the jump and people who are already developers, they love it. So, we don't have to convince them. It's mostly the non-technical site builder plus plus kind of people that knew enough about PHP to be dangerous, but not really enough to like, you know, be a core developer. They struggled a lot with that transition and some of them still do. So I would say that that's, you know, one area that we, you know, we definitely had to watch is make sure like people are okay when they're making this jump. Fortunately, the site building experience between seven and eight is very, very much the same. You just get more cool stuff in Drupal 8. So that's really nice. But for people who were doing any kind of coding stuff, there was that transition. But the nice thing is once you've made that transition,
Starting point is 01:03:27 Drupal 8 is built in the same way you'd expect any other modern application to be built. So that's really, really powerful. So once you kind of level up your skills, it only helps you for anything else you're going to do. Where do you think the community is growing most at? So is it site builders, users, people who need to build sites using Drupal uh or is it you
Starting point is 01:03:49 know is there a parallel to even contributors or those doing the community to be you know I don't want to say developers just like somebody who's like helping drive the project at a technical level like where are you seeing your growth and where are you seeing maybe plateaus? Where are you seeing hockey sticks? Help us understand like just growth generally. I think we saw a major change, a few major changes. I mean, it's almost a 20-year-old project. So we've been through a lot of major changes.
Starting point is 01:04:17 Right. So I think one major change was, it kind of used to be where, you know, the business would make the decision that in order to maximize efficiency, we're going to choose a content management system, right? And then they'd give that task to the IT department. And then the IT department would go and look at a bunch of different things,
Starting point is 01:04:35 and then they would pick one. And in that kind of scenario, Drupal does really well because they can see the power of it. It's flexible. It's got APIs for everything. We can extend it easily to whatever weird new requirement is going to come down the pipe. So Drupal would often score really well. And in fact, a lot of times how Drupal got into these kind of larger organizations that you wouldn't necessarily expect to find it is because, you know, there was a techie at that company that
Starting point is 01:04:59 was tasked to find a tool that did a thing and they found Drupal. And then that sort of like took off like wildfire within the organization. But there was a shift that happened, you know, a few years back, maybe as many as 10 years back, I don't know, of letting the quote unquote victims of the CMS be involved in the selection process. Like the person who has to use that thing every day to add boring press releases, those people having them involved in the process. And that makes a ton of sense, right? It's like any agile development thing. It's like have all of the stakeholders
Starting point is 01:05:29 in the room when you're making big decisions. It's like totally makes sense. But Drupal at the time would fall down absolutely flat in that situation because it was a tool built for developers. It didn't have a WYSIWYG editor. It didn't have the ability to upload images out of the box, like all of these different things. Because, you know, from a developer point of view, it's like, eh, I could download that. I know how to get that. That's no problem.
Starting point is 01:05:50 So we saw Drupal struggling a lot during that period of time. And so that was one of the driving things to focus so much on the user experience and making sure that it is full-featured out of the box. So when you do stand Drupal up next to anything else, it looks and it acts about the same. And then they can focus in on the stuff that makes it different. So I'd say that's one huge trend. Another huge trend that happened in the recent years is the mobile thing. Back in my day, I'm swigging my thing on my stick and shaking at the kids on my
Starting point is 01:06:22 lawn, whatever. But back in my day you know it was like we had to deal with 800 by 600 and 1024 by 768 you know or i think that even came later i was like at first it was just 640 by 480 and 800 by 600 and then whoa whoa man now we got to deal with three screen sizes what is this well hang on a second for those listening she's talking about resolutions sorry yes just in case we used to have screens and they were like apart from the computer and you had to right responsive design has arrived it's not going anywhere yeah um it's a thing and it's just the way it is now and that's it's uh very difficult to enter this space today and not assume that's how it is because you've got tvs you've got mobile phones you've got tablets you've got you just can name all the iot related or connected devices that
Starting point is 01:07:11 has some sort of display a watch that's just like a two by two square in your wrist i mean so the this the screen is infinite yeah so there's literally no absolutely you have no knowledge of how what you're creating is going to get consumed at all anymore. Like it's, you never did, like people could always, you know, do different things. But yeah, today, especially, it's not possible. The web was confined and now it's free. Yeah, now it's free. To roam. And it's wonderful that it's roaming, except all web developers everywhere are crying into their soup. But you know, that's like a whole thing. But what was great about that is we were uniquely poised, not necessarily accidentally, but sort of accidentally to take advantage of this because Drupal has always been built by nerdy people who care about like things like semantic
Starting point is 01:07:54 markup or whatever. And they care about things like structured data. And so when the requirements now became like, oh my gosh, we have to have a present, you know, a separation of presentation and, you know, logic and, oh, how do we do that? It's like, oh, well, we've already had that since like, you know, 2002. And when it became like, we need structured data so that on the mobile app, we can, you know, create a smaller view of this thing that doesn't have all the doohickeys in the field. It's like, oh, well, we've already got it in the database that way. So we'll just output it slightly differently. So that was really great. So Drupal was able to really, you know, kind of meet the needs of, you know, modern web development really easily that way.
Starting point is 01:08:32 The one area that I'd say we're struggling in a bit is in the JavaScript area. I don't say we're struggling. We're working on it. But this is an area where people will look at this and be like, you know, because originally JavaScript, again, back in my day, shaking my stick on the lawn, you know, it was something you use to make like annoying alert boxes. And that was pretty much the only thing you did with JavaScript. And then, you know, Ajax was a thing.
Starting point is 01:08:56 And then Google Gmail was a thing. And then, wow, this language actually has some legs to it and stuff. And so, we did eventually see the value of that. And so we adopted jQuery back in 2007, I want to say, which was really cool, actually, because it kind of put jQuery on the map and also got us up and running with a JavaScript framework that people could use to build kind of neat,
Starting point is 01:09:17 you know, dynamic UIs and stuff like that. But a lot of that legacy code now is still showing, like, say, 10 years later, where it's not quite so fun anymore. So we have a team working on implementing a redesigned admin experience with React and using modern JavaScript practices and introducing perhaps a build step or introducing different types of things. Maybe figuring out how we're going to render things, if we're going to do it on the client side or we're going to do it on the server side.
Starting point is 01:09:48 So this is a really interesting place that Drupal's in right now where we've kind of formulated this as a formal initiative. It's the Admin UI and JavaScript Modernization Initiative. And they built some prototypes in terms of, here's how React works, how it can work with Drupal, this kind of thing. I mean, people are already building decoupled Drupal sites,
Starting point is 01:10:04 so that's nothing new. But trying to design a core fram location that's infinitely flexible in React is a totally different problem than building, you know, say a website front end in React. So that's been a really interesting process to kind of see those different things come together. So the modernization of our JavaScript is something we're actively working on, but we're definitely not there yet. So if you are a JavaScripty person and you look at Drupal, it'll make you plug your nose, but don't worry, we're working on it. But in the meantime, you know, there's a lot of great energy around that initiative, and they're really trying to build the admin front end in a way that adopts modern best
Starting point is 01:10:41 practices in the JavaScript community, just like we did with the PHP community with Drupal 8. And so, you know, trying to build it based off like, I think it's called create react app or something like that. Like, you know, it's like a standard best practice way that people will start building react applications. They're using GitHub instead of Drupal.org as the main development hub, like these kinds of things to try to really meet JavaScript developers in that JavaScript community where they're at
Starting point is 01:11:06 and get them involved in Drupal that way. So it is something we've always, like Dries has always been really great at kind of the phrases like skating to where the puck shall be. So he's really good at spotting these trends and trying to spin up initiatives, make sure Drupal is there to meet it
Starting point is 01:11:22 because Drupal kind of got its start by being cutting edge and being at that you know outer edge of all these things and um and so it's great that that continues even almost 20 years later that we're still working on this stuff so yeah I was gonna ask you like the I was gonna ask you actually the kind of like what's your biggest challenge it sounds like that may have just entered it. Is that the biggest challenge right now for Drupal? I think another big challenge is, is just the, the way, like this is sort of a pendulum swing. It's sort of like how client server versus peer to peer versus clients are like, that's a pendulum swing that goes back and forth. There's also a pendulum swing that goes back and forth between picking something that does 80% of what you need. Um, maybe not exactly in the way you want it,
Starting point is 01:12:06 but you can extend it to make it better versus just starting from complete scratch and building your own custom thing. And I think we're right now in a pendulum swing where a lot of people, you know, they're hiring JavaScript developers. JavaScript developers want to build a front-end in exactly the way that they want to build it.
Starting point is 01:12:23 They want to talk to a back-end that gives it exactly the information that they want out of it and these want to talk to a back end that gives it exactly the information that they want out of it and these kinds of things. And they would look at something like Drupal and say, oh, that's too bloated for what I want, you know. And so that's an interesting area that we find ourselves in because there's trade-offs there, right? Like if you build a custom thing, you definitely can't get a non-developer site builder to
Starting point is 01:12:44 like click around in an admin interface and add additional columns and add additional blocks. That requires talking to a developer and getting them to change some code. And then now you've got the block where you want it on the page. It also issues a lot of the advantages of Drupal because Drupal's theme system support, you know, we have, you know, I think it's AA rating accessibility markup, not AAA, but AA rating accessibility markup. So we've already solved all those hard problems. You get something out of the box in Drupal that is very useful on a screen reader, even the dynamic bits and pieces that we have, like the toolbar and whatever are all vetted by the accessibility team before they go out. So you throw out all of that, you know, you throw out the theme ability.
Starting point is 01:13:28 Yeah. Yeah. It's, it's awesome. It's, it's so exciting to see how people just come spring up from the community and they're like, I care about this thing. And you just get out of their way and they do amazing things for you, you know, and it's, it's, it's really, really cool. Especially when something that you think is important, but you also think is maybe boring to implement or, you know,
Starting point is 01:13:46 not highest priority, but somebody else that is highest priority. And then everybody gets the benefits of it. And that's just a great, that's the great stuff. Yeah. I mean, the way we handle, I mean, we're a huge open source project and we've got even on just core, there's like 4,500 developers. So like, you know, it's, it's huge, it's geographically distributed and there's a lot of like volunteers. So they come in, do one thing and then leave and never come back again. Um,
Starting point is 01:14:08 so we've had to handle this by, we, uh, the core development processes introduces these things called gates, which is like a patch doesn't make it into core unless it satisfies these gates. And so there's a security gate and automated testing gate, but to make sure we don't introduce a bug twice, right. Um, there's a, there's an accessibility gate, a automated testing gate to make sure we don't introduce a bug twice, right? There's an accessibility gate, a usability gate, I'm forgetting some of the other ones, a front-end markup gate, like all these kinds of things to make sure that all the new code, even though it's written by 4,500 people who probably never met each other, that it still works and conforms the same way when it gets integrated. So it's something we take really seriously because, you know,
Starting point is 01:14:47 they are no longer running it, but the White House was running Drupal for many years. And so, you know, that's like the highest target, like, you know, site you could think of to like, you know. Yeah, it was a big deal. And so, you know, we really, we try very hard. We have a lot of enterprise and air quotes users. And so we try really hard to incorporate best practice standards that work for them.
Starting point is 01:15:09 We have like a security team that handles not just core itself, but all of the contributed modules. And they, you know, will issue what are called security announcements. They use the CVE system, like all the, all the stuff we do it on a scheduled regular cadence. So everyone knows like the second Wednesday in the month is going to suck for you, all the stuff we do it on a scheduled regular cadence. So everyone knows like the second Wednesday of the month is going to suck for you, you know, this kind of thing, but that way, you know, you know, when you need to buy pizzas for your whole department or
Starting point is 01:15:34 whatever, that kind of stuff. So we've done it, we've learned a lot. Like basically this project sprung up kind of organically. It was, you know, one, one dude's brainchild or whatever. And then it, you know, other people found uses and values out of it. They contributed back to it. Other people found even more uses and values and they contributed. It's just grown organically. It's become this amazing thing that people use for, for all kinds of stuff. I love that when I fix a bug in Drupal, I'm also fixing it for like the ACLU or, you know,
Starting point is 01:16:01 like Amnesty International. It's like, yes, this is great. You know? So, yeah. That's one thing that really gets you, right? It's like when you can make a change or an impact that seems so small because it's in quotes, open source or free time or volunteer or whatever
Starting point is 01:16:18 that you can impact literally millions of people's lives. I mean, that's the easiest way to pay it forward right it's just as you said flip some bits versus burgers and boom you impact millions that's so cool and i love the fact that you're so focused on the long tail like nothing you've said is like short-term goals right and you don't even seem to be phased by what might be today's challenges which is why i kind of framed it that way like what do you challenge by today? Because it seems that you have personally the right kind of attitude,
Starting point is 01:16:50 but corporately as a culture and as a community, the right kind of attitude to persevere through what might seem like hurdles or roadblocks to the next step, to get past those and focus on a long tail because you have such a wide, diverse user base, contributor base. And that's so awesome to hear that. And I'm pleasantly surprised, Jared.
Starting point is 01:17:11 I don't know about you, but I didn't quite expect this level of just happiness for such a cool community. I mean, not trying to be negative. You'd actually come on here all depressed and be like, this is the worst. They give us great drugs. I wasn't sure what to expect. Yeah. You know, and I'm personally just that surprised by it.
Starting point is 01:17:32 How about this? Let's close this way. I'm sure there's somebody or many people listening to this, probably tons of Drupal fans who've been there since the beginning, maybe tons that this is their first experience or they've heard it before, but they just don't know the backstory they're like where do i go to keep up so where does someone go that is keeping up or wants to keep up where do they go to keep up with drupal yeah i would say um there's a drupal.org slash planets like planet drupal is is kind of a good starting point that's where people will talk about new modules that they're working on,
Starting point is 01:18:05 or they'll talk about different events that are happening, this kind of thing. I would say also, like, if you could, there's Drupal user groups that get together all over the world. And I think the best way to really learn about Drupal is to meet some of the people involved. Because the first time that you say Drupal
Starting point is 01:18:21 in front of another human and they don't go like, bless you or something, like, it's like, wow, oh my gosh, there's like people who know about this. And so I would say, you know, find a, you know, if you, if you have access to, you know, a local community, go there, go to a local camp or a local user group meetup, something like that. Because I mean, I don't, you know, obviously I don't, it's a big community. There's lots of places, but I've never been to one of those. And I travel a lot. I've never been to one of those and not felt like a warm, welcoming presence from everybody there.
Starting point is 01:18:51 And so I'd say that's a great way to get involved. If you can make it to a DrupalCon, that's even better. You can be part of that sprint experience and all that kind of stuff that we talked about. If you're looking for online resources, I'd say Drupal Planet is probably the widest range. It'll get you everything from really super technical, you know, in the weeds articles to kind of philosophical things and all kinds of stuff. And the Drupal Association also would be a good source of like kind of high profile case studies, different initiatives the community is working on and that kind of stuff. Awesome. We'll drop a few of these things in the show notes. If you're listening, don't pull over now. Wait'll drop a few of these things in the show notes. If you're listening,
Starting point is 01:19:26 don't pull over now. Wait till you get back or whatever. Check the show notes. We also obviously do awesome transcripts. Thank you, Alex, for making that happen and the rest of the community. I mean,
Starting point is 01:19:35 Hacktoberfest has been huge year for us. I'll put that out there. You've been, how many, how many PRs Jared? I'm burning a hole in our merge button. Nice. We've been pleasantly surprised by all the community support.
Starting point is 01:19:49 That's right, merged. It's now a merged button because everything's merged. So our transcripts are open source. You can contribute back that way. So if we've said something that seemed unintelligible, go to the transcript. If it's there, you can just search unintelligible and easily get a pr that way if it's still the month of october maybe you get five of them you get a t-shirt for october fest if it's after that wow hey do it for the lols do it for the the greater community and just
Starting point is 01:20:14 make this conversation easier to read uh likewise our show notes are also open source so if we've said something that has a link that you're like, it needs to be in the show notes, go to the, go to the show. There's a link that says edit on GitHub. You can fork it at a back at a PR, really easy, easy way to get into open source.
Starting point is 01:20:34 We are kind. We are friendly. We appreciate your support, obviously for our show notes and transcripts. And likewise, again, these links will be in the show notes. So check that, uh, Angie, any closing thoughts? I mean, it's been such an honor to talk to you. I mean,
Starting point is 01:20:50 you got so much energy. You got me fired up for a Wednesday. I love it way more than I expected. And I love that too. So help us close by just sharing any final thoughts around, you know, what you've experienced here on the show or part of your community. We just, you know, just need to know more about. I just, I really like the format of this show. Like I, you know, what you've experienced here on the show or parts of your community just, you know, just need to know more about. I just, I really like the format of this show. Like I, you know, you always get kind of stressed out about any public speaking kind of thing, but I just want to say like, you guys make it like really literally like a conversation. It's like, I'm talking to old friends, even though we've never met.
Starting point is 01:21:19 And I love that very much. And I also love the idea of, you know, encouraging your, your listener base to improve the transcripts because those are so helpful both to people who, you know, can't, you know, can't listen or, or can't, you know, for whatever reason, as well as like, I'm sure people take those and probably translate them into different languages and stuff. So I think it's not yet. Oh, well, there you go. There's a PR for you. But yeah, I just, I'm so happy that Gabe put us in contact with one another because it's really, this has been a great experience.
Starting point is 01:21:51 Yes. Let's close by saying thank you, Gabe. Thank you, Gabe. Woo, Gabe. Thanks, Angie. Great talking to you. Yeah, you as well. Thank you for listening to this episode of The Change Log.
Starting point is 01:22:03 If you enjoyed this show, send it to a friend, tweet about it, and rate, review, or recommend it wherever you listen. Thank you to our sponsors, Rollbar, Linode, GoCD, and Command Line Heroes. Bandwidth is provided by Fastly. Learn more about them at Fastly.com. We move fast and fix things here at Change Log because of Rollbar. Check them out at Rollbar.com. And we're hosted on Linode servers.
Starting point is 01:22:24 Head to Linode. See you next week. episodes of The Change Log and our other compelling shows at changelog.com slash podcasts. Thanks again for listening. See you next week. I'm Nick Misi. This is K-Ball. And I'm Rachel White. We're panelists on JS Party, a community celebration of JavaScript and the web. Every Thursday at noon central, a few of us get together and chat about JavaScript, Node, and topics ranging from practical accessibility to weird web APIs.
Starting point is 01:23:17 You could just eval the text that you're given and then, and that's basically what it's doing. What could go wrong? Yeah, exactly. This is not legal advice to eval text as it comes in. Join us live on Thursdays at noon central. Listen and Slack with us in real time or wait for the recording to hit. New episodes come out each Friday. Find the show at changelog.com slash JS party or wherever you listen to podcasts.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.