This is a transcript. For the video, see 20 years of Drupal - An interview with Marco Molinari.
[00:00:00] Michael Meyers: Welcome to a mini edition of the Tag1 TeamTalks, the vlog and podcast of Tag1 Consulting. I'm Michael Meyers, the managing director of Tag1. And today we're celebrating and looking back on 20 years of Drupal, the team at Tag1 has been a big part of Drupal's history, and we thought it'd be a lot of fun to sit down with our team members who've been part of the community for a really long time and get their insight and perspective. Uh, as to what it was like to be there from day one and how things have changed over the years. Uh, I'm joined today by Marco (Molinari). Marco, why don't you give people just a quick background, on your how'd you get into Drupal?
Um, maybe some of the insight into what you've done with Drupal over the years.
[00:00:43] Marco Molinari: Yeah, sure. Uh, especially because it's been so long that probably this introduction is actually needed. It's not like you're talking to Dries or Plach or Fabian or something because I started working with Drupal, I think in 2003 or so.
Uh, simply because I was looking for a CMS I was running a site, a website and it turned out that having static pages doesn't work after a few pages. And so the idea was okay, I need something. Uh, that can help me with this pages. And the - essentially the choice was between the PHPNuke and Drupal.
And I thought that Drupal was even, if it had way less features than PHPNuke, but PHPNuke had this bad habit of being hacked like every week or being extremely slow. And I had this website, I still have it that was quite popular in Italy. And so I needed something that could run and why Drupal besides PHPNuke.
But what I was really happy with Drupal, even if you had less features, less features, it was, yeah, the attitude of the community, which of course was a very small community back then. Like there was this mailing list that with, the- I don't know like 20 active people or so but it was very clear that there was a vision.
Uh, there was this leader who was probably a little too strict for me because, because I kept on suggesting features and I really wanted to push for innovation, and it was like, no, no, wait, no, let's think a little more. Uh, but I think that was the right way to do these things. Um, and so I started contributing to Drupal and yes, the, of course let's get there. So probably the most famous thing I did for Drupal was the Taxonomy module and about that.
[00:03:06] Michael Meyers: How did that come about? Like, did you just wake up one day or like, cause that was before like del.icio.us and tagging. I mean, like that was like revolutionary at the time. I wanted to ask you that like,
[00:03:20]Marco Molinari: Hmm, because I needed it because
[00:03:27] Michael Meyers: of course,
[00:03:28] Marco Molinari: uh, because uh, on my website I had pictures and I had, I needed a way to count a lot of those pictures. I had sort of a forum. Uh, I had content and I wanted to target content. And so I back then say for example, PHPNuke had like one module for pictures. And the categorization of the pictures was all inside that module, one module for articles and the tagging was inside that module and so on and so on.
And I just thought, okay, maybe we can do this thing just once, because I'm lazy. So I said, okay, something let's call it the categorization or category. I said, category, let's call it category. And a sweet it works forever and for every thing. And Dries goes you know, let's call it taxonomy. And of course the first thing I did was take a vocabulary.
What is this thing? What is this taxon.. Ooh. Okay. Sounds exotic. Let's call it taxonomy. Okay. And so, yeah, we did taxonomy.
[00:04:40] Michael Meyers: So even when he does want to commit something, you did, he has to change it.
[00:04:46] Marco Molinari: Uh, I mean, Is it a good name? Was category better? I don't know. Um.
[00:04:56] Michael Meyers: It's so hard to keep choosing taxonomy. It's it's you know, it's it's it's, [00:05:00] it's what we call it.
[00:05:01] Marco Molinari: It's fine.
[00:05:02] Michael Meyers: It's funny. You keep mentioning PHPNuke. And you said that it got hacked, but like quick - to aside here we had a non-profit call us like a few weeks ago and then we're on PHPNuke and we were just hacked and I'm like, wait, like, wait, people still run PHPNuke?
[00:05:18] Marco Molinari: No, stop, really.
[00:05:22] Michael Meyers: They run Drupal, now. We migrated them to Drupal.
[00:05:24]Marco Molinari: Okay.
[00:05:25] Michael Meyers: It was a very simple site, but it just, it just made me laugh because I didn't know, people still use PHPNuke today.
[00:05:29] Marco Molinari: Yeah. And shocked. And of course, I have to tell you another story. I was also running another site and you may have heard about this site. So because Dries, for example, mentioned it in his keynotes, at least once, maybe twice, there is this legend about someone running a porn site with Drupal.
Have you ever heard it?
[00:05:56]Michael Meyers: I might have.
[00:05:57] Marco Molinari: Yeah, that's me.
But, and so I am very happy. This is going on record, it was not a porn site. Okay. It was, yeah,
[00:06:08] Michael Meyers: I'm disappointed.
[00:06:10] Marco Molinari: Yeah, I know, sorry.
Let me get this very straight. It was not a porn site. It was a forum where people met. And that's why, for example, I also wrote the privacy message, the private messages module, the forum module, and so on. And so they met, they talked a lot, but of course, yes, they talked about sex too, but that's very, very different from a porn site. There were, there, there were a few pictures, but they were very mild. So, yeah, I'm sorry. I did not run a porn site. And as far as I know, at least in those years, nobody ran a porn site with Drupal.
[00:06:48] Michael Meyers: That has to be one of the biggest myths of Drupal history.
That's that's awesome. I love that you put that out there. Thank you. I wanted to ask it. I'll tell you that. I'm glad you put it out there. Cause I it's like, oh you know, Marco was the guy who ran the porn site, right?
[00:07:05] Marco Molinari: Yeah, yeah, yeah. Ah, Moshe, Moshe, a few weeks ago. It was like, yeah. Yeah. Once you have a beer with Marco, ask him about the other side, but no, no, no.
That's a misunderstanding. That's a misunderstanding. And yeah, the website, the Italian translation would be like everybody naked or all naked. So yeah. Look, that was not the concept.
[00:07:32] Michael Meyers: I can see how that might've gotten that lost in translation there. Um, do you remember, I mean, wow, you talked about forum, community, taxonomy, all amazing contributions that are, that the core of Drupal today.
Um, do you remember your first ever commit? And that was like a mailing list back then that wasn't like CVS and a mailing list. It was a very different process than it is today. But do you remember that experience at all? What you did.
[00:08:01] Marco Molinari: I'm Italian and Italians no speak English very well. So , of course my very first contribution was something to translate.
Uh, I don't remember exactly but it was about that either. Oh yes. I now remember. Uh, yes, you could translate. Uh, you, you ha you, you have a very basic translation system, but it was amazingly slow. Probably nobody used it. So it probably I was the first one who actually used it and it was very slow. So I think my very first batch was like a cache for this translation system.
[00:08:38] **Michael Meyers:**Makes total sense. But you said I needed it, you know?
[00:08:40] Marco Molinari: Yeah, of course. And you know. I, yes, everything. I, quite frankly, everything I've done for Drupal at the time was because I needed it. And I think it's, um, it's a good way. It's it's uh, there is tiny thing that because I don't think somebody should work on a open source project just for the fame or just the, because it feels good because it does feel good.
Okay. But if you need it, If it's something completely different, so you need something. And that's also why I stopped contributing to Drupal essentially because I think I didn't need anything else anymore. Uh, I wrote several things. Uh, I believe the very last thing from me that was entered in Core was the filter.
Uh, The filters which I think I wrote a patch I posted somewhere and I think probably Moshe took it and uh, finalize it for a Drupal 5. Something like that. Yeah. Drupal 5. Yes. And that's because I mean, Dries was totally correct in wanting to go slow in a very human pace- ended up essentially forking what I was using for my side. So and they were doing everything I needed. Uh, I posted or contributed everything I didn't like the filters. I did several other things like user hooks and so on. But then my, my version of Drupal was probably better than Drupal.5 then with Drupal 6.
So Drupal became much, much larger and I simply didn't have their sources to migrate. Uh, so I skip that. Uh, and then with Drupal 7 and also with me starting to, to work with Tag1 I caught up with Drupal 7 and then I migrated the site to Drupal 7. Well, my site,
[00:11:01] Michael Meyers: I think that's one of the biggest challenges that Drupal has had to date is there was sort of this lock in effect.
I remember like when I built NowPublic on 5 and I went back to my investor, it was like, we need to upgrade to 6 and we're going to have to freeze all our future development and we need to spend a fortune. And they're like, what, why, why didn't you build on this platform? Like this is crazy. Um, and it wasn't until 8 that that's really addressed.
So looking at all these amazing things that you've done, is there something in particular that stands out as I'm really proud of this, for what for whatever reason I I did this, you know? This is me.
[00:11:45] Marco Molinari: Yeah. Uh, I have to say taxonomy and it probably sounds arrogant. Uh, and I have to say.
Now that I look at that between 20 years after I'm not that proud of what I wrote. Okay. So like the API sucks, quite frankly, and even now it's not like it's much, much better. Okay. But I like the idea. I mean the idea of having a single system that handles categories. Sounds much better is yes. I'm, I'm proud of frankly.
[00:12:31] I'm proud of that. Yes, sir.
[00:12:32] Michael Meyers: As well, you should be. I mean, there have been like certain inflection points, like, like I said earlier, like one of the things that made Drupal so successful early on versus every other platform is that it had key innovations that put it ahead and taxonomy is unquestionably.
One of the key innovations that, you know vaulted Drupal ahead of other platforms in it's time. And so I can say without a doubt that it's, it's one of the more influential things that happened in Drupal that we, as a platform wouldn't be here today because people wouldn't have jumped on it. Uh, your timing was great.
[00:13:09] Marco Molinari: Thank you. Uh, honestly, I think there are many more things that uh, well, in a way, to me, it feels like 20 years ago I planted a very small seed because taxonomy is a very small seed. It's nothing special. Okay. It's nothing like Views. Or, or the Entities or fieldable entities. Okay. That's a much bigger effort.
Uh, but to me, it's like, I tend to be very small seed and yes, then maybe that's what well, that's why one of the reasons why other people got involved in Drupal and then built, say views, feasible entities and so on.
[00:13:52] Michael Meyers: I think it's a really important lesson for people though, the power of planting a seed.
Um, one of the things I'm most proud of is helping getting the automated QA and testing system going and I'm not a great technologist. I tried to make one commit ever at a Drupal so like non, non-developers can still have an amazing influence on the platform. You know, I just met with the agency leaders at the time and I said, Hey we, if we say we're not going to convince the community, that tests have to be a must in Core.
But if we each commit that our resources that are doing the core commits are going to contribute a test, it'll lead to it becoming a standard because people will follow our lead. And they did and, and we did, and that became the testing harness, which allowed us to get Drupal seven. You know, without that testing harness Drupal seven, never would have gotten out the door.
You know, enterprises never would have adopted Drupal. 8 never would've happened. Um, I shouldn't say that. These things would have happened but it's, it's become a really key part of the platform in many ways. Every commit requires a test. And I look back on that now. And, and, and I've learned so much about how making strategic changes working in, in planting these seeds and letting them grow, you don't have to control everything.
In fact, it's better if you don't. And the power of these ideas and what they can take on. Um as I sort of manage and, and work with teams and groups has. I don't know for me has been one of the more important and interesting lessons that I've learned as a control freak.
[00:15:43] Marco Molinari: Yes. And I'd like to say that, uh, 20 years ago I had the awareness that this was going to happen, that there was planting the seed, but that's not true.
Yeah. I just needed that. So in hindsight, yeah, sure. That makes sense. But yeah. Back then. Yeah. But it was fun and by the way, yes, that's also a big part. It was fun. Oh, even discussing. Uh, and I'm not fighting, but I mean, discussing uh,it was fun yeah.
[00:16:21] Michael Meyers: The debates. Yeah. I had no idea what I was doing. You know, I had a problem I wanted to solve.
[00:16:25] I didn't, I had no grand plan. I wasn't, like, planting a seed. Like I just, I needed this to happen and I was trying to find a way to make it happen. And that's what happened. And I look back now, I'm like, Oh, okay. Um, yeah, that's, that's pretty wild.
[00:16:39] Marco Molinari: You may, say maybe it's karma.
[00:16:42] Michael Meyers: Yeah.
[00:16:43]Marco Molinari: No, because um, you, you knew it was a good thing.
You, you. You had no idea what was going to accomplish with what was going to become but um, you felt it was a good idea and yeah. Yeah. That had good consequences.
[00:17:05] Michael Meyers: What are your favorite and least favorite features of Drupal
[00:17:15] Marco Molinari: In General? I like everything in the backend. Okay. It's it's very, very powerful. Uh and the, I believe the fillable entity is is genius. Views is amazing all that part. And of course, in general, everything backend I really, like everything, like, backend. My least favorite part is by far. I'm not saying everything.
Front-end, it's not that far from the truth. I really,. Okay. Let, let,okay wait, let's put it this way. I struggle a little bit with the front-end.
[00:18:06] Michael Meyers: Okay.
[00:18:09] Marco Molinari: Yeah. I struggled with it from which I also understand is a very difficult problem. Um, but if like somebody else can work on the frontend I'm happier. Yeah. Yeah.
[00:18:24] Michael Meyers: Do you think Drupal made any. Missteps along the way, like if looking back uh, there's some to think, man, I wish that we, as a community didn't do this or we should've done that.
Like, is there something that jumps out at you?
[00:18:41] Marco Molinari: [ Yeah. So this is my opinion. Okay. So it's probably worth nothing, but when, when I see. Uh, ticket issue that has been discussed for years and nothing has been committed yet. I get crazy. And I know maybe there is no perfect patch. There is no perfect solution and it needs more discussion.
Sure. It makes sense, but still it makes me crazy. So I, I don't know. I would probably. I would probably prefer it if there was how can I say that in a nice way? Like a um, a firmer way, like something in a way that somebody that says, okay, there, we don't have a perfect solution for this.
Okay. But it's fine. Let's start committing this because then we can see how it behaves and we understand what's going on. It's unlikely that it's going to create huge issues. And if it does, we can fix them, but we need the - it's something that we do when we work. You, you don't go to a client and tell him, you know, I was working on, on, on a fix for your problem, but I didn't find a perfect solution.
I will take a few more years to think about it.
You were okay with that. Okay. Yeah. Yeah. This feature won't go live for a few months, years, but yeah, once it's done, it's perfect. No, you cannot do that. And I think uh, that shouldn't happen in, in an open source project as well. This said my contribution to the - to the project essentially stopped in 2000, I don't know, 4 or 5 or so.
So it, it was a very different community, was far smaller. Uh, I understand that it grew a lot and that everybody has its own opinions. So. I, I'm not in a position where I can say hey community you did wrong because I did not participate these discussions. Uh, and so so
[00:21:04] Michael Meyers: yeah managing the, the, the growth and the scale and the challenges that happen as you have 10,000 contributors, I mean, it's, it's, it's insane.
Um, but I'm really glad you said that because that's something that I've always struggled with. You know, I'm, I've read the issue queues, but I'm not in there fixing it, but like this, the way I always ran my teams in companies is there's a time for a debate. And then there's a time for a decision.
And once we make a decision, there's no more time for debate. Everybody is behind it's, it's, everyone's behind the decision and it's time to move on enough. And I think that's how companies run because otherwise you'd never get anything done. You can undermine yourself, you know? Um, and I, and I just really struggled with Drupal as a community because on one hand, what I loved about Drupal is everybody has a voice and, you know you know, on the other hand, not everyone's opinion is equal.
Right. You know, I hate to say that, but like a Core committer who's been at this for 10 years versus someone who's new. And that doesn't mean we should discount, you know an idea from someone. I mean, like my first ever contribution to Drupal. Uh, the response was who would ever want this? This is the dumbest thing I've ever seen.
I'm not committing this. I'm like, I want it. I need it like, like, what do you mean? Who wants it? Like, are you kidding me? Like so we, we, we shouldn't discount new people, but we - you have to weigh it and you have to make a decision. And, and yeah, I, I think it has a reputation and a problem of going on ad nauseum and not making decisions and getting too much input.
And it's burned a lot of people out. It's turned a lot of people away. Um yeah. Ultimately we are where we are. Um, and, and it's amazing where we've gotten, but I, I think that that, that problem still exists today. I think that we've gotten better with structure. And, and, you know roles and, you know governance I think that we're trying to address that.
Um, but I, I would think we could do a stronger job in that. Um, and I think that it's something that a lot of people struggle with, so it's great. Um, you're the first person to bring that up, that I've spoken to. And I think that it's something that you know, should be really out there.
Is there a killer feature that you wish Drupal had today? You know, like is there something that I guess I know you said that you haven't contributed in a while because it does what you need, but is there something that Drupal's a platform doesn't have or that you wish it did that.
[00:24:02] **Marco Molinari:**I think Drupal is going headless Drupal is going into the right direction. I really hoped it got there sooner. Uh, so I know that a lot of people do not agree with this, and I can see the reasons, but personally, I'm really fond of a headless. A back-end and the front-end created with all these amazing technologies that we have on the front-end - React, Angular and so on.
And I, I I'm, I cannot say what the- which direction Drupal should go from here. I can tell you that I wished I wish Drupal went there much sooner. Yeah, like several years sooner than then what happened?
[00:25:05] Michael Meyers: So looking back on your history with Drupal, what has been the best part?
[00:25:18] Marco Molinari: Yeah.
Uh, these these answer This answer will, will sound cheesy because the best part of Drupal for me was Tag1.
So yeah. Jeremy paid me to say this. No no, frankly it was Tag1. Uh, It was fun when I contributed to Drupal back then. And so, but working with Tag1 has been great and without Drupal I would not be in Tag1 quite simply. So I thank Drupal for being in Tag1. Tag1 is a really amazing company to work with.
[00:26:14] Michael Meyers: Yeah, no, I agree. I wouldn't be here. I'm the same way either. You know, I don't know. I would say it's the best, the best reason that I got into Drupal, but it's, I wouldn't be here without Tag1. That is for sure. That's why I came here to work with you and everybody is because when I first got involved in Drupal, I, I got stuck and I called Tag1 and they helped me.
And then my next company, I got stuck and I called Tag1 and they helped me. And in every problem I ran into every challenge I had you, Jeremy, the team, you guys always bailed me out, always went over and above and beyond. And we get together at conferences and I loved hanging out with everybody.
And you know, it's you know, it's really an awesome group of people that are fun to be around. That are brilliant. I feel like I'm the dumbest guy around like they say surround yourself with really smart people. Um I came to Tag1 because I learned every day from you and Jeremy and you know, all these people I'm just dumbfounded by, but what you guys do, so.
Um Jeremy did not pay me to say that, but I wish he did. I'll take the money.
[00:27:40] Marco Molinari: and yeah, the, the feeling of being the, the dumbest person in the room is something that I often have with Tag1. They're such amazing people. Why, am, I there?
[00:27:55] Michael Meyers: Yeah, I get to hang out with.
[00:27:57] Marco Molinari: Probably for taxonomy.Thank you taxonomy.
[00:28:01] Michael Meyers: Category, categories..
[00:28:03] Marco Molinari:] Oh, by the way. So you know, now, now the user ID in a Drupal of the target is not exposed anymore. Okay. But I know my Drupal ID. And it's one of the few things that the smaller, the better it's a 67.
[00:28:22]Michael Meyers: Wow.
That's crazy.
[00:28:26] Marco Molinari: I brag a lot.
[00:28:29] Michael Meyers: Just random people you meet. Do you know that my user id
That's amazing . I am not that low. Uh, I think if you go to your page and you roll over, like the tabs, like posts, commits, it's still exposed it in that one place. Um, but otherwise it's hidden, uh I'm in the, I mean the 11,000 range. So
[00:29:01] [00:29:00] you got the beat, um, and, and 67 that's even more impressive because I've gone through a lot of the user IDs. Um, In the top hundred, a lot of them are blank. They were like test accounts Dries has like 10 of them. Some of them are blank. So you know, that, that might as well be like number 12 or something.
That's insane.
[00:29:22] Marco Molinari: And don't believe Jeremy, when he tells you that he has a lower number than me? He always tells me...well, no, no. I had another account, but I lost, it
As far as I know, Moshe has a lower number than me.
[00:29:39] Michael Meyers: Jeremy's 409 and
[00:29:42] Marco Molinari: Yeah, of course he is
[00:29:43] Michael Meyers: Oh shit. Can I get Moshe's real quick?
Uh, I can get it real quick. Hang on. Uh, but I do and Moshe has a really low number
[00:29:52] Marco Molinari: yeah. And Gerhard also, has a very low number.
[00:29:55] Michael Meyers: Oh my gosh. Um, no, it's, it's amazing. Like the people that we work with that have been there for so long and stories we have I know that today it's impossible to thank everybody.
Um, but if you were to go back 20 years ago, Marco are, is there a person that really helped you get up and running or helped you at a critical point that you want to say, thanks for helping me get to where I am today?
[00:30:25] Marco Molinari: Yeah, so it was so many people. Uh, I, I really think that way more people helped me, then the people that I helped by far like say of course Dries.
Uh, back then, but then say Catch, ChX. Plach taught me so many things Pex, Doug Green a lot. Uh,Fabian, and I I'm sure that I'm forgetting so many people. Um, yeah, no, it's and they're, they're all amazing. They're all very, very, very bright. Yeah. And and Jeremy too, of course he didn't teach me anything,.
[00:31:11] Michael Meyers: But he's a lot of fun.
[00:31:12] Marco Molinari: Yeah, that's fun. And he made, he created the Tag1. So thank you, Jeremy too. Of course.
[00:31:20] Michael Meyers: Well, I hope that post pandemic, I can come out to Italy and have a beer with you and, and, and some more laughs in person. This was awesome. I really enjoyed this.
[00:31:29]Marco Molinari: Thank you. Cool was fun for me too. Yeah.
[00:31:32]Michael Meyers: Glad to hear it. I'll talk, take care.
[00:31:34] Marco Molinari: Bye.