The Changelog: Software Development, Open Source - Drupal is a pretty big deal (Interview)
Episode Date: October 31, 2018Adam 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)
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.
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,
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.
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.
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.
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
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
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
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.
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,
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
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
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
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,
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.
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
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.
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.
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
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
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,
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
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
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
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
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.
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,
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.
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.
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.
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,
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?
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
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
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,
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
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.
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,
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
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
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.
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.
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.
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,
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.
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
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.
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
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,
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,
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
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
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
$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
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
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
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.
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
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,
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
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
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
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.
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.
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.
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
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
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
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.
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
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.
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
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.
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?
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.
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
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
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.
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,
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.
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,
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.
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.
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
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
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,
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.
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.
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
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,
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
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.
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.
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.
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
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.
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.
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,
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.
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,
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.
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
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,
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,
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.
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
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?
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?
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-
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
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
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.
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,
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.
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
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,
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.
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
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
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.
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
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,
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,
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
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.
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,
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
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
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.
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
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
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
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.
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.
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,
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.
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,
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
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
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
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,
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.
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
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.
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,
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,
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,
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.
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
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,
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
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,
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.
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.
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,
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
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.
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,
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,
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.
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
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.
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,
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.
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.
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.
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.
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.
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.