LWN: Comments on "The WordPress mess" https://lwn.net/Articles/991906/ This is a special feed containing comments posted to the individual LWN article titled "The WordPress mess". en-us Sun, 05 Oct 2025 11:47:43 +0000 Sun, 05 Oct 2025 11:47:43 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Criminal? https://lwn.net/Articles/996761/ https://lwn.net/Articles/996761/ Wol <div class="FormattedComment"> <span class="QuotedText">&gt; Nah, it's two companies fighting each other. I don't see why the government should get involved - they only do and should when the public gets harmed. And here, public doesn't really mean 'customers' either, after all - if you have a contract with WP Engine and they don't deliver, they are to blame. If they decided to depend on a 3rd party without a contract because they're trying to make their VC investors as much money as possible by contributing as little as possible to the ecosystem, well - their fault, you can sue them.</span><br> <p> Except this is (allegedly) Microsoft versus Lotus / WordPerfect / NetScape etc all over again.<br> <p> Lying or misleading your co-opetition is a serious market offense - called "monopolisation", and from what I can tell, this fits it to a T. The resulting damage to the public is serious, and even 30 - 40 years after the event I would say computing is still not recovered from the damage MS did. Do you really want to see the same long-lasting damage in the Wordpress arena?<br> <p> The WP Engine claim is basically that Automattica told the markets one thing, and then failed to deliver, enticing their competition to rely on promises that meant nothing. In other words, blatant AntiTrust.<br> <p> Whether a prosecutor wants to take those claims up, we'll have to see, Whether those claims will hold water, I don't know. But they are clear claims of AntiTrust, and Market Manipulation. Which are clear threats to the public.<br> <p> Cheers,<br> Wol<br> </div> Sat, 02 Nov 2024 15:16:19 +0000 Criminal? https://lwn.net/Articles/996751/ https://lwn.net/Articles/996751/ jospoortvliet <div class="FormattedComment"> Nah, it's two companies fighting each other. I don't see why the government should get involved - they only do and should when the public gets harmed. And here, public doesn't really mean 'customers' either, after all - if you have a contract with WP Engine and they don't deliver, they are to blame. If they decided to depend on a 3rd party without a contract because they're trying to make their VC investors as much money as possible by contributing as little as possible to the ecosystem, well - their fault, you can sue them.<br> <p> Sadly this is the 'business model' of a lot of companies, leaching off of open source projects. Not sure what to do about it, we as community have to find some solution that doesn't mean going closed source or doing stupid shit like Automattic - tricky.<br> <p> <p> </div> Sat, 02 Nov 2024 10:22:56 +0000 No mirrors? https://lwn.net/Articles/993532/ https://lwn.net/Articles/993532/ TRS-80 <div class="FormattedComment"> TensorFlow is responsible for 17% of data transferred from PyPI:<br> <p> <a rel="nofollow" href="https://kristoff.it/blog/python-training-wheels/">https://kristoff.it/blog/python-training-wheels/</a><br> <p> The whole post is about the cost of PyPI and worth reading.<br> </div> Thu, 10 Oct 2024 05:56:37 +0000 Risk management anyone? https://lwn.net/Articles/993104/ https://lwn.net/Articles/993104/ james Actually, Squid can "bump" or non-transparently MITM HTTPS traffic (and therefore cache it). In a CI environment, this might be a reasonable thing to do, if you consider Squid to be part of the same security domain as the CI environment. Mon, 07 Oct 2024 10:56:54 +0000 Risk management anyone? https://lwn.net/Articles/993019/ https://lwn.net/Articles/993019/ dskoll <p>I don't think confidentiality is an issue for CI/CD pipelines, especially for open-source products where anyone can just look at what exactly the CI/CD pipeline is doing. Sat, 05 Oct 2024 14:16:22 +0000 Risk management anyone? https://lwn.net/Articles/993010/ https://lwn.net/Articles/993010/ LtWorf <div class="FormattedComment"> Unless your attacker can infer that the debian.org hostname is a mirror and uses that information to understand what you're downloading from the sizes of the files that get downloaded.<br> </div> Sat, 05 Oct 2024 07:20:52 +0000 Risk management anyone? https://lwn.net/Articles/993005/ https://lwn.net/Articles/993005/ intelfx <div class="FormattedComment"> <span class="QuotedText">&gt; If your packages are signed and you verify the signature, https doesn't buy you anything.</span><br> <p> That's not strictly true. At the very least, transport-layer encryption buys you confidentiality.<br> </div> Sat, 05 Oct 2024 02:11:28 +0000 Risk management anyone? https://lwn.net/Articles/993003/ https://lwn.net/Articles/993003/ dskoll <p>Apt doesn't require https. In fact, all of my <code>sources.list</code> entries are http. <p>If your packages are signed and you verify the signature, https doesn't buy you anything. If a package is validly-signed, then it doesn't really matter where you downloaded it from. Sat, 05 Oct 2024 01:08:40 +0000 Risk management anyone? https://lwn.net/Articles/993000/ https://lwn.net/Articles/993000/ kleptog <div class="FormattedComment"> Squid proxies only work for HTTP traffic. For HTTPS it doesn't help at all. Since all the package managers (rightfully) depend on HTTPS for security any caching cannot be transparent.<br> <p> So even of GitLab of Azure DevOps wanted to provide caching for npm or PyPi, they couldn't do it in a way that's transparent. And if they provide a non-transparent mechanism, it makes it a potential MITM.<br> <p> Ideally there'd be an extension to HTTPS to allow clients to opt into caching, while still preserving the authentication properties of HTTPS, but I think the ship has sailed on that one.<br> </div> Fri, 04 Oct 2024 21:40:53 +0000 Risk management anyone? https://lwn.net/Articles/992879/ https://lwn.net/Articles/992879/ LtWorf <div class="FormattedComment"> In my own experience, it's most usually few organizations spamming, rather than many organizations. Easy to see because overnight the daily downloads might halve or double. And I doubt it's because thousands of organizations all went to use a different library all in the same day.<br> </div> Fri, 04 Oct 2024 08:22:53 +0000 Criminal? https://lwn.net/Articles/992862/ https://lwn.net/Articles/992862/ yeltsin <div class="FormattedComment"> Maybe: <a href="https://wpengine.com/wp-content/uploads/2024/10/Complaint-WP-Engine-v-Automattic-et-al-with-Exhibit.pdf">https://wpengine.com/wp-content/uploads/2024/10/Complaint...</a><br> <p> I know very little about the US legal process, but this seems important enough to maybe update the article, or even post a separate news entry?<br> </div> Fri, 04 Oct 2024 01:00:48 +0000 Risk management anyone? https://lwn.net/Articles/992861/ https://lwn.net/Articles/992861/ yeltsin <div class="FormattedComment"> Depends on where you live. I'm thousands of kilometers away from major datacenters, and every developer worth anything sets up aggressive dependency caching for every CI job because it's unbearable to use otherwise. <br> </div> Fri, 04 Oct 2024 00:53:10 +0000 Risk management anyone? https://lwn.net/Articles/992858/ https://lwn.net/Articles/992858/ pizza <div class="FormattedComment"> <span class="QuotedText">&gt; Is it vital to check that the original file is still online 5 thousands times per day?</span><br> <p> For a single organization? Probably not. But if it's 50000+ different orgs each checking once a day?<br> <p> <span class="QuotedText">&gt; And what if it isn't?</span><br> <p> Then you have to determine why, and adjust your system's data source accordingly.<br> <p> (Note "original file" can easily point at a private/internal mirror or some sort of SW BoM artifact storage. Granted, some ecosystems make this sort of thing ...challenging to set up and transparently utilize)<br> </div> Thu, 03 Oct 2024 21:55:18 +0000 Risk management anyone? https://lwn.net/Articles/992857/ https://lwn.net/Articles/992857/ SLi <div class="FormattedComment"> It certainly is vital to check it often if your build does fetch it from somewhere external. Now fetching it from somewhere external may not be the right thing to do, but absolutely, a CI should detect if a build breaks, and a cache would only mask this failure. A proper mirror with no unpredictable expiry rules is another matter.<br> </div> Thu, 03 Oct 2024 21:50:49 +0000 Risk management anyone? https://lwn.net/Articles/992856/ https://lwn.net/Articles/992856/ LtWorf <div class="FormattedComment"> At work at least for local builds I made our system use a cache that gets mounted into the container. It saves considerable amount of time (and allows working on mobile connections) to not download several hundreds of MB of things every time.<br> </div> Thu, 03 Oct 2024 21:39:02 +0000 Risk management anyone? https://lwn.net/Articles/992855/ https://lwn.net/Articles/992855/ LtWorf <div class="FormattedComment"> Is it vital to check that the original file is still online 5 thousands times per day?<br> <p> And what if it isn't?<br> <p> Debian is full of packages whose original websites are gone. Every once in a while someone uses the last .tar.gz from debian to make a fork.<br> </div> Thu, 03 Oct 2024 21:36:47 +0000 Risk management anyone? https://lwn.net/Articles/992847/ https://lwn.net/Articles/992847/ dskoll <p>It's pretty easy. In my case, the build code was downloading a tarball over HTTPS, so it could easily have used the If-Modified-Since: header. <p>However, I suspect the build was done one a virtual machine that was spun up from scratch anew each time, so there was no existing tarball for it to check the timestamp against. Thu, 03 Oct 2024 19:46:49 +0000 Risk management anyone? https://lwn.net/Articles/992831/ https://lwn.net/Articles/992831/ raven667 <div class="FormattedComment"> Yeah, mirroring and caching web content is far less emphasized in general than it used to be when connection speeds were slower. I don't hear about people setting up Squid proxies or creating internal mirrors, both of which used to be pretty routine IT infrastructure. Now directly updating/installing from public mirrors is fast enough in most cases that people don't keep working to optimize their process and move on, whereas before when you might only have a 1Mbit connection to the Internet shared by your whole office, you couldn't afford the time spent downloading the same thing more than once<br> </div> Thu, 03 Oct 2024 18:19:36 +0000 Risk management anyone? https://lwn.net/Articles/992823/ https://lwn.net/Articles/992823/ pizza <div class="FormattedComment"> <span class="QuotedText">&gt; How easy is it for a remote download to tell nothing has changed?</span><br> <p> There's another aspect to that -- caching is important, but another thing the CI needs to test for is that the original resource is still available.<br> <p> ...I've had plenty of CI runs that _falsely_ succeeded because they used a cached copy of a no-longer-available resource, leading to unexpected failures when (eg) doing a production build or spinning up a new developer environment.<br> </div> Thu, 03 Oct 2024 16:59:17 +0000 Risk management anyone? https://lwn.net/Articles/992821/ https://lwn.net/Articles/992821/ Wol <div class="FormattedComment"> How easy is it for a remote download to tell nothing has changed?<br> <p> Running gentoo, I'm conscious that seems to download everything every time, but it also doesn't download unless something has changed (be it ebuild, use flags, whatever). <br> <p> I would think it *should* do a shallow git clone, and keep that lying around unless the user explicitly clears it (it leaves enough stuff lying around, why not that), so even if use flags and stuff has changed, it would have no need to get the source afresh unless there really is an upgrade.<br> <p> But not knowing python, or the guts of portage, I have no way of knowing if that's actually the case ...<br> <p> Cheers,<br> Wol<br> </div> Thu, 03 Oct 2024 16:52:34 +0000 Risk management anyone? https://lwn.net/Articles/992817/ https://lwn.net/Articles/992817/ dskoll <p>Yes. I've blocked downloads of some of my software from various places that re-download the same thing every single time they do a build. There's no excuse for that sort of abuse.</p> Thu, 03 Oct 2024 16:11:11 +0000 Risk management anyone? https://lwn.net/Articles/992799/ https://lwn.net/Articles/992799/ aragilar <div class="FormattedComment"> While I do run both PyPI and npm caches (both of which were fairly easy to set up), I would argue the majority blame should be shifted to the hosted CI providers (especially GitHub via its Actions ecosystem as it has the worst setup for caching I've used), who could all provide a caching server and make it easy to use (either by setting the required environment variables by default, or via whatever configuration mechanism makes sense for their system), rather than the developers themselves.<br> <p> Currently, for hosted CI, you would need to spin up your own cache servers, which given the value of hosted CI is to not need to run servers, would seem to be a much larger ask of individual developers.<br> </div> Thu, 03 Oct 2024 12:32:44 +0000 No mirrors? https://lwn.net/Articles/992765/ https://lwn.net/Articles/992765/ aragilar <div class="FormattedComment"> I can't comment on how you would cache wordpress.org, but there are numerous tools which provide caching/mirroring of PyPI (for various use-cases, requirements and scales). If Azure (or more likely one of their customers) became abusive of the service (as someone did for the XMLRPC service), I don't see PyPI wouldn't and shouldn't as a last resort block Azure (as happened with the XMLRPC service). I would expect Azure to be reasonable and provide a cache/mirror and/or deal with abusive customer, but it would appear in the wordpress case reasonableness has gone out the window.<br> </div> Thu, 03 Oct 2024 12:24:14 +0000 Risk management anyone? https://lwn.net/Articles/992730/ https://lwn.net/Articles/992730/ LtWorf <div class="FormattedComment"> Check the download counters on pypi or npm. Basically the idea of "mirroring" is completely unknown to current developers.<br> <p> You of course redownload all your dependencies every single time that you run your CI!<br> </div> Thu, 03 Oct 2024 09:07:40 +0000 No mirrors? https://lwn.net/Articles/992691/ https://lwn.net/Articles/992691/ edgewood <div class="FormattedComment"> I agree that it would be legal (unless there's already a contract) but unreasonable for PSF to cut off Azure in this hypothetical situation. If there was an excessive bandwidth usage, throttling or a warning that they could be cut off in the near future would be reasonable.<br> <p> However, unlike in the hypothetical, WP Engine sent a cease and desist/preserve documents letter the day before the cutoff. I think that makes the cutoff more reasonable: if you're freeloading, maybe you should take some steps to stop relying on those free services before you go making legal threats.<br> </div> Wed, 02 Oct 2024 18:31:21 +0000 No mirrors? https://lwn.net/Articles/992682/ https://lwn.net/Articles/992682/ Kalenx <div class="FormattedComment"> Legal? As I already said, absolutely.<br> Reasonable? No sure I agree (IOW: I strongly disagree)<br> <p> No one is obliged to keep up a Python package index. The Python Software Foundation does it because, presumably, it helps them fulfilling their own stated mission: "We are devoted to creating the conditions for Python and the Python community to grow and thrive."<br> <p> If they start cutting off random people, including end users who did nothing wrong (other than choosing the "wrong" cloud provider), they are not, IMHO, "creating the conditions for the Python community to grow and thrive".<br> <p> <span class="QuotedText">&gt; If it were found that Azure users actually overload PyPI service and Microsoft does nothing to compensate that and this affects non-Azure users… then it would have been the right thing to do.</span><br> <p> That would be the nuclear thing to do; not sure it makes it "right". Just as an example, throttling could also be an option. But anyway, we are going off topic, since this is clearly _not_ what happened in the Wordpress/WP engine case. This "resource usage" was not mention until after the fact...<br> </div> Wed, 02 Oct 2024 17:12:30 +0000 No mirrors? https://lwn.net/Articles/992602/ https://lwn.net/Articles/992602/ khim <font class="QuotedText">&gt; Well, personally, I consider this action equivalent to the Python Software Foundation abruptly locking out Azure users from Pypi, stating a vague "Microsoft does not contribute enough to Python" to claim the moral high ground.</font> <p>IOW: something that's perfectly reasonable and legal thing to do. Free software does come with source but it doesn't come with a free support license, one have to always remember that.</p> <font class="QuotedText">&gt; Sure, I guess there is no legal obligation for the PSF to provide services to Microsoft clients (or anyone, for that matter) but it would still be a highly dubious move, highly detrimental for the Python community.</font> <p>This would depend entirely on the situation around Azure, PyPI, etc. If it were found that Azure users actually overload PyPI service and Microsoft does nothing to compensate that and this affects non-Azure users… then it would have been the right thing to do.</p> Wed, 02 Oct 2024 09:40:43 +0000 Criminal? https://lwn.net/Articles/992541/ https://lwn.net/Articles/992541/ raven667 <div class="FormattedComment"> It'd be really funny if any of the threats that Automattic made against WP Engine were legally actionable crimes, since they seem to be well documented, although prosecutors tend not to go after those with deep pockets if they can avoid it as those cases can consume a lot of resources and they are unlikely to win.<br> </div> Tue, 01 Oct 2024 20:31:40 +0000 Risk management anyone? https://lwn.net/Articles/992490/ https://lwn.net/Articles/992490/ hkario <div class="FormattedComment"> not when they're just burning VC money, at least not by all definitions<br> </div> Tue, 01 Oct 2024 17:02:08 +0000 Risk management anyone? https://lwn.net/Articles/992474/ https://lwn.net/Articles/992474/ notriddle <div class="FormattedComment"> That is an insult to the cloud computing people. At least they pay money for what they use!<br> </div> Tue, 01 Oct 2024 15:05:26 +0000 Risk management anyone? https://lwn.net/Articles/992423/ https://lwn.net/Articles/992423/ pizza <div class="FormattedComment"> <span class="QuotedText">&gt; Besides the social media drama for which I couldn't care less, I cannot grasp why WP Engine would run into that trap. If you and your users depend on something, than you have to make sure you have it availabl</span><br> <p> But that costs actual money to provide, and doing so is apparently antithetical to their business model of externalizing costs to maximize profits.<br> <p> <p> </div> Tue, 01 Oct 2024 11:53:30 +0000 No mirrors? https://lwn.net/Articles/992419/ https://lwn.net/Articles/992419/ aragilar <div class="FormattedComment"> Not entirely the same thing, but PyPI does block outlook emails (<a href="https://blog.pypi.org/posts/2024-06-16-prohibiting-msn-emails/">https://blog.pypi.org/posts/2024-06-16-prohibiting-msn-em...</a>), which is due to spam account issues.<br> <p> It's not clear to what extent WP Engine's use of Wordpress.org infra could be called excessive (if at all), but presumably they could have had a cache in front of the services (which would seem to be a wise thing to do anyway) or contribute to running the services if using a cache is not possible due to how wordpress is designed?<br> </div> Tue, 01 Oct 2024 10:39:11 +0000 Risk management anyone? https://lwn.net/Articles/992380/ https://lwn.net/Articles/992380/ mb <div class="FormattedComment"> Running your own stuff is soooo 2000s.<br> We have 2024! We now only put stuff on somebody else's magic machines and call it "cloud".<br> It's much betterer, because somebody else does the work!<br> </div> Tue, 01 Oct 2024 05:46:20 +0000 Risk management anyone? https://lwn.net/Articles/992379/ https://lwn.net/Articles/992379/ JanSoundhouse <div class="FormattedComment"> Besides the social media drama for which I couldn't care less, I cannot grasp why WP Engine would run into that trap. If you and your users depend on something, than you have to make sure you have it available. That would mean you have to run your own mirrors. Always. Did they not take any notes from the 2016 npm incident where one minor dependency vanished and it broke the (www) world?<br> <p> <p> </div> Tue, 01 Oct 2024 05:37:32 +0000 No mirrors? https://lwn.net/Articles/992372/ https://lwn.net/Articles/992372/ Kalenx <div class="FormattedComment"> Well, personally, I consider this action equivalent to the Python Software Foundation abruptly locking out Azure users from Pypi, stating a vague "Microsoft does not contribute enough to Python" to claim the moral high ground.<br> <p> Sure, I guess there is no legal obligation for the PSF to provide services to Microsoft clients (or anyone, for that matter) but it would still be a highly dubious move, highly detrimental for the Python community.<br> </div> Tue, 01 Oct 2024 01:35:18 +0000 No mirrors? https://lwn.net/Articles/992355/ https://lwn.net/Articles/992355/ hailfinger <div class="FormattedComment"> So... some companies were using a single centralized foreign resource directly and didn't even think of mirroring that resource or paying the entity hosting/maintaining the resource? And then those companies sold the stuff they got for free? And now the entity maintaining the resource is expected to serve and shut up?<br> <p> That's really stupid from a supply chain perspective and really questionable from an ethical perspective.<br> <p> If I have a business, but no contracts with my supply chain, my supply chain can disappear or turn hostile any second. The complaints by various hosting providers/resellers read like "Mommy, Annie is not letting me play with her toys anymore!". Note how absent the "but we contribute equally" argument is.<br> </div> Mon, 30 Sep 2024 21:54:02 +0000 Very nice recap https://lwn.net/Articles/992337/ https://lwn.net/Articles/992337/ pwfxq <div class="FormattedComment"> It's much clearer than other analyses of the situation than I've seen on other news sites. The background of the trademark ownership is also much appreciated.<br> <p> Thank you.<br> </div> Mon, 30 Sep 2024 19:33:26 +0000 Very nice recap https://lwn.net/Articles/992332/ https://lwn.net/Articles/992332/ post-factum <div class="FormattedComment"> Exactly, thanks a lot for this article.<br> </div> Mon, 30 Sep 2024 18:40:59 +0000 Very nice recap https://lwn.net/Articles/992327/ https://lwn.net/Articles/992327/ mdolan <div class="FormattedComment"> This is a very thorough recap of the situation - nicely done!<br> </div> Mon, 30 Sep 2024 18:02:54 +0000 Mullenweg is a problem https://lwn.net/Articles/992309/ https://lwn.net/Articles/992309/ fishface60 <div class="FormattedComment"> Mullenweg should've been sidelined after he took to Twitter to bully and dox a former Tumblr user for questioning the moderation policy.<br> If I were forced to pick a side this would make it easy.<br> </div> Mon, 30 Sep 2024 17:40:10 +0000