This is a transcript. For the video, see Open source funding with Matt Glaman.
[00:00:00] Michael Meyers: Hello, and welcome to another Tag1 TeamTalk episode, the podcast and blog of Tag1 Consulting. Today, we're going to be talking about funding open source contributions with Matt Glaman. Matt works with Tag1. Is a senior software engineer on projects. He's also a top 10 contributor to Drupal for many years now. He's the co- maintainer of Drupal Commerce and a Drupal Commerce expert among many other areas that he's an expert in Drupal. He's also a well-known author. Publisher of the Drupal 8 Development Cookbook and the maintainer of many popular modules, including PHPstan and the companion Drupal Check Runner, which we're going to be talking a lot about today.
[00:00:40] Matt, thank you so much for joining us. Really appreciate it. And excited about talking about this with you.
[00:00:46] Matt Glaman: Yeah, thanks for having me. I'm excited.
[00:00:48] Michael Meyers: Wow. So at Tag1 we’re major contributors to open source projects. And so we're doing this series, you know, talking with founders and top contributors of popular projects to try and encourage everyone to do more, to support the open source projects that they rely on and help more open source developers like yourself, get funded and, you know, to really raise money for, for open source.
[00:01:12] And so to our listeners, if you haven't already please check out some of the other talks in this series, which include Marjin Haverbeke the founder of CodeMirror, ProseMirror and Acorn talking about, you know, his getting his projects to sustainability and Dries Buytaert, of course, the founder of Drupal talking to us about open source sustainability.
[00:01:31] We'll put those links in the show notes. So Matt you kind of made, you know, waves and, and some big news. About a month ago, you, you wrote this blog post announcing that you're going to be putting development for these two really popular and widely used modules, the Drupal Check and the PHPstan on indefinite development hiatus, you know, that, you know, the idea that they weren't going to receive any more development or even maintenance until you received more funding.
[00:01:58] I want to dive into that, but first, I'm not sure that everybody understands what those modules are, you know, the critical role that they play in, in the ecosystem. So maybe it's worthwhile to step back a sec. Can you just give us a sense of, of all of that?
[00:02:12] Matt Glaman: Yeah. So I'll step back to, there's a tool called PHPstan.
[00:02:16] And it is a static code analysis tool. There's another popular one for PHP called Psalm, but about two years ago, I was doing review on how can we do static code analysis for Drupal to, you know, productized code reviews of a sorts and PHPstan was easier to integrate with because Drupal has oddities, we'll say in how it does autoloading.
[00:02:39] So I wrote the PHPstan Drupal extension and the product that was going to leverage it didn't pan out, but it turns out that PHPstan had a deprecations extension, which let you find a code deprecations. And this was occurring around the same time that Drupal 8.seven got released and the community was looking around like John [00:03:00] Travolta going, how are we going to get to Drupal 9?
[00:03:02] We have all this deprecated code. So. I wrote the PHPstan Drupal extension, and we were able to analyze Drupal code and find deprecation usages. And I made a blog post announcing that. And then I actually got an email from Dries saying, how cool would it be if we had a Drupal Check tool that would like automate the whole thing because setting up PHPstan configuring it, wind up the extensions.
[00:03:25] It, it wasn't as easy as it is now. So Drupal Check was a wrapper around PHPstan and phpsend Drupal to try to make a one-stop shop, easy way to do static code analysis. Well, this really caught on Drupal.Org has a Drupal CI runner that analyzes the entire ecosystem and checks the overall deprecation status.
[00:03:46] Gabor has integrated that into a dashboard on dev.Acquia.com/ I'm not, I can't remember the URL exactly, but it pulls in that entire output of PHPstan and deprecation rules through this extension. I know countless organizations run Drupal Check in their CI process. It was added to, I think, BLT or BLT.
[00:04:06] The build launch tool by Acquia has PHPstan Drupal integrated into it to do deprecation checks. So it became a major backbone in the Drupal 8 to Drupal 9 upgrade process. And, you know, most people use it to make sure their code like any, if anybody is upgrading, it is the one way you find deprecated code.
[00:04:26] Some people might say like, well, I'm not using it. I'm using the upgrade status module. The upgrade status module runs PHPstan under the hood. So the entire backbone of our major version upgrade infrastructure is tied to this tooling, and, Yeah. So it's, it's really embedded into the process. And now that we're ramping up development for Drupal 10, yeah, it's coming.
[00:04:50] It might feel like, already?, but we have to start planning for things and Drupal 10 readiness is coming. And that meant that the Phpstan Drupal [00:05:00] package needed to get updated because it was currently built for Drupal 8 code, but we still have to test Drupal 8 code to make sure people can get from Drupal 8 to Drupal 9 or Drupal 10.
[00:05:11] And it's a really integral part of that ecosystem.
[00:05:15] Michael Meyers: How much time are you putting into this? You know, forget about all the other stuff you do for Drupal. Just this I'm curious.
[00:05:22] Matt Glaman: I'll tie into, there is a bug that made us. There was a fun bug that prevented us from upgrading to the latest PHPstan, due to a PHP unit compatibility trait added in core, it checks, it uses on the fly class alias trait.
[00:05:39] Aliasing rather to see if you have PHP six or seven. Well, when upgrading to PHPstan, it broke like you couldn't analyze Drupal code at all. It just broke once you upgraded to like, I think Drupal 8 dot 9 is when that class was added. So I spent at least 30 hours trying to figure out why I couldn't figure out why.
[00:05:59] So I found a version of PHPstan that worked, and I pinned it to it. Well, then I received issues and I wouldn't say complaints, but you know, there are complaints saying, you know, they were nice about it. Nobody was mean, but in the end it's still a complaint of, we can't use PHPstan in Drupal in the latest PHPstan.
[00:06:18] And I was like, well, I don't know why. So I finally sat down. I did a live stream of it, and I wrote about it in a blog, but that was a pro I spent probably 15 hours just going through that. And then finally, a month later I did the live stream and I think about two hours, I sat down and I found out it was due to not PHPstan, but the PHP parser library, that has an abstract syntax tree of PHP.
[00:06:45] It added PHP 8 support and around optional attributes for traits. It broke the analysis of the class or the tree alias or class alias call. So I had to go all the way down to the stack. So I found out why it broke and then it's been another 20 hours trying to understand how the PHP parser library works and the abstract syntax tree parser.
[00:07:07] I know in that blog post, I mentioned, I have all the links to this stuff and I wrote all the GitHub issues and tried to like, just dump knowledge. And yet it got fixed by Nikita who maintains that package. And I am so thankful because I had no idea what I was doing, so that release went out and then PHPstan updated their release.
[00:07:24] And tagged a release and then PHPstan Drupal could depend on that and went there. So overall this one bug that was blocking it, I spent at least 60 hours and that's like, not work time. That's like my nights, that's my weekends because it wasn't, you know, paying my bills. So like I was dedicating some nights, I'm like, I'm going to finally tackle this.
[00:07:44] Well, then I get grumpy because I stayed up accidentally too late. And the next morning I'm like, Oh, I didn't solve it. And I didn't sleep very well because I stayed up late working on it. That's just one of the problems too. Like there's been a handful.
[00:07:56] Michael Meyers: Yeah. It's you know, I think this is a story that we hear from a lot of top contributors is it's such a labor of love.
[00:08:02] And I, you know, I love you talking about it because I don't think people really understand the gargantuan effort, you know, that it takes to do these things. And so is that ultimately why you decided to. Put this on pause because you were working another full-time job just on this one module.
[00:08:20] Matt Glaman: Yeah. It's one of, I said, this has to stop.
[00:08:23] Like I knew that the wall was coming with Drupal 10 readiness, I was getting some pings in the Drupal 10 readiness channel in Drupal Slack. And I was like, you know what? Like I was at the point where I was like, I'm just going to unpublish the package. It was that it became like a toxic thing.
[00:08:38] Like I was, I knew that I had this burden to work on it and make it work because it is the backbone of the Drupal major version upgrade. It's it's going to be used for when we get the Drupal 11, when we upgrade any Symfony version that I was like, I can't do this. And I needed to raise the flag and be like, look, if we need this infrastructure, like we have to [00:09:00] do something.
[00:09:01] So I decided like, okay, instead of, you know, going. Nuclear, like unpublishing the package and going underneath a rock and disappearing. I was like, I'm just going to make an announcement. I'm not going to work on this unless I figure out a way to pay for it. Which luckily some funding has come through, but it's just one of it.
[00:09:20] The problems can be so hard and take up so much time that I couldn't just take my nights and weekends. I have three kids, I got a family. I want to spend time with family. I'm not like I'm not single and young that wants to just code all night anymore.
[00:09:36] Michael Meyers: Yeah.
[00:09:36] I think that's an important lesson. I, you know, it's something that came up with both Dries and Marijn is that, you know, asking, you know, a lot of, you know, people working on open source, either aren't asking, or aren't effectively asking for money and that's not the solution, but that's a really important start is sort of crafting that ask and going out to people.
[00:09:59] So, you know, you had been raising you know, a few dollars on GitHub. Can you give us a sense? You know, you, you, you were raising a little bit of money. You, you made this big announcement and you were able to raise a little bit more money. Could you give us some insight into how you were doing it, the tools, the kind of money, what changed after.
[00:10:19] Matt Glaman: Yeah. So at first I've tried to do funding for open source for a while, cause I also run contrib Kanban, which takes drupal.org issues and creates them into Kanban boards to make sprinting easier. And that has an open collective and I've used that to help raise some funds to maintain it.
[00:10:36] Now it doesn't require a lot of maintenance. Like it just it's a Drupal site with React and it just kind of runs itself. But I wanted some way to like get funding and Amy June has worked with Camps, to set-up sponsorship packages for tooling. So there's like a few camps. I ended up with like $250 here and there.
[00:10:55] And that basically covers the maintenance for the year. It's hosted by Amazee and I just have to run Composer Update most of the time. So it covers my time to maintain it and keep the tool running. But for things that are more active, such as like any Drupal modules or PHPstan Drupal and Drupal Check, like that requires a lot of maintenance and that's around when GitHub sponsors launched. Cause I know a lot of people use OpenCollective and it seemed like a hit or miss. I was like, well, maybe GitHub sponsors will have more traction because it's built into GitHub. So I created that and made an announcement and I got a lot of initial sponsors by individuals though.
[00:11:31] And it was making about, I think, 60, maybe that was in the fall. So about six months ago, let's say, and then that was making about $60 a month, which covers about 45 minutes of development. But you know what, that 45 minutes can get a lot. It can get issue queues answered. And what it really did is it felt like, all right, I was able to buy my coffee for the month, could buy two bags of beans and spend time in Drupal Slack, knowing that, you know, there's some benefit to it.
[00:11:57] But that, but as the, like I said, as the Drupal 10 wall was starting to come, and I knew that this needed more, I put on another call or rather, sorry, after I made the decision to pause development, I received more sponsors undpaul agency out of believe Germany stepped up and became an organization sponsor, which is a hundred dollars a month and that covers one hour development.
[00:12:18] So that jumped it up quite a bit. And then Intracto from Belgium also did that, they're doing it for one year. So they become another organization. So I was able to jump from about 60 to 115 to now I think it's a $266 a month, which is amazing because that covers two and a half hours of development, which once were after this major maintenance, or once we're after like a lot of this initial push, that might be enough just to kind of put it in autopilot and figure out ways to do specific funding for features.
[00:12:50] Which is some feedback I got, you know, some people are willing to pay monthly, but it's also good to have. Here's the task. Here's the estimate? How much will it take? So I sat and I did like a quick estimate on trying to get PHPstan and PHPstan Drupal and Drupal Check ready for Drupal 8 and pH or sorry, Drupal 9 PHP 8.
[00:13:11] I'll always get those tongue tied. And I was like, I don't know, 20 hours, two grand, like 2000 US dollars will get me enough time to work on these, get them maintained and in status. And then the goal was to figure out how to collect that money because GitHub sponsors, doesn't let you do single one-off donations.
[00:13:29] So I signed up with Open Collective because that is what Open Collective is great at for one transparent expense tracking and donations or funding, but also for one time contributions that's kind of where things are positioned at the moment.
[00:13:44] Michael Meyers: And that 2000 came from
[00:13:46] Matt Glaman: Yes, I set that as the goal.
[00:13:49] And then out of nowhere, I got a ping from Mike Hershel, who's one of the organizers at Florida Drupal Camp that they had a bunch of money in the bank from the sponsors. Like, because everybody, apparently everybody, a lot of organizations spent extra marketing dollars and they had lower costs. So they, they said, look, we want to fund the development.
[00:14:10] So I received $2,000 in sponsored development from Florida Drupal Camp to be able to work on getting the tooling ready for Drupal 9 and PHP 8.
[00:14:20] Michael Meyers: So, you know, talking about putting asks out there, you know, giving concrete asks, I need this amount of money led to an organization, you know, doing it, you know, and I, you know, I don't want to say that you have an unfair advantage, but you're, you know, you're one of the top Drupal contributors.
[00:14:36] You have a very prolific blog, you know, you have a lot of reach. You know, I think a lot of people don't have anywhere near, you know, that exposure, you know, and that's just something to keep in mind for the people that are listening, you know? It's, I would think it's even more challenging for others to kind of raise this kind of money, which you know, is a big problem, you know, you know, we need to raise more money.
[00:14:57] And it's crazy. So, you know Drupal Camp, a lot of, you know, some of that money comes from organizations. You know you mentioned earlier you have a a problem. I don't know if that's the right characterization, an issue with individuals funding versus organizations funding, you know, what, what's your opinion on that?
[00:15:15] Should individuals be funding you?
[00:15:17]Matt Glaman: I mean, I won't say no. Like if somebody wants to tip me, like, that's fine, but there's a problem when I see $25 a month coming from someone and not their company because that's their money that they could be using for themselves for their future, for their retirement.
[00:15:33] Like I saw somebody post on Twitter, like, Oh, well, you know, I canceled my cable bill because they wanted to finally cut the cord, but they talked about reallocating that for. Sponsoring open source developers in my mind, I'm like, what is wrong with our ecosystem? When somebody is saying like, I'm going to better my future too.
[00:15:52] I'm going to use this money to fund open source out of like, not like profits from their business, but like they cut cable. So now they've got spare change and they're going to put it to another developer. I admire that. But to me, that's just shows there's a bigger problem where individuals, instead of necessarily taking care of themselves are taking their excess and giving it to other individuals.
[00:16:14] And what we're going to see is this kind of round change, like I'm sponsoring Jeff Geerling and then he's sponsoring me. I'm giving him $5 a month or 10, and he's giving me a dollar. It's like, at what point are we going to see this roundabout change? That it's all fake. Well, not fake, but it's just the money is circling in the lower tier, but it's not funneling top down.
[00:16:35] And that's my concern is it just feels like it's great. I appreciate everybody that is doing it. But to me that's not healthy. So it's not necessarily a problem, but I take issue with it is, it seems, it's like a, you know, if all of a sudden you had like a rash and then you found out like, Oh, this was, I have skin cancer, you know, it's, it's, it's a troubling sign.
[00:16:57] Michael Meyers: Yeah, no, I, I agree. You know, the individual canceling their cable bill that is disconcerting. I'm okay with, you know, if you a Drupal consultant and you're making a really healthy living off of Drupal and, you know, you want to give back to some of the, you know, features and functionality that, that empower that, you know, I don't think that's a bad thing.
[00:17:18] But I would much rather this, you know, come from the organizations that, you know, you're working for, you know, cause they're making a very handsome profit on, on top of that. And so you know, I, I know you've written a lot about this. You know, what are some of your ideas, you know, how do we, you know, how do we move towards more sustainable paid work on open source projects?
[00:17:43] Matt Glaman: That's a really good question. And I've been trying to think of it. I've been thinking about it before. I even like started my own company and moved on to new ventures. Is to one idea was gated releases. I don't, this is where we get into like the WordPress plugin ecosystem territory. But the problem is like, I don't like the WordPress plugin ecosystem.
[00:18:05] It is, it is a very, it is a pay to play. There isn't like an open repository of plugins. There's, you know, 10 ways to do one thing that you pay for. But I do believe in this idea of paid gated releases that you pay for early access or it's a specific module that extends something. So you pay for that, that special like sugar on top.
[00:18:31] But I think actually I've been reading about it and the new way of calling it is Sponsorware. I know the folks behind React PHP are doing this, Clue Engineering, where if you're a sponsor, you get access to these cool, innovative, private packages. And then after a certain amount of time or after certain amount of sponsors, they open source it, or it stays private.
[00:18:53] Now they're doing this all through GitHub sponsors. There's another blog post I'll shared with it's the person who created, I believe it's called LiveWire and they're very active in the Laravel community. And that might be who even like helped come up with the term SponsorWare, where it's get sponsors, write private code, after six months, it becomes open source. But by sponsoring you get access to these fancy private features. And I think that's one way we have to do this. And that has a very icky topic in the Drupal community. So it will take a lot of discussion because one problem I see is there's no infrastructure for this.
[00:19:29] So it's an icky topic for me because there's no accountability. That's why I don't like the WordPress ecosystem, the paid, sorry, I'll say the paid ecosystem in WordPress, because I've had problems where I've paid for something, but the quality's not there and everybody has their own infrastructure for selling code.
[00:19:47] So I feel like we need it's something like how we have packages.org. And we have NPM.JS, like, what if those had a way to buy a license in the package manager like that? That's what I'm seeing is like we need our package management systems to have a way to support licensing, not necessarily developers standing up their own e-commerce shop and selling code through a paywall.
[00:20:12] So that's, that's that's one way That was thinking like, you know, open source is funded or obviously the go-to is selling a SAS. Opensocial, opensocial is a, the Drupal distribution. They contribute, but the way they make money is hosting their distribution as a software, as a service. That's what Centarro is doing for Drupal commerce, right?
[00:20:33] Drupal commerce is remaining the open source e-commerce platform for Drupal that's full stack or headless, but Centarro commerce is the headless e-commerce platform that you subscribe to, you know, that's but that's kind of the typical model we've always seen is you sell support or you create a SAS, and then you have the open source code dangling out there.
[00:20:58] Michael Meyers: But there really isn't the infrastructure out there for everyone to create a SAS solution. Like that works really well for Centarro because it's a, it's a really meaty product and they have a team that can build that infrastructure, you know? So, so one of the challenges to people that are, you know, providing fundamental contributions is it's, it's difficult if not impossible for them to productize things.
[00:21:23] I really liked this gated release model because, you know, one of the things I struggle with is that, you know, One of the amazing things about open source is that it's open source. You know, it's, it's it's free and that is what leads to proliferation. You know, if we were to make it proprietary software, you don't know one would use it.
[00:21:41] So it sort of violates a lot of the fundamental tenets of what makes open source so great. And the gate and releases reminds me, it's, you know, it's basically the old enterprise RedHat model where you have these advanced releases that eventually become open sourced. And so it's, win-win, you know, people still benefit from the current release and the people that are supporting and funding you you know, get that.
[00:22:01] And so with that, you know, just so you would have to get that off of a different repository than drupal.org that special sauce.
[00:22:08] Matt Glaman: Yeah, that's what I said. Like we need, like, I wish we had an infrastructure for it. Like our package repositories could have that built into it is, you know, a gated release also.
[00:22:19] There's one other benefit besides getting access to, you know, code, is you're ensuring development and stable releases, recurring stable releases. Like if you look at a lot of Drupal modules, it's like, Hey, the maintainer finally had time. And after a year and a half, we got a release, Oh, three months later, they're still working on it.
[00:22:37] We got to release and then there's nothing. Or you know, no shame to the Drupal commerce community, but like in the seven dot experience, there's a lot of like dev modules. Like half of everything ran on dev because things just never got to take to release because it does take maintenance time. Right?
[00:22:53] It's not a lot of time, but to create a release, isn't like a 30 minute process, tag it create a node, add release notes, but gated releases basically pay for that overhead cost, the non-developer time and ensure that it receives, you know, attention beyond just feature development.
[00:23:12] Michael Meyers: Yeah, it helps, you know, it helps address, you know, part of the tragedy of the commons, you know, companies are going to keep taking and taking and taking because it's free and they're not forced to give back.
[00:23:23] And I don't think that, you know you know, they shouldn't give back out of the goodness of their heart, you know, so you know, this isn't about altruism. It's about, you know, helping them recognize the value that they're getting for and getting them to pay for that. And, and when it is purely free, there there's no incentive for them to do.
[00:23:42] So, you know, so it's about providing incentives and disincentives and, and that's why I think the gated release model has a lot of potential.
[00:23:51] Matt Glaman: Yeah. Yeah. It's one of, out of the goodness of my heart. I like to pay my taxes because I know what it gets benefited too. But if my CPA's like, [00:24:00] Hey, we can save you money.
[00:24:01] Obviously like, Oh great. Like let's find a way to do it. So it's one of, if there's a way to take advantage and protect your coffers, that's instinctively what you do. It's like a survival tactic of a business, but once it becomes a necessity, you're incentivized to pay for it because there's a reason to now you can justify the cost right now.
[00:24:21] There's no, it's hard to justify those costs. I'm sponsoring DDEV and Lando $10 a month right now. I want to up it up to be a hundred dollars a month for both. Once I have enough profit from my company, I'm not going to take my open-source funds and funnel it there. But from my work and my profit, I want to bump it up because I know I can not work without those.
[00:24:41] But if you look at their sponsors, there's not many organizations. There's a few like hosting agencies are because they've worked out deals to have like their local environments, but like there's no company that could work without a local environment. And how many of them are paying for that? Like, you know, do we really account for how much we get for free?
[00:25:01] So that's my other concern is what happens if everything does get a gated to release and then they charge too much. So I do want to find like, then nobody can work. So like I liked the idea of gated release, but we need to find a pricing model that works. And I think that's where the economics of scale come into account.
[00:25:19] You know, there's 10,000, like let's say a module has 10,000 sites. If even at that point, charging a dollar a month would almost be an absurd amount because, you know, $10,000, like $10,000 a month to maintain that module that might not need that much maintenance. So there definitely has to be an infrastructure discussion and then a pricing model one you know, One thing I thought would be interesting is how see, like in a continuous integration environment, how you pay for your build minutes, is finding a way, like, based off your downloads.
[00:25:53] Now, granted, somebody's going to find a way to have to download the package less. But if there's, there was a way to like, find that usage and be able to like generate revenue off of that usage. There’s a company out there they're called Tidelift that is trying to do something like this. Tidelift is more for, I believe like licensed and security compliance than solving
[00:26:14] like you downloaded this package so many times. But it pays, it basically pays maintainers to ensure that they meet their licensing and security compliance needs for the organizations using their software. Drupal and PHP. Probably not as much, but like the Go, Rust and Java environments, I feel like that's where it, it, it pays to have that kind of integration.
[00:26:36] Michael Meyers: I want to see open source modules, send companies a bill, like just an invoice. Here's, you know, here's what you should pay us. You know, you don't have to pay it, you know, but, but make it seem pretty real. You also gave me a really great idea, like why aren't open source contributions, like tax deductible.
[00:26:56] **Matt Glaman: **Right. You know, they are, if you track it right. I know in Canada they do have an R and D like, so there is like a re research and development tax credit, but you have to, like, you have to log your time. You have to be very specific. It has a lot of overhead. Yeah. I believe the United States has one, but again, the United States, everything is based per state and then it might even be per County.
[00:27:20] It's like that. Now you have to know how to understand your state laws and that's where you have to pay a CPA, and how many open source contributors are going to sit and when, how many open source contributors have their own LLC and a CPA? How many are going to ask their CPA? Like, Hey, I spend seven hours a month doing R and D or open source development.
[00:27:40] Can I write that off as R and D? Well, do you have to now prove it's for your business? Like, well, I just do it like there's, I mean, I got stopped at the Canadian border because the person next to me said like, well, I do open source work with the company from here. And like, are you evading labor laws? So I, like, I got paused at the Canadian border.
[00:28:00] I was like, I expected this coming back to the United States, not going into Canada. But it just shows like open source. Is this gray area of, is it research and development or is it something else? You know? Yeah. It's, it's a hard, it's a really weird area right now.
[00:28:19] Michael Meyers: Yeah. And open source. It's so much more, I mean, it's, it's the norm when we started working on this, you know, not to date ourselves, it was, you know, not something that a lot of companies embraced, you know and that's completely flipped, but it's still, you know, poorly understood generally speaking.
[00:28:36] So I know this is a very contentious topic, but I'm going to bring it up anyway. Cause I, you know, I think about it a lot. Why, you know, you talked about the WordPress ecosystem. Why not a module marketplace?
[00:28:50] Matt Glaman: It's one that I would love a modular marketplace if the Drupal Association ran it. So WordPress.org is a plugin repository, but if you need to buy a plugin, you'd go to the third party site to purchase it. You know, Gravity Forms is by Rocket, whatever, you know, but you have to go through their licensing system which is honestly is fine. You know, there's Code Canyon, there's Theme, Forest. I believe Super Themes who I saw just like renamed to like DX RP or something like that.
[00:29:20] You know, they have their own, but I know to build like the trust factor, on Drupal.org through the Drupal Association, you know, is this a way we can fund our security team? Like, not only are we going to fund open-source maintainers, but is it a way to pay our security team by having it be centralized on drupal.org?
[00:29:38] You know, I know a lot of us are all about decentralization, but sometimes centralization is a good thing for trust and for organization. Obviously this would be a big ask to put on the Drupal Association, but let's say there was like some kind of like some kind of module marketplace where there could be some kind of licensing.
[00:29:57] Is this now through the scale of, you know, the economics of scale, because think how many sites are doing it, how many people might subscribe this could scale to be very large in terms of revenue, revenue source for the da, for the security team for module maintainers, it instantly becomes a way that we could distribute these funds to help have a thriving ecosystem.
[00:30:21] Michael Meyers: Yeah, the DA is they, they do a lot and their mission has expanded tremendously. You know, when we originally created the DA, there was a firewall, you know, they could not be involved in Drupal development. You know, they had a very specific mission that was outside of the code. And over time they've greatly evolved.
[00:30:40] You know, it's not just things like conferences that they run. They're running drupal.org and all of our tooling and they're helping to enhance modules. And I don't, I don't know that everybody understands that because we made such a big deal in the beginning to say they don't do any of that. So, you know, one, we're trying to raise the awareness of what the DA does and, you know, I, I, you know, the DA is so strapped.
[00:31:01] So, you know, I don't want to say they should do this, but like a lot of projects, you know are funded by enterprises through uh, strategic alliances or, you know, foundations where, you know, the Linux Foundation has said, okay, you know, we've solved the problem for Linux. Let's replicate that model for all the other organizations out there and sort of copied and pasted it, provide them with the infrastructure to do that.
[00:31:27] And you see enterprises coming together to work on projects. And I, you know, I, I think, you know, having worked on this a lot at Acquia, you know, through large scale Drupal and trying to get enterprises to support Drupal you know, my, my. My guess I can't concrete prove this, but like, you know, the companies that are contributing to the Linux Foundation sort of run projects tend to be more tech companies, you know, Microsoft getting together with Google to form an Alliance or Intel, you know, these companies fundamentally understand it.
[00:32:00] Whereas if you look at the users of Drupal, sure, there are the Teslas, you know, some tech companies and the SpaceX's, but there's, you know, predominantly educational institutions and media companies. And this is so far outside of their wheelhouse. And a lot of times it's, you know, marketing teams and, you know, not necessarily, you know, the underlying it teams that are driving the budgets for this.
[00:32:23] And so, you know, I, I'd love to find ways to get these organizations more involved, but it's, it's extremely challenging and time consuming. So, you know, something, you know, more along the lines of what you're describing, I think is, is. More within the wheelhouse of what the DA is geared to offer, you know, they're so resource constrained as it is.
[00:32:43] And you know so that would be really cool to see them get more involved on, on that front. You know, do you see a path forward? You know, do you see things getting better? You know, if, if we look 10 years from now 20 years, is this going to be a solved problem or is, you know, open source, just fundamentally broken.
[00:33:01] Matt Glaman: I think it's going to get better, but open source is fundamentally broken. You know, like it's one of it's built upon volunteering, but that's the, so that's the amazing part. Right? I got my start because of open source. I always, I would like code as a hobby. I didn't think it could be a job. Then because of WordPress, I found Drupal not gonna lie, found Drupal in like 4. whatever, saw the word taxonomy.
[00:33:27] I said, I don't know what that is. And I never touched it again until later on in my life. But like, because of WordPress here, I said about the plugin ecosystem, but there are WordPress is open source. Plugins are open source. I fiddled with that. I got my first job. Then I found Drupal. I started contributing, was able to contract and now I've been able to make a life off of putting that hustle by putting that hustle and contributing.
[00:33:49] But then once I shifted from just contributing to hustle, to make a living, to maintaining that's where the shift becomes different. It's one like open source is fundamentally broken because it requires free time and volunteering, which can be okay because it does allow people to hustle and try to do more.
[00:34:11] But that makes it broken because it requires free time in volunteering at the same time. It's a double-edged sword. Yep. But I think we'll find ways to help the people who find themselves from just, I'm just contributing to all of a sudden, like in this vital role as a maintainer to a project that depends on many, many things, depend on to find a way to sustainably maintain them or to fund them.
[00:34:38] And I hope we find a way that it's not like you brought up tech companies. Yeah. Like look at Drupal who funds everything, the hosting companies, but they're the ones that have the most profit and margin compared to agencies. So yeah, if you look at like Vue JS who funds it, it's big tech companies.
[00:34:55] It's not necessarily the agencies, but it's tech companies that have the margin. The, the providers will say, we'll call them providers over agencies. Drupal doesn't have enough providers to fund it, like we might see in some of the other open source projects, because it's mostly agencies or education, educational organizations who already have a bootstrap budget as it is.
[00:35:19] So I think it'll get better, but it's just, we're always going to be flawed.
[00:35:24] Michael Meyers: Yeah. These, these SAS and past companies have amazing margins. You're right. I think, you know, I want to shame agencies here a little bit, you know, frankly, like they make a killing off of Drupal and, and I think, you know, Dries and the Drupal community have done a really great job of incentivizing them to contribute code through the marketplace and ranking organizations based on, you know you know, kinds and levels of contribution.
[00:35:49] You know, you're going to appear higher in the list, which is going to drive you more business. So again, it's about finding incentives and disincentives to enable you to contribute, and that's great. It's not, you know, directly funding other open source developers, but you know, it's a model that works that we, we need to grow on, but you know, Tag1, we have a full-time resource that we donate to the Drupal Association. We run all of the tooling, like. You know, we are not the largest agency out there. We're not small, you know, we're around 75 people right now, but you know, there's no reason that other agencies can't be doing the same and, and some do.
[00:36:26] But they're certainly making a healthy profit. And, you know the, the other thing I wanted to say is, you know, contributing to open source is really, you know, again incentives for individuals, like there is a ton of incentive to contribute, to open source projects for the reasons that you mentioned, you know, it's, it's better than a CS degree for a lot of people you're learning hands-on in a real-world scenario.
[00:36:49] And, you know the number of people that have, you know, cut their teeth on a project like Drupal and now have amazing well-paid careers as a result of participating in [00:37:00] the community is awesome. So there's tremendous benefit in getting engaged and involved, but it's that tipping point, you know, it's, it's when, you know, it's that small number of contributors like yourself that are contributing the vast majority of the code, you know, the, the one percenters, you know, even like the fraction of a one percenters that are, you know, driving, you know, 95 or 90, even 98% of what's going on in the Drupal community.
[00:37:26] It's a really small number of people that are playing a critical and important role. And you know, it can't just be Acquia funding them because that's not healthy for the ecosystem either. You know, you don't want one organization controlling the platform. And I think Acquia is cognizant of that, you know you know, they don't want to be in the position they are, but they kind of have to be because no one else is stepping up.
[00:37:50] Matt Glaman: And so, I even like called that out in one of my blogs. I was like the problems I see with open source funding individuals and Acquia and no, it just, it does make me mad when some people are like, well, Acquia, this I'm like, they do try to be as, you know, independent. Like they try to like, they they're mindful, but I don't think people realize that if Acquia pulled their core development, like their funding of core developers, like we'd be in trouble.
[00:38:16] And I mean, most open source projects are like that. Right. There's always like the one big one, no matter what, but we do need to try to get more players in the game. I think if anybody has time to like read up on the Kubernetes project and how that morphed from being the Google project to here, I believe now it's only like one third of the maintainers are Google employees, the rest are from other companies. Obviously they have a lot more subsystems. They can get maintainers, but you know, maybe that's one thing we need to figure out too, before we figure out like contrib maintainers. If you open up the core maintainers dot text, there's a lot of question marks, things that aren't maintained.
[00:38:53] And it's one of, I've thought about trying to jump in about like, why, why would I put that? Why, why would I do that to myself? Like, why am I going to add more stress? I'm finding ways. I am finding ways that I plan and trying to get more into core and other things. But that's the question. There is a way we can like set up a fund.
[00:39:09] I believe we try to do that. Before where we set up some kind of like fundraiser, the Drupal acceleration program, I think for D8 to get D8 out the door, there was a program where organizations donated money and it funded core developer time, but that was a one-time stimulus to the arm of getting Drupal 8 out the door.
[00:39:29] But we need to find a way to sustainably do that. Yeah, over and spread to other organizations. They can't, and I think one problem too, is it feels like it has to be big dollars, big chunks, 1%. If there's a way you could give 1% of your profit, even if 1% of your profit is 1% of your revenue, the economics of scale make it work.
[00:39:54] That little change could make it work. And, but the problem is how do we, how do we, how do we let it work? Or how do we build a system that makes it easy for agencies to say, yeah, I will give $5 a month to help sustainable development. Well, we could probably pay like four core maintainers. If we were to get every agency to pay five bucks a month, you know, it's just, how do you.
[00:40:19] How, how do you propose it and how do you make it a justifiable business costs? So that way, when they tell their CPA, Hey, I'm paying this much a month. They're like, why are you paying that when you should be doing this? You know, or their accountant, any anybody in finance, you have to justify the cost because otherwise it's like, no, that should go towards something else in the company.
[00:40:40] Michael Meyers: Yeah. And again, finding those incentives, tax deducts, tax deductions, and other ways to get these companies to contribute. It's not that the companies don't have the money you know, with Johnson and Johnson's, and the Pfizer's, you know, these are, you know, fortune 100 companies. They have plenty of money to, you know, fund, you know, the, the, you know, Drupal and, and they're [00:41:00] certainly using it pervasively, every Pfizer website runs Drupal and, you know, they're probably the, the, the, the model for corporate.
[00:41:06] You know involvement in Drupal, they're amazing in their approach. You know, if, if other companies took a fraction of their model and applied it to the community we would be the most, you know, successful, you know, an advanced project out there. And, you know, I'm hopeful that we'll get there. But I, I agree.
[00:41:25] I think, you know, I think there's sort of a fundamental flaw and a careful balance, you know, and it's, it's not an easy problem to solve. We go too far and we stifle all the benefits in goodness of open source. We don't go anywhere near enough and, you know, projects fall over because they just don't have the sustainability.
[00:41:43] So. You know, it's about finding that, you know, walking that line. And I really appreciate you talking to us about this. This, this was awesome. This was really great. And we'll put some links in the show notes to your blog posts on this, which are fantastic. I've read them all last night and encourage [00:42:00] other people to check them out.
[00:42:01] If you guys like this talk, please remember to upvote subscribe and share it out. You can check out our past tag team talks at tag1.com/Tag1teamtalks, as always. We really appreciate your feedback on this episode on ideas and topics for future episodes, you can reach out to us at firstname.lastname@example.org.
[00:42:23] Again, Matt, a huge thank you for joining us today and to everyone who tuned in. Thank you for joining us.