DrupalEasy Podcast S15E1 - Randy Fay - DDEV project governance and health
30m 42s
The Drupal Easy Podcast kicks off its season on open-source projects with an episode featuring Randy Fay, lead maintainer of the DDEV project. The discussion centers on DDEV's governance and sustainability, highlighting key developments such as Platform.sh's sponsorship, which secured the project's future and trademark. Community funding through GitHub Sponsors supports contributors, with goals to increase financial sustainability. The DDEV Foundation manages funds and infrastructure, while the DDEV Advisory Group focuses on project health and growth. Randy emphasizes the need to train new maintainers to ensure long-term viability, noting challenges in technical contributions. The episode also mentions Drupal Easy's professional module development course and DDEV's leading position in Drupal local development environments. Community collaboration is fostered via Discord, and a redesigned DDEV website enhances accessibility and documentation. Overall, the conversation underscores efforts to build a resilient, community-driven project.
[Music] Hey now, and welcome back to the Drupal Easy Podcast. This is season 15, episode 1. It's great to be back and we have a great set of episodes planned for the next few weeks. The theme of this season is "Open Source Projects Related to Drupal". In today's episode, I will be talking with Randy Fay from the DDEV Project, and we will be talking all about DDEV Project Governance and Health. Before we get to the interview, let me tell you a little bit about Drupal Easy's newest long-form Drupal Training course, professional module development. Now this is 90 hours of curriculum over 15 weeks. We meet twice a week for about a half a day each time. The curriculum took 18 months to develop and test, and we have had absolutely great feedback from the first two sessions of this course. The curriculum includes an entire section on just getting your development environment ready. This includes topics including PHPCS, PHP Stan, Xdebug, Visual Studio Code, PHP Storm, Lando, and DDEV. We will dive deep into Drupal topics, such as custom plugins and services, the QAPI, the batch API Entity Query, and lots and lots of object-oriented PHP coding. In addition, we will go deep into Caching, Writing Custom Drush Commands, and we will be writing PHP unit tests throughout the 15 week course. As I mentioned a moment ago, we have received great feedback from our students about this course. One student wrote to us and said, "Mike and Drupal Easy not only showed me all the gaps in my knowledge, but filled those gaps." Don't miss out on the next semester of professional module development. It begins on August 8th. There's also a light version of the course, which is 30 less hours, and that begins on August 22nd. Get all this information and more at www.drupal easy.com/pmd. Welcome back to the Drupal Easy podcast, Randy Fe. How are you doing, Randy? I am doing well. Great to see you again. Yeah, you too. So for the few people who listen to the Drupal Easy podcast who don't already know who Randy is, Randy is a longtime Drupal community member. For a long time, you're involved in commerce. Yeah, for a year or so. I actually worked for them but way back in the day, but I did a whole bunch of videos and stuff at that time. So I think those lasted a few years. People still make comments on them. It's amazing. So you only actually worked for them for a year? Yeah. Yeah. Oh, I would have guessed it was six, seven years, probably because of longevity of those videos. I imagine that was it. Yeah. Yeah. Well, these days, Randy is the maintainer or one of the, let's how about the lead maintainer? What's the, what's the call if that go with it? The lead maintainer of the Drup project. And the Drup project is our topic today. Although we're going to be doing something a little bit different today. We're not going to be talking about like the technology or the commands or the features of Drup. We're going to be talking about the Drup project and its health and governance and some of the things that Randy's and other members of the DDEV community are doing to ensure the health of the DDEV project. So first of all, I do want to mention the best place to get in touch with other DDEV folks these days is on Discord. And that's kind of like the home base for a DDEV live interactive conversation. No, Randy, you're still, you still pop into the pound DDEV channel in the Drupal Slack, but I think for the most part, you are trying to get people to be comfortable using the Discord channel in DDEV. I think I have that all right. Yeah, which the reason is that we want everybody to be in the same place because people from the various communities have the same problems and they can help each other sort those out. So if people hang out only in the Drupal Slack, then the typo three people don't see that and they can't help. Then the Craft CMS people can't help or run a fit from the conversation. So for all in one place, it's it's better thing. Do you have any idea of the breakdown of DDEV users between the different communities? I probably do, but I haven't looked at it lately. That would be interesting. I have definitely looked at that before. Craft CMS, of course, made it their official development environment six or nine months ago or something. So we've had a big influx from there. Typo three made it their official, I don't know, three, four, five years ago. And they've been incredible contributors along the way. But we have folks from Laravelle and Magento two and all kinds of things. But I don't know whether those are as I don't know. I don't see them as exactly community. They're people that use it from those communities and they probably use it. For everything they're working on. Right. Right. Right. Folks should also be aware if for those views that attended or kind of paid attention to what was happening in Dripalcom, Pittsburgh, Randy recently won the Aaron Wynn-Born award within the Dripal community. So that was quite an honor, I believe, for you, Randy. Any thoughts about that? He was just to me the most amazing thing. You know, I don't I won't go into whether I deserve it or somebody else deserves it. There's so many deserving people. That's, but to me, being a part of a community that makes an award like that a primary thing, like they put it at the beginning of the Dries note and they, you know, they focus on you know, integrity and kindness and and mentorship and those those kind of things and community. I just think that's amazing and I don't even know of any other awards of this type in the Dripal community and to think that that is the key one and that it goes on year after year and just reinforces that idea that what we value as a community is kindness and mentorship and community. That's so impressive. I'm so proud to be a member of a community that thinks like that. And it's quite a group of winners that your name is now amongst as well. That is quite an honor. So one more accolade I want to mention here, the results of the 2023 Drupal local development survey have recently been released and I don't know, Randy, you tell me is it surprising that DDEV has the highest share as far as local development environments is? Yeah, I was I was surprised. I pay attention to it and of course we don't really think of ourselves as competitors to the other solutions, you know, especially like Landon, Doxel. There are collaborators. We all face the same issues. We all work on the same thing and we try to help people out in the same way. All good folks, all good friends. But I was surprised to see DDEV pop pop up. I mean, it's been a couple of years since the survey has been done. But I was surprised to see that with DDEV on top there. So do you attribute, well, maybe it's more something I can say because I think I know what the reason for all that is. And you might be too modest to say and we're going to kind of get into some of those things in this interview. So let's first go to something that happened last year. I'm not even sure of of the timing, but for a little while there, the the future of the DDEV project and the support behind the DDEV project was a little bit in flux until the folks at platform.sh stepped up and decided to sponsor you full time to work on DDEV. So how much of an impact did that have overall on the project? Well, yeah, I mean, it helps. So just a little background here, DDEV was sponsored essentially. I mean, the company that used to be called DRAD that lost its funding a couple of years ago had let me work on DDEV and support everybody for five years. I mean, they were generous. They let me and essentially I didn't really want to work on any of the other things they had going. I wanted to work on DDEV and they let me do that and they let me they just let me go when they lost their funding, it didn't actually impact DDEV because I just kept going the same because that's what my because I don't have the big financial needs that a lot of people would have and I just just kept going. I didn't have any concerns, but lots of people in the community did have concerns because they want to see a big name behind it. So and there was a little bit of drama that I won't go into about the DDEV trademark and about the things like that and I even thought I might have to fork the project to give it a new name.
But that got sorted out by platform. So that was a huge win that platform sorted that out. And I should mention that platform has also licensed the DDEV name back to the local DDEV foundation, which we'll talk about in a bit. So it sorted out a bunch of those things. From my practical day to day perspective, it didn't interrupt me. It didn't interrupt the community, but from people's perspective. And of course, from that trademark issue, lots of good stuff done by platform. And it took a lot of work by them to make that happen. I think those of us who are and have been DDEV users, it was a big sigh of relief about any angst about the future of the project just kind of melted away. Yes, all of that. And I'm sure for you as well. Yeah, I didn't have any angst, but I don't want people to have angst. Well, it's kind of a big deal. For those of us that make their living from Drupal, who we need good tools. And if we find a tool we like and it works for us and it's flexible, we don't want to see that tool go away. That's right. So there's absolutely. That's right. Yeah, thanks to platform for stepping up and doing that. And as you can imagine, it probably wasn't it. It wasn't a very easy thing. There were people who were moving on to other responsibilities who stayed to try to make to drive that home and make that happen inside platform. So thank you to all of you that worked on that. So in addition to that, I know that there are a number, including Drupal, easy of folks who sponsor the project on GitHub. So I don't know what the dollar amount per month or anything is like that, but is that going towards other contributors to the project or what's that money being used for? Yeah. So the GitHub sponsors and other ways to contribute. There's many ways to contribute. GitHub sponsors is easy because you just click a button and go for it and it's done. But we have many other ways we can do support contracts and we can do PayPal and all those kinds of things. And we do encourage you to do that. The money that comes in goes to the highest priority is to other contributors. Not to me. I don't get anything. I get a salary from platforms. So there's no impact on me. But we do have two other contributors that have been paid. Simon Gilly and Switzerland and Matt Stein, who's done amazing work on both the docs and the deedev.com. So they have been paid. We have pretty much used up our spare money. So we are definitely, we have a goal of our current goal that we state is about $10,000 a month. Our current income is somewhere around 1500 a month. And we would like to make the project sustainable for the long term and not just dependent on me. And there's a lot of perspectives on that. But one of them is we want to make sure that it's not just dependent on me and only me being the paid person to do it. That other people have the full privileges. So there's many, many aspects to having a full maintainer. We want people to have the privileges and the permissions and everything else that they need to do. And to know how to do those things. And that's a harder job than finding the money. I'm pretty sure that we'll find the missing money pretty well and we're working on that. But anyway, that gives you a quick overview for a small question. Yeah, I know. Well, you mentioned money and there has to be way to manage all that money. And I guess that brings us to the local dev foundation. So what do you tell us about that and its origins and where that's headed? You bet. The dev foundation is just a Colorado nonprofit and it will become a 501c3. That's the US term for a nonprofit that you can do tax deductible donations to, which matters to some people. The local dev foundation will change its name to the DDEV foundation this year because we've got that trademark license now. And it's mostly just right now it's just a thing to have a bank account and to be able to manage infrastructure costs and to pay maintainers. But that's an important, you know, it's kind of a sign or indicator that the DDEV project is not just all about the technology, but it's about building a project that is sustainable over a long period of time. That's exactly right. Yeah. And that's the advisory group, which I know is on your list to talk about every single meeting for the last two years has been pushing on that saying, we've got to work on this. We've got to make sure we've got to talk about all the sustainable issues and the money is of course something that money is the easy part in a way. But it's a fundamental thing. And like you say, it's a pointer to the overall maturity and health of the organization. So you mentioned the advisory group. Tell us about that. So we have a DDEV advisory group. It's an informal group that everybody's invited to. We meet on the first Wednesday of every second month. So our next one will be in the first Wednesday of July. We do it at a time that's good for the US and Europe and unfortunately really bad for Asia and stuff. And I apologize for that. But it is great to have as many people as we do there. Everybody's welcome to it. It's always announced a number of places. I'm always I add people to the invite list as you know, you just say, I'll add you to the invite list. Give me your email. I'll give you, you know, put it on there. But the people that show up every month are really interested in the health of DDEV. And of course, they have a, they probably have a bigger say as far as how things turn out and where they go because they turn up and make their voices known. So that's a, it's a, it's a great group of people. And like I say, they've been pushing on sustainability and financial sustainability for as long as I can remember. Yeah, I've been to I think three meetings now. And like, I don't believe there's, I've been witness to any technical talk. It's all about governance, the health of the project and making sure that Randy is not the only contributor to the project. It's all about just kind of growing it and finding new contributors and enabling folks who want to contribute, but aren't necessarily sure how or what the mechanics behind that are, which kind of leads me into the new DDEV.com, which was actually built by a member of the community whose name is not Randy. Yeah, Matt Stein and he did it on his own initiative. It was a very, and, and it is a non trivial thing that he did. Not only did he build a beautiful new static website that everybody can now contribute to, the repo is DDEV.com-frontend. So everybody can now contribute to it. So if you see a typo or something that's out of date, you can do a PR, which before it was a WordPress site that like, you know, well, how are you going to fix that? So it's fantastic. So not only did he do that, but he successfully imported all of the relevant content from the old DustyDDEV.com WordPress site, which to me is amazing. Yeah. So DDEV.com has, you know, very handy links at the very top to the GitHub project, to the outstanding documentation. It's the home to all of the blog posts, which I think has anyone else blogged from there other than you? Yeah. People have over the years, but mostly it's just me, but you're, I invite you. Right. Yeah. So it's, it's kind of, because I know from me, I always have to, like, when I want to go to the documentation, I know now, but say a year ago, I'd always have to, like, go into duck.go and do like DDEV docs and I'm like, oh yeah, so I'm read the docs.io or whatever that is, but it's nice to have, like, one place where I can just tell folks, it's good to DDEV.com and there's a link there. So it's just kind of a nice addition, probably a long overdue, maybe not addition, but a long overdue revamping of that. Well, he, it's, yeah, it's not just that that he did. He made quick starts that are animated, that everybody can take a look at for every platform. Yeah. And it's really very impressive. He did a lot of documentation. Yeah. Yeah. And he's the gatekeeper for the DDEV docs. He has gone through and looked at every piece with a fine tooth comb and he watches for everything coming into it to make sure that I don't say just so and other things. It's like, it's not. Yeah. He's not just a grammar police. He thinks about content and how you express, how you communicate. He's a communicator. So what are the, maybe prospects is the right word, I'm not really sure, but are there other technical contributors to DDEV at this point? There are. there.
I see some but tell us about you know what kind of contributions you're seeing on the technical. There have been quite a number of people who have made important technical contributions to DDEV, made PRs. It's not that hard to do but it's not as common at all as I would like it to be. So we have one very long-term contributor and maintainer Simon Gilly who's Gilbert's off on all the places. He's got all the keys to everything and is working on some very large PRs and has been very successful with those. But we want more people. So finding people who can step up the ladder from Doc's contributor to feature contributor to maintainer is a key goal and just money isn't going to do that. So one of the things that I talk to a number of people about this whole class of problem at Drupalcon. And I want some of the things that I want. I mean obviously we want to talk. We want to figure out money and we'd like to have some paid contributors. But the real thing is how do you grow a maintainer? How do you build those skills? And one of the key ideas there is that I need to teach people. So we're going to have to have some classes that I hope people will hold me to, we'll talk about, you know, go, we'll talk about. Dedev is really actually, it's written and go, but it's really a hodgepodge of DevOps things. If you know a lot of DevOps, it's not very hard. But you know it's orchestrated by a lot of lines of go-lang. But we have to teach those to people. So giving people a way to grow into that is going to be a good thing. There's been a number of people who have signed up say, well, I want to, I want to do some small PRs and you give them some easy PRs. And they work on them for a while. And that's good. Not everybody has time to keep doing that. I know about contributing. I absolutely know about it. But having some training opportunity for those folks to grow into that and having some public training opportunity seems to me like it has to be really high on my priority list. You should write a blog post about that. Oh right, you already did. Yeah, on ddev.com. It's not that old. Maybe a few weeks ago or longer. How about looking for maintainers? Yeah. You're recruiting and training maintainers. The mistakes. Yeah, May 21st. So a little under a month ago. Yeah. So you mentioned, I mean, this is what is really interesting about ddev is it's not just one language that you in order to be, you know, like grow into the role of like a maintainer on par with I'll say your skills, Randy, because that's the right now. Sorry to say, but that's the bar. That's the highest bar that we have. It's not, it's not like just one skill. It's a number of skills. And then you mentioned training new maintainers. I think, you know, something, and we haven't talked about this, you know, offline as well, but, or either I should say, but why not do something like a either a Twitch stream or something like that when you are actually working on ddev. You know, when you're reviewing PRs or looking at code or fixing bugs, why not just open a Twitch screen stream and let people watch that? That's a great idea. I have never done anything like that. And I have never watched anything like that. I see Matt Glamon does that, right? Maybe I could watch some of his and learn his technique and maybe it would be useful. Maybe it would does anybody actually watch that stuff? See, old people don't know. Would anybody actually watch? I think young people definitely do watch it. Okay. Well, that's who we want to watch it, right? And I think the other big hurdle for folks is always, and I know this just from, you know, being a Drupal trainer is getting that development environment set up. So obviously getting a ddev development environment set up, I'm going to guess it's very different than getting a Drupal development environment set up. So that might be something. And then, you know, for folks who use Drupal day to day, I'm sorry, for folks who's ddev day to day, would they want kind of the stable version of ddev available to them for their work work and then also a development version of ddev for their ddev contributions and things like that. So being able to switch between those two, I think those are all skills that are kind of, I know for me, that's kind of like, I have no idea how I would do that. And maybe it's already documented. I just haven't, you know, gone poke around for it. But, you know, I think recruiting and training maintainers is, it's a big goal. But I think it's one of those goals where it has very logical chunks. So I would love to see, I mean, as, you know, I completely agree with you. I think that's the natural kind of evolution of things for the ddev project is growing the number of contributors. It's, you know, doing the Twitch stream is a great, great idea. We do have some excellent docs. I mean, if you go to the ddev.readeddocs.io, the development tab has really quite a lot on it. And that, you know, it tells how to test a PR, it tells how to test the head version. And because we have such an impressive automated testing suite that runs on so many places, it's usually pretty safe to use head. So there are a number of people who just use head. And they do fine because it's, you know, it's, it's, I'm very, very happy that it's as stable as it is. You are doing my job for me because the last topic I want to touch on, which I'm always impressed by. And I don't know how many people are aware that this exists. But tell us about this ddev testing suite environment. I'm not sure what the noun is that you use. But every time I've heard about it, I think you've actually posted a couple of pictures of it online here and there. But kind of tell us about that because I think that is like super impressive for the ddev project. So we have an enormous number of automated tests that run and they run on not just Linux AMD 64, they run on Linux ARM 64, they run on Windows, they run on Windows Docker desktop, they run on Windows Docker, you know, on WSL2 Docker inside. And they run on both ARM 64 and AMD 64 Mac. And so right to my left, as we speak, there are several Mac minis and several Windows micro PCs because the Windows and Mac are either difficult or expensive to get. Of course, I should say that Mac Stadium has been giving us a sponsored ARM 64 Mac that's one of our ones they give it to us as a donation. It's a very kind thing. Oh, I was not aware of that. Fantastic. We could put them all on Mac Stadium, but they're over $100 a month and that's a lot of money. So we want to spend people's contributions as wisely as we can. And to this point, that means that these Windows and Mac machines are here in my house. And they used to be all castaway laptops, but now they're more appropriate machines, little Mac minis or Windows, whatever they're called, micro, whatever, without a head or a keyboard or anything like that. So is like, do those tests run PRs? And if they do, they run than they get merged? Yep, that's exactly right. So the, I have scaled back, just in the last week, I've scaled back a couple of things. Docker desktop on Windows has been quite unstable. And so I had to be restarted all the time. So I've scaled it back to only on on master commits, you know, when they when a PR gets bold. And I've scaled back the ARM 64 Linux because nothing's ever wrong with it. So those, those only go those only get tested on the, when a PR gets merged. But yeah, I mean, that that just makes a lot of difference that it gets run on all those different environments. But you can imagine that there's a there's instability in that. And most of the data of tests are into in tests, which means that they are, they can be fragile. There's plenty of test engineers who would not approve. But the fact that the Indian tests is, while it's costly, it really, really helps with the reliability of everything. And how long does the, does the sweet take to run all the tests? Well, they're all different. Like as you'd expect the, one of if you want to like test a PR, you basically hit a button or something. How long before they're at least, it's at least three hours. Yeah, the, the Mac M1 usually gets done the fast, just if there's, you know, if there's a runner available for it, and that might take only an hour. But the, you know, like the windows, the, the windows, traditional windows one can take four hours. So, come on. Yeah. All right. Well, I think that about wraps things up, Randy. So I appreciate your time. I've hopefully hadn't missed anything. Well, it was a delight to talk to you. And of course, it's always a delight to interact with the whole community. And we'll have in the, I'm sure in the notes there will be all the links to all the things. Yep. All of the things will be
be linked to in the notes and good luck moving forward with the project and you know and you know that we're big you know I'm a big fan and are the Drupal EZ learning community as a big fan of DDEV so thank you very much for all of your efforts. Thanks so much. Thanks for listening to the Drupal EZ podcast. Don't forget to check out all of our long-form Drupal training courses at DrupalEZ.com and stay tuned for the next episode of the Drupal EZ podcast where I will be talking with Rosie LaFave from the Island Dora project.
Podcast Summary
Key Points:
The Drupal Easy Podcast introduces a new season focusing on open-source projects related to Drupal, starting with an interview about the DDEV project's governance and health.
Drupal Easy offers a professional module development training course, highlighting its curriculum, positive feedback, and upcoming sessions.
Randy Fay, lead maintainer of DDEV, discusses the project's sustainability, including sponsorship by Platform.sh, the DDEV Foundation, community funding via GitHub Sponsors, and efforts to train new maintainers.
The DDEV community uses Discord for collaboration across different tech communities, and the project leads in Drupal local development usage according to a 2023 survey.
Initiatives like the DDEV Advisory Group and a revamped website aim to improve project transparency, contributor engagement, and long-term health.
Summary:
The Drupal Easy Podcast kicks off its season on open-source projects with an episode featuring Randy Fay, lead maintainer of the DDEV project. sh's sponsorship, which secured the project's future and trademark. Community funding through GitHub Sponsors supports contributors, with goals to increase financial sustainability.
The DDEV Foundation manages funds and infrastructure, while the DDEV Advisory Group focuses on project health and growth. Randy emphasizes the need to train new maintainers to ensure long-term viability, noting challenges in technical contributions. The episode also mentions Drupal Easy's professional module development course and DDEV's leading position in Drupal local development environments.
Community collaboration is fostered via Discord, and a redesigned DDEV website enhances accessibility and documentation. Overall, the conversation underscores efforts to build a resilient, community-driven project.
FAQs
The course is called Professional Module Development, offering 90 hours of curriculum over 15 weeks, covering topics like custom plugins, services, APIs, caching, Drush commands, and PHP unit tests.
Randy Fay is the lead maintainer of the DDEV project, a longtime Drupal community member, and a recipient of the Aaron Winborn Award for his contributions.
DDEV is sponsored by Platform.sh, which provides full-time support for Randy Fay, and also receives community funding through GitHub sponsors and other donations to pay additional contributors.
The DDEV Foundation is a Colorado nonprofit (soon to be a 501(c)(3)) that manages infrastructure costs, pays maintainers, and ensures the long-term sustainability of the DDEV project.
The community can join discussions on Discord, attend the DDEV Advisory Group meetings, contribute to documentation or code via GitHub, and provide financial support through sponsorships.
A new static website at DDEV.com was built by community member Matt Stein, featuring improved documentation, quick-start guides, and a collaborative frontend repository for community contributions.
Chat with AI
Loading...
Pro features
Go deeper with this episode
Unlock creator-grade tools that turn any transcript into show notes and subtitle files.