 All right. Hi everybody feel free to drop questions in the chat if you have any questions This is just a short presentation today should take about 15 minutes The topic of today is the Drupal maintainer support initiative The goal of the initiative is to support contributed module maintainers My name is Greg Boggs And you can join me on Drupal Slack in the pound maintainers channel You can also find me on Drupal.org if you want to contact me or reach out about something specific So what is maintainer support The maintainers projects a community organized effort that Damien and I started Damien is an amazing maintainer who helps a lot of people maintain modules on Drupal.org and the maintainer support initiative is a Framework that he and I have built up around supporting maintainers the goals are to Obviously provide support for maintainers but also to improve documentation that maintainers need to learn how to become maintainers and then the secondary goal is to release more modules for Drupal 9. There are Hundreds or even thousands of modules that work in Drupal 7 that don't quite work in Drupal 9 Just because they don't have the care and feeding that they need to get there But having said that Drupal 8 is most likely the last rewrite of Drupal core So if we can get Almost all of the modules are all the popular modules from Drupal 7 and 8 into Drupal 9 and working It should be the last time that we really have to rewrite Modules that are otherwise perfectly working modules and then they should be able to be automatically upgraded through community tools moving forward So the big piece to this is Taking over abandoned projects you find an old module that hasn't been worked on in years you've posted a couple of patches in the issue queue and Nobody responded. It's kind of the usual for a lot of the smaller modules just because nobody is really reading those issue queues So the first thing that you should do is look over the issue queue, especially if it's a smaller module there's probably only 10 or 15 issues small set of open issues and you should just open them and Read them and see if they're Responded to if they're categorized correctly if they have patches that are already working you could mark them correctly so that If there is a maintainer following the issue queue, they're gonna see that you're Responding to the issues and working on the module and generally taking care of things the next step is to Contact the module owner through the Drupal contact form if they have it turned on and then Comment all the recent commit authors on the project You can find their names in the top right hand corner and you just click on their profile and you can reach out and send them an email If they don't have the contact module enabled for Drupal You can grab their company name off their bio many times and click on their company and fill out the contact form on their company website Email template like the one you see in the slide here. I've used 10 or 15 times now and it is worked every single time and that's my process for taking over an abandoned module Usually within a day. I've added to a project and I have full commit access There is an official process for what happens if one of the original owners of the module doesn't respond It's called the event That's and basically involves creating an issue in the webmaster issue queue and Getting ownership of the project, but there's a really important gotcha The gotcha is to be able to claim an abandoned project You must already have permission to opt into security coverage for new modules This is a permission that many old contributors from years ago have gotten just because we were in the Drupal community 10 years ago and everybody got the permission 10 years ago to get the permission now There's a lengthy review process for new modules. First, you have to create a brand new module That's unique and doesn't exist in Drupal, which is a task in itself Then you have to make it Good enough so that it can pass review process and then you have to get Volunteers to review your module and the whole process can take a year or longer If you don't already have the permission to opt into security updates That's the point where you should join us on Slack and we will help because there's several of us who do have the permission And we can follow the abandoned module process for you So Lofty goals we want to maintain pretty much every abandoned module in Drupal, but there are hundreds of them. So How have we been doing so far? We have an issue in the maintainers project, which is a project on Drupal org Where I use a spreadsheet to keep track of the modules that we are maintaining so far There's about 11 new releases as part of the maintainers ship initiative And we maintain about 15 modules total with probably eight or ten volunteers total Having said that, you know, ten modules isn't going to get us to 100% of the Drupal 7 modules to Drupal 9 In fact, Drupal 9 has Introduced some new breaking changes. So the list of modules needing support is actually growing rather than shrinking so as a Twin effort to maintaining old modules and getting them up to Drupal 9 I've also started a module called the backwards compatibility module The backwards compatibility module is not a magic solution that makes Drupal 8 modules run in Drupal 9 But so far it does fix one or rather works around one key missing line of code in the info.yaml file If you've tried to install a Drupal 8 module and it failed Most likely it's missing this one line in the .info file. It should say core colon 8 Back type 9 and if it's got that magic line Drupal 9 will allow you to install it Having said that there's about a hundred or so modules that are missing only that one line and otherwise they would work in Drupal 9 And there's an effort going on right now to get access to those hundred modules and get that one line of code added But until that happens you can just install the backwards compatibility module and all those Drupal 8 modules that used to work three months ago Will work again in Drupal 9 And it's my hope that I can expand that to a few more deprecated Functions or deprecated methods I should say The idea being if there are Drupal 8 modules that are almost Drupal 9 ready and just need a couple of fixes the backwards compatibility modules going to be a great way to get many many Drupal 8 modules working in Drupal 9 So how can you help number one join me in slack in pound maintainers It's become a place where people just ask very straightforward questions about contributed modules sometimes folks try to ask this in The core Contribution channel, but that channel is really dedicated to core and there's a lot of advanced conversations going on there. So it's Quite difficult to get support for you know straightforward questions about releasing a module just because you get lost in the noise And if you come to the pound maintainers channel Damien and I are both there along with several other key volunteers And we can jump in and really move things along The next thing that you can do is triage issue queues the most popular modules in Drupal have Issue queues that are just wildly out of control and they just need a human being to go through and close out old issues Just simply closing out old issues and getting a nice clean issue queue makes it easier for folks to work on If you see a patch in the issue queue ready to be tested you can make sure it's marked as Needs review if it's got a working patch and someone applied the patch and tested it and works you should mark that RTBC or Ready to be committed and that turns it green so that when the module does get maintained That's very clear signal that this patch is ready to go And that work really makes it easier for people to do the commits and releases for modules The next thing that you can do is if you see a patch either in needs review or Or Not tested yet you can apply that patch and test it it works for you You can comment and say it works for you and then mark the issue RTBC Once you've done that Even if you haven't triaged all of the issues in the project, especially if it's a bigger project But you know after you've done a few That email the person who's subscribed to the issues and they're gonna see that you're doing work on the project And that you care about the project so that when you do contact them to get asked to to join the project They've probably seen emails of you already working on the project and The reason that you want to get added to the project is because then it gives you the ability to Edit the project descriptions that you can add additional information linked to documentation fixed spelling errors And you can also create releases If you're not a programmer creating releases will be somewhat difficult step for you But it is very straightforward once you learn how to do it and there's no Programming experience required the biggest thing is learning how to apply patch files and doing a get commit and We're here to help teach you those things so if you're willing to create releases for module the biggest thing is after you make that release testing it and making sure the module Works once you put all the patches together and if you get stuck work, we're here to help and if you are someone who can program the next biggest task is there are a lot of Modules that have working droop late releases ready to go And they're just sitting there in the issue queue as a patch file from two years ago And it needs someone with a little bit more experience to roll that patch file into a droop late release and it's really kind of a Difficult spot that we're in because there's all of this working code That's just ready to go and it's just kind of sitting there And it just needs a smart person to come through and and do a little bit of work to get it rolled into a tar ball package on Drupal.org And it's the kind of effort that takes probably 15 or 20 minutes from a from a programmer But then thousands of people can benefit from the code So we're really looking for that low hanging fruit that allows us to do a little bit of work to have a big impact and Benji is is helpfully pasting links to the chat the Big one here is simply test me So I mentioned testing patches and if you don't know how to apply a patch or install Drupal How do you test a patch? Well, there's a website Called simply test me and what that does is it allows you to spin up a working Drupal site with any patch that you want applied to it with any modules that you want installed and You get a full Drupal site you just go through and you test the feature of the patch and Takes about 10 minutes or so for simply test me to spin up your Drupal site and get your patches applied and everything But you can spin it up on simply test me touch test the patch and report your results in the issue game I Can't say enough about how helpful that step is 90% of the patches that I commit To modules that I maintain are because someone else took the effort to test the patch and confirm for me that it did work and Having done all of this talking now about patches there is a new feature coming to the community soon Called merge requests or pull requests Drupal code switched over to a product called get lab recently and get lab allows us to do a merge request and a merge request is basically a web-based Interface for accepting code from other people the idea being Someone can create a merge request and you can go on to the get lab website And you can press a button and you press that button and the code goes into your project Think once that feature comes out We're going to see a lot fewer abandoned modules because it's going to be a lot easier for maintainers of lots of modules To jump in really quickly merge things up and create releases So That's the maintainer support initiative I Think the the last slide that I would add if I were going to add a slide is where do I want to see it go from here? And I think the two dreams I have are to find one more person like Damian and I to jump in and Be a steward for for module maintainers. I think that that's a big thing just in case the both of us are not available I feel really bad when I miss some questions in the in the slack chat But I think we've got that that piece covered So I think that the last thing that I'd love to see happen is just getting a few more of these Drupal 7 modules that have working Drupal 8 Code ready to go in the issue queue kind of rolled up and released I think there's about four more in my spreadsheet But there's probably 30 or so more modules that are just ready to go and need need a human being to Come and roll those releases and I think a lot of community members You know, they write the patches they post at the issue queue and then they don't realize that the community is Entirely community organized and any one of us can jump in and be the person who makes the module Happen and finishes the work publishes it to the community I mean so that's really the big push here is to make sure everyone knows they're empowered to be the person to create the Module releases and really take that final step to get more green modules ready for Drupal 9 And then the last kind of wishful piece is that backwards compatibility module if we add a few more pieces to backwards compatibility There's a huge chunk of several hundred Drupal 8 modules that don't work in Drupal 9 because of really simple fixes So rather than trying to fix 200 Drupal 8 modules We can put a workaround in the backward compatibility module and then add a couple extra lines of code and we will have access to Several hundred more Drupal 8 modules in Drupal 9 I think it might be a temporary fix, you know, ideally we'd get all those modules in Drupal 8 working in Drupal 9 But backwards compatibility gives us a way to leverage a small amount of effort really quickly So thank you all for listening to my talk about Maintainership and please let me know if you have any questions The slides are available on my talk on the bad camp Session descriptions if you click on the the schedule on the bad camp website You can get the slides and have access to all the links. I think that the big ones are the link to the issue spreadsheet The abandoned module And the link to the project itself, but there's also a link to simply test me and a few other Open documentation links that I thought you might find useful Awesome well Hmm slides not appearing on the session page I'm guessing it might be a caching issue because I just uploaded the final version of the slides But I will paste a link in the I can figure out how to share that share There's a direct link to the Google slides. You should be able to just open them from that Yeah, absolutely can glad to help and do join us on slack You know if you start working on something and you get stuck or halfway done and you want somebody to Finish the effort. You're more than welcome to to join us on slack Okay Right that only to me I think it might work now that I Hit request Thanks Luke. Yeah, if you have trouble getting the slideshow So I'll open my email in a minute and make sure I authorize anybody that requests access I think I Allow it, but not super good at Google Docs. Yeah, that's a great question Benji Benji's asking Do you also want to support module maintainers by having volunteers contribute patches having one volunteer specialized improving read maze and other work on D9 compatibility. I think the big thing to realize is that we're a very small segment of the maintainer community So there's lots of module maintenance that happens completely outside of our support group and Yeah, I'll fix the link in a minute Benji. I just need to Google how to how to click the right buttons in Google Docs But I would say just based on the amount of energy we have in our small group that writing patches is really more challenging than Applying patches and creating releases and there are literally hundreds of Drupal modules that really just need someone to apply that patch Test that it's working and to create the release Having said that, you know, there's always more patches to write but in my experience there are literally thousands of patches just waiting in issue queues on Drupal modules even for super popular Drupal modules and One of the big pieces that we need is just a little bit of bug squatting Yeah, yeah and Google the the docs for Google Docs. Yeah, that's it exactly Also, it's really kind of my my personal interest is really in that creating releases and getting things nice and green and getting all the Tests to pass and making sure the module installs and uninstalls and reinstalls. That's that's kind of my jam The slack channel is pound maintainers on the Drupal slack and I think we've Reached the end of end of time. I know we've got another session starting in six minutes, but Y'all have any more questions. I'm happy to hang out in Your ship or you're free to join me on slack and continue the conversation. Thanks Sam. I appreciate it. Thanks, Benji All right. Thanks everybody for your time