Search

636: W Hot Drama Week (WordPress, WP Engine, and Web Components – Oh My!)

Download MP3

We're getting some feelings out about WordPress and Matt Mullenweg vs WP Engine drama, as well as the Web Components conversation that happened this past week.

Tags:

Guests

Chris Coyier and Dave Rupert in silly sunglasses and a sign that says Shawp Tawlkk Shough DOT COM

Chris Coyier and Dave Rupert

This episode is with just Chris & Dave, ShopTalk Show's hosts. Chris is the co-founder of CodePen and creator of CSS-Tricks, and Dave is lead developer at Paravel.

Episode Sponsors 🧡

Transcript

[Banjo music]

MANTRA: Just Build Websites!

Dave Rupert: In the criminal justice system, [laughter] a special type of crime for running your mouth on the social media exists. It's called--

[Laughter]

Dave: Law & Order Hot Drama.

[Law & Order's iconic 'dun-dun']

Dave: A production by Dick Wolf. [Howl]

[Howling]

Chris: Hey there, Shop-o-maniacs. I'm Dave Rupert. With me is Chris Coyier. Hey, Chris. How's--

Chris Coyier: Hey, man.

Dave: How's your social media experience going?

Chris: Good. Yeah. Yeah. I'll say the hot drama channel in the Discord has really been popping off lately. Not that it always is. It's one of our more popular channels, I'd say.

Dave: Yeah, it's very... um... What is it? Villain of the day material. [Laughter]

Chris: Yeah.

Dave: You know... Or whatever.

Chris: It feels like a big tech story to me and, of course, we're talking about all of the, like, WordPress, meaning Automattic versus WP Engine stuff. I haven't seen it bleed over into mainstream tech press too much, interestingly, because there are pretty big companies involved, and the drama is so juicy. It feels like it would make a good story anywhere. But I wonder why nobody is touching it.

Dave: Yeah, it would seem like Tech Crunch would snap this up, right? This seems like--

Chris: Yeah, or like - I don't know - even my podcast circuit. I feel like we're weighing... We're weighing in here to fill a gap in the "let's talk about this" thing.

Dave: Right, and we should say we're not doing actual journalism here.

Chris: Absolutely not.

Dave: I know you come to ShopTalk for rigid journalism. I know. Right?

Chris: Right.

Dave: That's a keyword. You search for rigid journalism, you know, really good journalism.

Chris: We come right up.

Dave: We're at the top. But this is more of like a vibes podcast.

Chris: Yeah.

Dave: The WordPress stuff is also just part... I don't know. There's also Web component drama going on, so I don't know if we'll get into that. But it's just been... Man, it's just been a week, hasn't it? The minute we launch [laughter] our wonderful episode about WordPress with Fabian--

Chris: Yeah, that was weird timing. We had a WordPress episode that aired as this was going down that had nothing to do... There wasn't even a whiff of drama at the time we recorded it.

Dave: Yeah.

00:02:26

Chris: Okay, so what is the drama? We've said drama enough times. I feel like it's an apt word for it because there's just poop flinging, both sides. The sides are mostly WP Engine acting as a company. Although, a bit slowly and stuff. But you see less, like, individual names being slung around by them versus just, "It's Matt Mullenweg. Matt. Matt. Matt, Matt, Matt, Matt, Matt." It's Matt drama. There are names being slung around on their side, but by Matt.

Dave: Yeah. Yeah.

Chris: He really likes calling out the Lee guy, who is from Silver Lake, which is some investment firm that has a bunch of money. He's very mad at Lee.

Dave: Mm-hmm.

Chris: As far as I know, Lee hasn't said a word, which is--

Dave: Yeah, I haven't seen much.

Chris: Not terribly surprising.

Dave: Yeah.

Chris: Then their CEO Heather - or whatever. Okay, so why is Matt so mad? [Laughter] In the beginning, honestly, it could have been more clear, I guess. It seemed like there were a couple of different stabs happening.

One, it felt very abrupt to me, especially as someone who - I don't know - I keep up with WordPress land because I kind of like it. Not to do the podcasting where you too much preamble, but you probably know that I've been kind of a WordPress fanboy for a super long time. It was one of the first frameworks I ever picked up. I stuck with it. I've built tons of sites with it. I still reach for it. I still use it every day.

I'm not super involved in any of the foundation or the companies around it so much. I'm not a core contributor. I don't think I've ever contributed anything directly to WordPress. I have a few plugins or whatever, but nothing too dramatic.

The other relationship -- and that relates to this show, too -- is that Automattic themselves were huge sponsors of me and us because it sprinkled over into ShopTalk Show for a super long time. And that was Automattic specifically because it was talking about WordPress.com and Jetpack, which is a WordPress plugin that extends its abilities and stuff, and WooCommerce. They were probably the number one sponsor I ever had. It's kind of neck and neck between Frontend Masters has been really good to me and us as well. Media Temple before that, and then Christopher Schmidt was a big sponsor and stuff. But they're definitely way top-end tiers.

And it might be a stretch to call it that. I doubt Matt would call me a friend. But he's personally invited me to Word Camps, which I did. And we hung out a little bit. He's personally invited me to dinner, which I've done. So, at least a strong colleague.

I always thought... And I'm not writing this off forever. I'm not like, "I hate Matt forever now." Absolutely not, but I tend to be a supporter of my friends. You know? Thanks, man. One of the good ones for a long time.

But in this -- and I'll say I'm very sure he'll never listen to this -- it looks like an asshole a lot of times in this.

Dave: Yeah.

Chris: That's not to say that he's entirely wrong and that one side of this is entirely right and the other side is wrong. But it's like there can be nuance to this, and you can still look like an asshole even if you're a little right.

00:05:49

Dave: Yeah. I think if we take a 10,000-foot view of the issue, if Automattic (a.k.a. Mullenweg) felt like WP Engine, who built their business on WordPress, does not contribute enough to the WordPress ecosystem (whether that's financially or through talent). They have this 5x5 initiative. I think that's what it's called. It's basically 5%.

Chris: I think it means 5% of the effort of the work at your company.

Dave: Yeah.

Chris: If it's based on WordPress should be contributing to WordPress.

Dave: Five percent of your resourcing should go to core, right? That's the broad strokes.

Chris: Yeah. Doesn't that sound nice? Isn't that good? You built your business on this open-source software. Open-source software needs contribution to thrive. It's, in my opinion, a very good idea for a program.

And they've straight up said it's not enforceable. It's not a law. It's just a thing that you should do.

Dave: It's a goodwill sort of thing, right?

Chris: Right.

Dave: The spirit of the game. Yeah.

Chris: Did I know that they were not doing that? No, I had no idea. All of a sudden, it was like Matt's real mad at WP Engine for a couple of reasons. That one that you just mentioned is that they are not contributing as much as they should be.

Dave: And so if that's--

Chris: I feel like if that's the case, maybe sprinkle that information out in a different way.

Dave: Yeah, that should be... And you could get me on this. I could be like, "Yeah, they should. They are the bad guys."

Chris: Yeah.

Dave: [Laughter]

Chris: That's BS. Considering you're not just a generic host that just hosts whatever and then says, "Hey, we host WordPress, too," because of course, you do because WordPress is just computer code. You know.

Dave: Yeah.

Chris: It's not a stretch.

Dave: They're not Bluehost.

Chris: They only host WordPress. That's all they do.

Dave: Yeah.

Chris: If anybody should be contributing back, it should be them. Now that's a message people can get behind. Like, "Hey, what are they doing over there? They're real leeches over there." You know? Maybe just sprinkle that out and see what the community does with it.

00:08:05

Dave: Well, instead of a blog post that's "WP Engine is bad," or whatever, [laughter] be like, "Here's the status on our five for the future initiative. Here are companies that are participating. Here are companies that I want onboard." It's one bullet point - or something.

Chris: Right.

Dave: That blog post would go a long way.

Chris: And then ratchet it up over time - or something.

Dave: Yeah.

Chris: There's that. That was in that... That started to come out real early, like, "They're just not contributing as much." It kind of became the core point. But if you remember that very first blog post was not that, really. It started out with, like, "My mom doesn't get it. She thinks they're the same kind of company - or whatever." The old "my mom" thing, but I get it. I don't even deny it. Maybe she does - or whatever. That's a copyright violation problem.

Then there was another one, which is that they chop up and hack up WordPress and give you that, which is not the real WordPress.

Dave: They give you a partial WordPress.

Chris: But the only cited example of that is that it's revisions because they flip that feature off. We can all understand, as developers, probably why they do that because it probably 10x the size of databases.

Dave: Database load, yeah.

Chris: And it's a way to extract a little more profit by not hosting all of those revisions.

Dave: And turn it into a paid feature. You know what I mean? Like, "Hey. Yeah, we can do that for you."

Chris: Yeah.

Dave: CNN will pay us money. You know?

Chris: What's funny is that Jetpack does that. Doesn't that make Jetpack customers - or whatever? But okay, whatever.

00:09:37

Dave: Well... And that's... They also give you a limited registry of approved plugins - or something like that.

Chris: Oh! Do they really?

Dave: Well, I think that was part of it, too, because if you just let anyone install arbitrary code on their system, it kills your WordPress. And so, they're kind of banking on being fast and good and whatever.

Chris: Yeah. I do remember that in the past with WordPress hosts is they would turn off some caching plugins that were a little strenuous on their system - and stuff - or didn't behave well with their infrastructure. I didn't know that that was at play here.

Dave: But I think they kind of say, "We do the caching for you, so you don't need those," and stuff like that. But you know who else limits plugins? WordPress.com. You know what I mean?

Chris: They really do! That's just a known fact that is if you choose WordPress.com, the free plans, which is, of course, very generous of Automattic to offer in the first place, and kudos. That's so cool that you do that. I know they monetize it through ads and some other ways to make it worthwhile, but that's pretty cool that you can use it for free. It's fine that there are limitations on what you do with WordPress because, of course, it's open-source, right? Can't you do whatever you want with open-source? I mean I know there are limits and stuff. It's not absolutely whatever you want, but that's part of the spirit of it is that you can make alterations and stuff to it.

But then it's kind of the hyperbole of it that just doesn't feel right when you say, "Oh, it's a hacked-up, not real WordPress." You're like, "Nah. It is, though. It's fine." They turned off one feature.

Now, you can say, "That's BS. You shouldn't do that." Then I might be behind you. Be like, "Yeah, they probably shouldn't do that. That feels greedy." It feels like they're trying to get every dollar out of the world as they possibly can. Be like, "Yeah, greedy capitalists."

But to paint it as it's this hacked-up piece of garbage WordPress, it's not true.

00:11:34

Dave: If it's--I can't think of a better word--castrating the rollout plan of future features of WordPress, if it's just kind of like saying, "Hey..." It's adding a constraint to WordPress that others... You know, we can't build this feature because WP Engine turned it off - or whatever. That's an issue. Maybe talk about that more openly.

I could see revisions being necessary if you're going to add client-side editing or something like that. You know what I mean? I could see that being a necessary thing. Maybe you have to... It's like a "use your words" thing for me.

Chris: Right.

Dave: What's the problem? What problems occur if they turn it off? Is it just you're giving impure WordPress?

You think about Android or something like that. Everyone hacks it to bits. Everyone adds their own software. Windows, too.

Chris: Now it's a bunch of days later and nobody is talking about revisions.

Dave: Right.

Chris: Revisions is totally off the talking point thing anyway.

Dave: Mm-hmm.

Chris: So, it really wasn't about revisions.

Dave: We're just grasping for reasons.

00:12:49

Chris: It's about contributions, and it also feels like about money.

Dave: Mm-hmm.

Chris: Because it is. There is this 8% number that's flying all around this thing, which is that there is a term sheet. If WP Engine signs it, what it says is take 8% of their gross profit and give it to Automattic and all is well in the world and/or some contribution that adds up to that same amount of money based on salaries - or something - or any combination of which.

It's a little unclear. It sounds like that's no longer enough, which yet again also feels like, why is it not enough? You just published the term sheet and then, in the same document, say, "That was the old term sheet. Now I'm extra mad." It just doesn't feel good.

Dave: Then the initiative is five and you're trying to shake people down for eight. I get they're a big player, but--

Chris: And it feels real quick to us watching.

Dave: Yeah.

Chris: But he tried to be real clear that this was not quick. This has been a year and a half of talking about it.

Dave: Of time stamps. Right. Yeah.

Dave: And getting strung along. Then culminating with this Word Camp US thing where he's sitting in a chair waiting for the thing to start saying that... sending pictures of the crowd saying, "I am about to throw you under the bus. Here's a picture of the crowd. They're waiting for me to talk. If you agree to these terms, I will turn this into a big, little Q&A and not say a word about it," which feels so slimy at that moment, but I know there's more to it because that was like him using his strongest arm because he's been felt strung along for 18 months.

Having that as context is helpful. But when you see the screenshots of those texts, that's why it feels like there's propaganda being thrown around here. So, we have to be careful. That's why this isn't journalism, we point out again. I'm susceptible to it, too, when I read through the WP Engine documents. I'm like, "God. Look at that. Look at how bad he's behaving." But then you learn a little more context, and you're like, "Yeah, I actually see his perspective there," and stuff. There's definitely back and forth.

Dave: Well, yeah. It's like you don't need to convince me WP Engine is not doing enough. I'm fairly convinced. I do think they've bought out all the for-profit plugins (Genesis theme, Advanced Custom Fields). [Laughter]

Chris: Yeah.

Dave: Local by Flywheel.

Chris: Good taste in them, too. Those are some good stuff.

Dave: Good taste. These are good products that make money that people like.

Chris: Which they maintain, by the way.

Dave: They maintain, and some of it is free, right? But I'm sure it all leads to a paid plan.

Chris: I'm sure it does.

Dave: But that's ecosystem, I feel like. Not to say, "Oh, man. That's totally the same thing as giving time." I don't think that, but it is WordPress without Advanced Custom Fields is kind of less cool, man. And glad it has a maintainer. WordPress without Local--

Chris: Yeah.

Dave: Now there's something.

Chris: Yeah, now there's something.

Dave: But less great. WordPress without Genesis theme, it's better without Genesis theme. That's my hot take. No, I'm just kidding.

[Laughter]

Chris: Yeah. That was from a different era, wasn't it? Or do people still use that one? I don't remember.

Dave: That was one theme to rule them all sort of situation.

Chris: Yeah. Yeah.

Dave: That was the vibes back then. Yeah.

Chris: Was that the one with Pearson - or whatever?

00:16:22

Dave: Oh, Pearsonified.

Chris: I remember tuning into this debate where he showed up shirtless. And Matt debated him, and Matt sounded so reasonable in all of this. That was a trouncing.

Dave: I'm going to get a hot tub for my office, like one of those inflatable hot tubs.

[Laughter]

Dave: Just so if I ever find myself in this situation, I can just inflate the hot tub and just take the podcast from the hot tub. That's going to be my new power flex, dude. That's my next power flex.

Chris: Tremendous. Yeah, so not declaring a winner here. This changes day by day, too. We're recording this a few days in advance of you listening to it, so why knows what changes in that time. But it has been news pretty much every single day on all this in different channels. Some of it is on Reddit. Some of it is on Twitter. Some of it is on Automattic's blog. Some of it is on WordPress.org's blog. Some of it is on YouTube, actually.

Dave: Yeah!

Chris: I sat there and watched Theo's. I didn't watch... The first one was with--

Dave: Primeagen?

Chris: Yeah. Again, I'm not a journalist, so I didn't watch every single detain of it. But I enjoyed Theo's. I thought it helped me understand Matt's perspective more, so that was good. And Theo asked a lot of the right questions. And then some of it was mad-making to me again.

Dave: Well--

00:17:44

Chris: Part of it that came out in that video was, like, "Okay, this is about copyright, too." The lawsuit that's going to come from Automattic is going to be about copyright. But he straight up said in the video... He was like, "You know it was Al Capone who went to jail for tax evasion, right?" The government didn't beat Al Capone on murder or racketeering - or whatever. It was on tax charges.

Matt was like, "You use the laws that are available to you to take down the person that you know is doing wrong." He pretty much said that, so he's like, "It's not really copyright," wink, wink, "but we're going to try to get them on copyright because, screw them," which to me again makes it feel like, "Oh, man. It took the water out of it a little bit."

Dave: Yeah. Yeah.

Chris: It's not high ground at that point - in a way. And this comes up in my life. I know I'm talk a lot, but I'm just going to roll with it for a minute.

At one time, I wrote the book, "Digging Into WordPress," with Jeff Star way back in the early days. And we did this thing where we were going to have a blog first, and we were going to blog all about it, and then use the popularity of the blog and the audience of the blog to sell the book, essentially. We all had a lot to say about WordPress and we were blogging about WordPress anyway. Let's put it in one place.

We registered the domain diggingintowordpress.com, immediately hear from Automattic and say, "You can't do that. You cannot use the word 'wordpress' in your domain name because we have a copyright and we have to protect it." And that's true, they want you to not use it, but also have to enforce their copyright. Have you heard that before that if you don't enforce your copyright, you can lose it?

Dave: Yeah. Yeah.

Chris: Right.

Dave: If Dave Rupert LLC doesn't sue anyone who tries to use the Dave Rupert brand--

Chris: Yeah, ever.

Dave: -- people can just call their company Dave Rupert LLC.

Chris: Yeah. It just withers away and you don't use it.

Dave: Yeah.

Chris: Whether or not they care.

Dave: Or how about ShopTalk? There are a thousand podcasts called ShopTalk. [Laughter]

Chris: Yeah, there sure is. I think we're still winning, but just barely.

Dave: I think we win by seniority, so good.

Chris: Seniority. Yeah.

Dave: Good for us. Take that, Masons.

Chris: And plus nerds blog and leave links sometimes, so our incoming links are probably real organic-looking.

Dave: Yeah. We're good. We're good.

00:19:54

Chris: Anyway, we heard from them, and it was fine. We were like, "Oh, I understand. That's cool." They might have even straight up said, "You can always use 'WP' though."

Dave: That's always been the case, right? That's always been--

Chris: It feels like it's always been the case, so we just made digwp.com. The site still is "Digging Into WordPress." The name of the book is "Digging Into WordPress," but the URL had to be digwp.

I think we're even... That book breaks the copyright even more because the name of the book didn't... It's not "Digging Into WP."

Dave: Mm-hmm.

Chris: It's "Digging Into WordPress," the actual title of it.

Dave: Yeah.

Chris: Now, do I think they're going to come after us all these years later because of that? No, it's too late. Plus, in a way it's contributing to WordPress because the goal of it was getting people to learn it and stuff. I feel like it's a little bit more... It wasn't altruistic because it's not like it's a free book. It costed money.

Dave: For profit endeavor, but yeah.

Chris: Yeah, absolutely. But we're not a $100 million company making that book. I feel like if we were, the conversations would be different.

But it felt like that was fine. I feel like, for a long time, and it wasn't just that book. God, there are hundreds.

We just heard from a guy who listened to our show about modern WordPress, and he wrote in and said, "Hey, I cringed a little bit because I feel like WordPress hasn't been doing as good of a job bringing on long-time developers to this new style of stuff. But I made a course on all this, and I want you (Dave and Chris) to have access to it."

Guess what the URL is. It's right here: wpdevelopment.courses. So, he knows. He's been around. He knows you can use WP, and you can use WordPress in your copy here and there. Don't go crazy with it, apparently, because apparently that's dangerous, too.

But everybody knows you can use WP. That's fine. And so, it feels like WP Engine is in that category. And they stretch it too far.

I saw in the Theo video, they bring up WP Engine's website, and they do a Command-F for WordPress on it, and 80 times it's on there - or something. Right? [Laughter] So, maybe pushing it. You know?

00:21:54

Dave: Well, did they commit a crime or did they--? Did they commit a crime or did they just keyword their site for SEO? That's where--

Chris: It does feel different, doesn't it?

Dave: This whole conversation changes when you realize Automattic has a competitor product called Pressable... and WordPress Vault and all this stuff. It has competitor products to what WP Engine is offering. So, it's hard for me--

Chris: Was notably on the ball with being like, "Need to get off WP Engine immediately? We've got the hosting for you."

Dave: Because we turned off their plugin system. Yeah.

Chris: Yeah, we didn't mention that yet, but that was one of the fallout from all of this is that one of the days that was one of the escalations here is, all of a sudden, it was like, "Well, we cut off WP Engine servers from accessing WordPress.org."

Now WordPress.org is more than just a website that talks about WordPress. It's like the URL in which the plugin repository is. So, when you have a WordPress site that's hosted wherever, there's a button in WordPress that's like, "This plugin is out of date," and you click it, and behind the scenes it updates that plugin. That's hitting WordPress.org to do that.

As far as I know, this has never been done. At least at a high-profile level. Maybe they block spammers or whatever from hitting WordPress.org, but this is a big host. They just said, "Just you, and just you can't do that anymore. If any of your customers hit a button to update that plugin, it'll just say, 'Nope. Broken. Doesn't work.'"

Dave: Right. I believe that was a retaliation for them hiding the newsfeed or removing the news item that was basically WP Engine is bad - or something.

Chris: Yeah. When you publish a blog post to a certain blog on WP.org, the official one, a default WordPress installation has a little widget in the admin screen that shows you the latest blog post from that particular blog. That one was titled something like, "WP Engine is not WordPress," or whatever. I didn't know that. WP Engine went in there and wrote a little piece of code and shipped it to all their sites that hid that one blog post. That's--

Dave: It's not clear to me if they nuked that one blog post, which to me is fine.

Chris: Hid the whole widget or something.

Dave: It's PHP. It's totally legal. [Laughter] But I think the... I don't know if they have disabled the widget entirely. Just in general.

Chris: Hmm...

Dave: Your average WordPress user doesn't necessarily need to know--

Chris: I'd disable that widget. Get out of here. I don't need to see your fricken' news feed.

Dave: The news feed. Yeah, that's like the first thing I do when I set up WordPress is just get rid of noise. You know?

00:24:44

Chris: Yeah. But anyway, they do that, and that's one of the things that makes you look like an asshole a little bit. Now all of a sudden, it's not just corporations fighting each other, which we know will eventually have some fallout for us. But two, three days later after we're hearing about this for the very first time--

I have sites on WP Engine. Flywheel, really, which they own, right? Which all of a sudden, I can no longer click that button on because we're just collateral damage in a spat between two big companies that make more millions of dollars than I'll ever see. That feels slimy to me. It's like, "Come on! Really?!"

I know it's been restored - or something - and WP Engine already has a mirror up. The news happens fast with this. But that was them saying, "We don't care about you as users of WordPress on this host. If you use that host, you might as well be the devil, too."

I just feel like, "Who are these WordPress users? They're people that don't even know that this spat is going on."

In the video, Theo was like, "They could be a retirement home for your grandparents." When you cut off the ability... to cut off plugins, you're cutting off security updates and all this stuff. It really felt like a selfish move that made people the collateral in this fight in such an uncool way.

Dave: I agree. Yeah. It was so distasteful. That has tarnished my view of WordPress. I was sort of on the fence, in general, but that was so distasteful that you would obliterate users.

Chris: And not even a week - or something. You can't say, like, "Hey. Announcement: We are really angry with WP Engine for them suckling off our brand. We are pissed. They are not contributing. There are copyright violations. That's how we feel about it. They are just a parasite," or whatever. That's a word I use on purpose because it was not so long ago that they accused GoDaddy of being a parasitic company on this company.

Dave: Mm-hmm.

Chris: Now they're fine for some reason. Better than fine. They're a great member of the community. I'm like, what happened there?

Dave: It sounds like I can give you 8% of reasons why--

Chris: Yeah, did they?

Dave: I don't know.

Chris: Yeah. Yeah.

Dave: I don't know.

Chris: Maybe they did and that's why it's fine. I don't know. Yeah. But a heads up to the users of being, like, "Hey, we know that this can be a problem for WordPress users, too. We're not trying to punish you. We're just mad at the company that's above you."

And he always makes real clear it's not about the employees. It's not even always about the CEO, although he's made it about the CEO. It's about Lee Wittlinger - or whatever - the devil at the top with his money. Yeah. But he immediately made it about the users, so it feels a little dangerous.

Let's say you totally agree. Even if you're like, "Yeah, a little much, Matt. Maybe stand down a little bit. But I'm on your side, buddy, rubbing shoulders. You're right. They're jerks. Screw WP Engine. All this. I'm going to get my sites off WP Engine."

But does that mean your only choice is Automattic something? You would think... They don't think that, right? They still are aware this is an open-source product. They still want a community and the ability for people to host WordPress sites, right?

But who do I pick? Do I pick GoDaddy? I don't know. It feels dangerous because they were parasitic not long ago. The same thing could easily happen to any of them.

The signal here is, "Whoever you pick, boy, they better play nice or you, as a user, you're in danger."

00:28:23

Dave: Uh, yeah.

Chris: So, you have to pick Automattic. You have to. They're the only ones that are going to be free from this problem.

Dave: What's that other company? Fathom? Phantom?

Chris: Pantheon?

Dave: Pantheon. There we go. Sorry. Dyslexia attack. [Laughter]

Pantheon, the same story. They got banned from Word Camp - or whatever. Then they got put on blast. Now it's fine. So, it's hard to see this as anything other than you need to pay fealty to the king sort of situation.

Chris: Yeah.

Dave: By the way, the king offers a competitive product now. And so, it's hard for me, man. It doesn't feel like there's a win.

Again, I'm not... I was around in Austin when WP Engine was started and WP Engine is great for the Austin tech scene.

Chris: Yeah?

Dave: But again, I would totally have been, like, "Yeah, they need to give more. If they built their dang business on it, they need to give more." But I don't think punishing their users is the right way to do it. I think, if you have a trademark beef, that's just lawyers, and you can handle that in the dark. Then they come out and WP Engine says, "Hey, we're changing our name to Engine Town," or whatever. That can happen.

Chris: Yeah. Is it just a messaging thing? It might be for me because I'm like, "Man, you could have done this so much better." It just feels... Little pieces of it keep feeling weird, like, "Matt, you used your personal blog to be like, 'I never do this, but I want you to know much money I give to charity.'" Is that right? Right now? It's a weird, humble brag to just slide in there and be like--

Dave: You know I heard Alex Sexton say Matt Mullenweg gave to the jQuery Foundation. He's done good things, so I don't want to discredit that.

Chris: Mostly good things, I would say. Good guy stuff.

Dave: And the interactions I've had with Matt, he's been a chill dude, so it feels incongruent with what I know about Matt and WordPress is what's happening right now.

Chris: Maybe that's it. We feel a little like, for lack of a better word, betrayed or something.

Dave: Yeah, but I think there's also some....

Chris: It was my favorite thing.

Dave: --this has been going on for... These patterns have existed for a while. But I'm just going to throw this out there. When rich people say they donate money, [laughter] it's often to a foundation that they control, like WordPress.org - or whatever.

When I am Bill Gates and I'm giving to the Bill & Melinda Gates Foundation, man, I just gave a billion dollars to this other bank account I also own.

Chris: [Laughter]

Dave: What the fuck did you donate to? You know what I mean?

Chris: [Laughter]

Dave: I gave $100,000 to the church where I'm also the pastor. That's not a donation. That's just moving money to another bank account. You still control how that money is used and purposed.

If you are giving it to something where you don't control it, that's way more impressive--

Chris: Yeah. Yeah.

Dave: --than, like, "I gave money to myself. Good job, me. Obama putting a metal on myself."

Chris: That's not to disparage it. I want people to give money. I don't know.

Dave: Yeah.

Chris: It just feels ... Why now?

Dave: I'm not saying good can't happen - whatever. But when people say they give money, you have to be like, "Where?" [Laughter] Is it to organizations you control and have leverage on? Then I'm less impressed. That's all I'm getting at.

00:32:23

Chris: All right. Well, I hope people don't think we're... I don't know what I was trying to say there. It was mostly just feelings I wanted to get out at this point.

Dave: Vibes, yeah.

Chris: And I still feel a little in the dark, like I don't quite know who to trust because there's mud being flung and nobody... Yeah, we could use some real strong real journalism, probably here. Feel free to step in, Tech Press, and get... That's the point of journalism is that they get at the truth. And that's why we're not journalists. I have not talked to Matt. I haven't talked to anybody from either company here. That's 101 journalism.

Dave: Right.

Chris: Don't mistake this podcast for that.

Dave: Not to discredit Primeagen and Theo.

Chris: Yeah.

Dave: I have heard good things about their interviews. And they're also now cited in the lawsuit. Good for them.

[Laughter]

Chris: They give one interview and, boom, they're in the lawsuit?

Dave: Yeah.

Chris: Great.

Dave: They're in the lawsuit. Way to go, guys.

Chris: Yeah. I saw another co-friend of ours got accidentally called in it. I'll have to tell you offline because I don't want to make it worse for them if it happens.

Dave: Rut-roh. Yeah.

Chris: But they tried to redact who it was but then missed one of them, so you know exactly who said it.

Dave: Rut-roh.

Chris: Oops.

Dave: That's... I'm curious now. But I think tech journalism, somebody is acting up and they're like, "Let's bring that person on the show to get to the bottom of this." [Laughter] You know? Or, like, "This guy hates Web components. Let's give him a microphone," or whatever. You know?

Not like WP Engine is going to get on a podcast and sort it out or give their perspective.

Chris: No, this has long been a platform is platforming the baddies.

Dave: Yeah.

Chris: It leads to clicks and stuff, and it also feels like you're doing journalism but really you're just making sure that anybody that causes a stink gets an even bigger microphone. You've got to be really careful with that.

Remember. It's happened on this show.

Dave: Yeah. Yeah.

Chris: A bad guy stole my domain a long time ago. Maybe we should replay that show someday. That was pretty fun.

Dave: Yeah. Yeah. The Turd Burglar. What was his name? [Laughter]

Chris: Yeah. It was something like that.

Dave: Oh, yeah.

Chris: You know I don't think he ever... What did happen? Didn't he--? He wrote to me.

Dave: He wrote into you and said, "Dude, I'm sorry. I've kind of quit doing all that crap."

Chris: No, he didn't, though.

Dave: Right?

Chris: He said he was really sorry, but I'm still a criminal.

Dave: I'm still doing crimes.

[Laughter]

Dave: Hey, I'm sorry, but I overstepped.

Chris: Yeah.

Dave: I'm doing a lot of crimes, though.

Chris: Overstepped. Yeah.

[Laughter]

Chris: Yeah, he did. He never stopped doing crimes, which - I don't know to laugh at, but you know all those stickers that say, "Be Gay & Do Crimes" and all that stuff. I laugh at that. I wonder. Is that what you mean, though? I don't know. I have trouble understanding what it means.

Dave: It's way less glamorous. Just be gay and scam servers for crypto. [Laughter]

Chris: Yeah. That kind of like if you're doing crimes against people who are morally awful themselves, that makes sense to me.

Dave: Yeah. Yeah.

Chris: But the very generic, "Do crime," I hate it when people do crime to me. Crime has consequences that hurt people.

Dave: Yeah.

Chris: Why are we advocating crime? I don't get it.

Dave: I want my bike back.

Chris: Yeah! [Laughter]

Dave: I approve of your sexual orientation, but I want my bike back.

Chris: Yeah!

[Laughter]

Chris: That's tricky.

Dave: Uh!

Chris: Yeah, they're not ... "Be Gay. Don't Do Crime," sticker isn't selling as well.

In other news, there are a lot Web component stuff going on. The Solid Guy, Ryan Carniato.

Dave: Carniato, yeah.

00:35:54

Chris: Was like, "Web components are the single worst threat to the Web that exists today." [Laughter] And a lot of people were like, "I'm sorry. What?" Another kind of--

Dave: That was a big, "Wait. What?!"

Chris: A lot of agreement, though, and a lot of, "Wait. What?!"

Dave: A lot of agreement from the usual cast of characters, I would say. Rich Harris, Evan You also kind of joining the dogpile on Web components.

I will be... I think it's a little... It's a little... The natural human reaction is to become defensive when somebody attacks the thing you like or are doing or how you make money, right?

Chris: That's what Cory LaViska said about the article. He was just like... Yeah, anyway, go on.

Dave: Well, it's like, "How am I supposed to respond?" But for me, when a framework author or three framework authors come together in a united sort of sentiment that Web components are hard to deal with our component model, then I think there's something there.

You read Ryan's post. We can link it up. It's not a problem to do that. There's nothing problematic in it. It's very well-reasoned from his perspective. But I think if you start teasing out the reasons of what he's experiencing, he's kind of like, "Web components are just overhead. Web components do this."

When you start teasing out why, I think it comes down to this idea of attributes and props and events inside the Shadow DOM. Does that make sense?

Chris: It does, though. There's not that much to discuss here. We're not discussing the world economy with 50,000 things. Web components are just a set of some things. If you're going to crap on them, you've got to pretty much call out really specific things, and I guess that's what's being called out.

The example that there has to be some client-side JavaScript that executes in order for them to kind of do what they need to do, sure, that's a criticism. You can say, "You will never be able to remove that bit of overhead that they require." You can argue that if you want.

I read Nolan Lawson's post, too, which also said, "Don't criticize me - or do, but know that a little bit of performance overhead is a tradeoff because everything is a tradeoff," and it's not the worst one ever, and it really depends on your circumstances and what's going on. You can't say that eight milliseconds will always beat out ergonomics or any other of the many tradeoffs you can make in this situation.

00:39:00

Dave: Yeah. I think, pound for pound, your Web component. There's data on Wikipedia that shows this. Your Web component is not going to behave as poorly as your React component. Just purely from kilobytes over wire over memory execution on a client.

The cost of running, executing on the client is way lower. That said, I do. I wish there was a more declarative way to write Web components. I think the problem he's having, Evan is having, Rich is having, is in their for loop that tries to statistically analyze a site, attributes and properties aren't the same thing. It would be cool if, on the server, everything was just this clean tree of an object, this big object that perfectly renders a website. I think that would be great.

However, in Web components, well, not even in Web components, in HTML, attributes and properties are a jumble. They're not the same thing where you go ...props in React.

Chris: Right.

Dave: That's not how HTML works. HTML is like, "Well, this can be an attribute, and this can be a prop." A prop is on the JavaScript side of things. That's in the JavaScript interface. Attributes in the HTML interface. HTML can be--

Chris: Yeah, sometimes they overlap and sometimes they don't. The checked attribute of an input or something is an attribute on the element and is a JavaScript property. And they happen to have the same name, but it's not always the case, right?

Dave: Right. Then there are knowable attributes, like checked.

Chris: There's no text content attribute, but text content is a property of the thing.

Dave: Yeah. Yeah, so text contents are great. it's like a property. It's not an attribute. So, you have all these things. There are differences between HTML and a React component.

But I think the surface area shows up in Web components more because, in a Web component, I can willy-nilly just create props and attributes whereas your average person probably doesn't. I think that's part of it.

Then I think, in Solid, it's really tempting to say, "Okay, div.on-click," right? Div on click is actually document on click, then I see if the event target is this div. That's an optimization you can make.

Chris: Mm-hmm.

Dave: Web components change the story because there's a way to make an event that doesn't bubble up. Events happen inside that Shadow DOM, and so the event can bubble up or it cannot, right?

Chris: Oh, I see what you're saying. You're like, "They can't make that optimization. They need to figure out, through logic, whether they can or can't make that observation. And that kind of annoys them, right? It complicates the framework.

Dave: And so, that slows down and bloats their for loop that is analyzing all the DOM... their tree walker of all the DOM notes.

Chris: Yeah. It could be declarative Shadow DOM where that shows up. You're walking straight up HTML, but that on-click handler still ultimately manifests inside of Shadow DOM where it will not bubble up to the document. Yeah, that's very interesting.

Dave: Yeah, so--

Chris: Yeah, but they can't... The Web cannot care. I mean I know they do sometimes with - I don't know - flat map and all that stuff. But the Web generally should not care what a framework is doing. They have to make decisions that work for the Web. They can't just be like, "Oh, there's this one framework that's going to have bloated code because of a choice we made." That would make me angry if the Web was making choices based on that. You're like, "No."

Dave: Yeah, yeah.

Chris: You need to do what's right for the Web.

00:42:50

Dave: Well, and so that's the question. Is it a problem with Web components? Yeah. Is it a problem with your abstraction that HTML is just a JavaScript object? Also, may be true.

I don't want to denigrate that argument, that pain point too much. To be honest, my reaction was not... I was--

I had to overcome my initial... When somebody says, "Your thing shouldn't even exist," I had to overcome my initial snark, just my initial resort to humor because it's just kind of an absurd situation, this idea that this shouldn't even exist. It takes a lot to overcome that, but I did. I brought this up in the Web components community group, which is why this thing exists to kind of surface these issues and tried to find the constructive feedback.

I don't know that everyone agrees, but I think people are starting to think about and reason about solutions that might make this easier. There's also this thing where import Node and adopt Node are different. That's kind of a weird, very micro issue.

Chris: Yeah, it's above my pay grade, I'm afraid.

Dave: Well, it's a GitHub issue on W3C, but then that's what Rich Harris says attacks. It's attacks that have to talk to W3C about API problems. Is that not the job, man?

Part of our job is we work on these machines. We work on software--whether we like it or not--that was not written by us, that was not decided by us. We build on this software. I don't think we just get to call the shots. You know what I mean?

Chris: Yeah.

Dave: I think it's a big World Wide Web, man.

00:44:53

Chris: Then it becomes not about technology at some point, and it gets into heel digging and that kind of thing and hyperbole and stuff. You know? I've never even met Ryan, but I do super respect his work, super cool. Then at the bottom of the post he's like, "In ten years, I would rather use a ten-year-old copy of Solid than wherever Web components are."

Really?! You can see ten years into the technology future and you've already made the choice of what you're going to do? That's like signaling to people, "You should think that, too." Kind of like, "I feel that strongly about it," and people take a side. It's like people take--

I think there are a lot of people on Matt Mullenweg's side because he's rich and a successful business owner of that. People are on Elon Musk's side, Elon Musk just because he's rich and did Tesla. He could say anything, and they'd be like, "Damn straight, brother. That's the way it is." I feel like even at a micro-tiny level, as a framework author in JavaScript, you get a little bit of that effect.

Dave: I don't want to get into the roots of capitalism in this whole conversation. [Laughter] But I do think there are echoes of it, right? It's funny how money changes the conversation because you'll hear, "Oh, Web components are dumb, but Web Awesome is cool." Why?

Chris: [Laughter]

Dave: Shoelace is cool. Why? Because it made $750,000 on a Kickstarter, so now it's cool?

Chris: Correct. That's right, and it has the word "awesome" in it.

Dave: Are we--? Well, it is awesome for that reason. And it is awesome. It is good.

Lit... Oh, Web components are stupid unless you use Lit - or whatever. It's like Lit was heavily funded. It's just funny how money changes the conversation.

Then even in this whole argument, I could almost put Ryan's whole article, which I don't want to do. But I don't want to reduce it to this. But there is an echo of communist central planning does not work, a.k.a. Web standards. Communist central planning doesn't work. Capitalist innovation, a.k.a. frameworks, is better.

I don't know. I struggled with that. Once I sort of saw that revelation, I was kind of like, "Ooh, this is sort of like--" there are echoes of that argument inside of here. Everything should happen in the free market. Nothing should have these communist, centrally planned and built things.

Chris: Wow! This was a spicy episode, Dave, but we did it.

Dave: Sorry. I went full anti-Soviet there, so I apologize.

[Laughter]

Chris: That's good, though. We have to do this sometimes. I have actual emotions about all this, and subject to change.

Dave: Subject to change. Yeah, and I will say I think my rants on capitalism aside, I think there are... I don't think throwing a hand grenade into a room to inspire change is the best way to do it. But I do think people are saying, "Hey, this is--" Okay, obviously, there are some issues here. There are some feelings being expressed. Let's dig in and see what we can move. That's part of Web standards and WordPress is maybe different. For Web components, it's like, what can we do? What can you do is a big question. What can browsers do? What can we get safari to do? Those are big questions. And so, we have to kind of take that all in with a big lens. So, anyway.

Chris: Yeah. Well, thanks for the rant session, Dave. Back to your regularly scheduled programming.

Dave: Oh, yeah. Thank you, comrades, for downloading this in your podcatcher of your government-sanctioned podcatcher of choice. Be sure to star, heart, favorite it up. That's how people find out about the show.

Follow us on Mastodon. That's the good one. Then join us in the D-d-d-d-discord for all the hot drama in the world. Thanks.

Chris: [Laughter]

Dave: Chris, do you got anything else to say?

Chris: Oh... ShopTalkShow.com.