Hacker News new | past | comments | ask | show | jobs | submit | georgehotelling's comments login

What's the economic incentive for WP Engine to give back? They have a moral duty, sure, but as a business where is the profit? Anything they contribute to core will immediately be available to their competitors, so the naive read is that there's no competitive advantage in contributing back.

However, if they can influence the direction of the project, they can align it with your business goals. That gives them a competitive advantage, that gives them an incentive.

The challenge is that Matt is acting as a BDFL of the open source project. If Matt doesn't want your change added, your change isn't going to get added. There is no one to appeal to, Matt has absolute authority over the code that goes into the open source project that WP Engine's business is built on. Matt is also the CEO of WP Engine's competitor, Automattic.

This conflict of interest has come to a head in the past week and shone a spotlight on the lack of community stewardship of the WordPress project.

Keep in mind that Automattic requires its employees to get approval for any paid side gigs related to software because Matt believes that it creates conflicts of interest. You cannot work on WordPress for Automattic during the day and then freelance making paid WordPress plugins at night, due to the misaligned incentives. The fact that Matt isn't being paid a salary for his work on WordPress is irrelevant, given Automattic's equity is tied to the value of WordPress.

I think private equity skews heavily towards value extraction over value creation. I think that people who build businesses off of open source have a moral obligation to give back to the projects. I think that giving Automattic money to spend on WP core work will make WordPress better.

However, breaking the trust of the community does exponentially more damage to the future of WordPress than any freeloading company. The community trusts that the trademark licenses will not change to target them. The community trusts that their software will benefit from security updates and the plugin ecosystem. That trust is the foundation of WordPress and this week's actions have done damage.

Matt talked about going nuclear, and I think that the metaphor is apt, because when the smoke clears we may be left with no winners.

(I'm a former Automattic employee who roots for open source, WordPress, Automattic, and the vision of the open web Matt Mullenweg has shared.)


What is Netflix's economic incentive to pay their AWS bill every month?

My point is: The single thing the Wordpress side appears (to me) to have fucked up is that they seem to have made this personal. If they made a policy that when partners/consumers of the code/trademarks/services reach a certain well-defined size/usage threshold/etc then charge them X%/require a certain contribution back/etc; give proper notice; even if this policy were "silently" selectively enforced against WP-Engine because someone in Automattic has a grudge to grind: Their goodwill would be much higher.

Because then every single conversation about this starts with "Well, we have this policy, and we told WP-Engine about it six months ago and they ghosted us, oh well what other option do we have?" and not he-said she-said we've been talking for years blackmailing conference talks mess.

WP-Engine is a business. Treat them like one. Because you're exactly right, WP-Engine has no economic incentive to give back: So freakin bill them!


I think the problem isn't just that WP Engine doesn't contribute. I read that they pledged to, then had an internal policy not to contribute, and fired an employee for telling this to Matt on Twitter.

If that is really the case, WP Engine had to be exceptionally antagonistic against WP dot org for things to end up like this, but most people are treating it as if it is a simple conflict of interest between WP dot com and WP Engine.

>Last week, in a blog post, Mullenweg said WP Engine was contributing 47 hours per week to the “Five for the Future” investment pledge to contribute resources toward the sustained growth of WordPress. Comparatively, he said Automattic was contributing 3,786 hours per week. He acknowledged that while these figures are just a “proxy,” there is a large gap in contribution despite both companies being a similar size and generating around a half billion dollars in revenue.

https://techcrunch.com/2024/09/23/wp-engine-sends-cease-and-...

I really think they could have handled the PR better by providing more information about the decision on the official announcement. "Uses WP but doesn't contribute back" is something that applies to too many. "Built whole business on WP, pledged to contribute, but then didn't" is something that applies to very few.


> I think the problem isn't just that WP Engine doesn't contribute. I read that they pledged to, then had an internal policy not to contribute, and fired an employee for telling this to Matt on Twitter.

Can you share a link? I haven't been able to find that. A prohibition on contributions seems like a bad policy, because at some point WP Engine will want a change in Core and they need the political capital to make that happen.


I'm referring to this comment https://news.ycombinator.com/item?id=41614406

>It looks like people here are missing the context of the source of the issue between Matt and WP engine. Couple days ago he posted on X that wpengine has similar revenue to automattic, yet doesn’t contribute back to open source as much as they promised to (5 hour per week per employee or something like that). A wpengine employee replied to a post saying that management doesn’t allow them to contribute to Wordpress open source because it doesn’t align with KPI targets. That employee got fired the next day. That’s when Matt’s issue with wpengine escalated.

If you check Wordpress' Youtube channel, they uploaded the Q&A https://www.youtube.com/watch?v=fnI-QcVSwMU

There is a part Matt talks about protecting employees who speak up about WP Engine. This was also cited in the cease and desist letter by WP Engine.

I don't how much of it is true, but I don't think he would do all of this if there wasn't some truth to it.

>at some point WP Engine will want a change in Core and they need the political capital to make that happen.

Why would they need a change in Core? WP Core is already a very stable piece of software that supports half of the internet. It's extensible enough that you can add all "changes" you want through plugins. In fact that is another issue in all of this. WP engine says they "contribute" by creating plugins, while WP org insists that a contribution needs to be a contribution to WP core.

Matt gave an interview to about it https://www.youtube.com/watch?v=H6F0PgMcKWM and although he sounded very unprepared and showed no receipts, none of what he says sounds unreasonable.

A key point on the interview is that Matt has been trying to get WP Engine to contribute for years and they kept delaying on him. People called this "extortion," but in my view it's a way an open source project found to get a corporation that profits from open source to contribute. There is a "world-famous" trademark, and to use it you need to pay or contribute dev hours. He says various hosts had the same deal, and because he never had a problem with any of the other hosts, he ended up being "naive" and let WP Engine delay and delay for years because he didn't think they would just never agree to it. In the screenshots in the cease and desist by WP Engine you can even see messages from Matt including one where it sounds like WP Engine is telling him to set up a meeting next week instead of talking about it in the Q&A, to which he responds (paraphrased) "if you're saying next week you're saying no." Even up to the last minute he still tried to get an agreement, sending a photo of the audience, and got no favorable answer.

Ignoring the trademark violation allegations, and the whole "revisions" thing that some may think sounds ridiculous, there was a part he mentions Woocommerce has a Stripe code that gives part of the revenue to WP org, and WP Engine hacked the code to give the attribution to WP Engine, which means the money that would go to WP org (com?) goes to WP Engine. I think this is technically legal because it's GPL, but it doesn't look good if you're diverting millions of dollars that would go to WP org to yourself.

From what I've seen, it really feels like Matt tried everything he could to get a commercial entity to contribute to an open source project and now he's getting the blame because their customers are getting affected by it. It doesn't help that many who use Wordpress do not understand the separation between Wordpress, the source code (that WP Engine can still use), and the CDN that provides automatic updates (which WP Engine got banned from). The millions of WP Engine users using te CDN were costing WP org money that can now be invested in a different way. I've seen some even say a court could issue an injunction to force WP org to provide the updates for free. The "free ice cream" analogy Matt uses in the interview is really apt here.

If this goes to court I suppose allegations will start getting receipts behind them and we'll have a clearer view of what happened. To me, based on Matt's allegations, WP Engine is not being targeted for being a competitor like some say, but they have been given an exceptionally favorable treatment that was unjust to the other Wordpress hosts who were agreeing to pay for the trademark, and all of this was just WP org making things fair again.

In fact, Matt even says that if they do agree to contribute 8% of their revenue in cash or dev hours, they will get unbanned. I'm not sure if they will capitulate, but just the fact it isn't just "money" but "dev hours is okay" sounds to me that this isn't about money.


> What's the economic incentive for WP Engine to give back? They have a moral duty, sure, but as a business where is the profit?

Avoiding this exact situation which kills their business


What do you mean? They should pay up and submit to extortion and the whims of one guy?

They have 0 duty to do anything for WP. And thats also how WP got big. If everyone had to contrbute back, would the ecosystem be so big and WP be used everywhere? I doubt it.


> They should pay up and submit to extortion and the whims of one guy

Not necessarily, just saying that "extract only, never give back" has some inherent risk as a strategy. It could piss people off or it could dry up the well.


This situation might kill one of WP Engine or Wordpress.com, but I sure wouldn't bet on it being WP Engine that ends up in the grave.

>Avoiding this exact situation which kills their business

This situation is not going to kill WP Engine.


Every time I looked at the animated weather app, I would see the animation start in the past where clouds moved and grew and shrank naturally. As soon as it passed the present moment, the clouds would become fixed shapes and continue on whatever their current vector is. In the visualization there was no attempt to model clouds growing and shrinking. The clouds would suddenly start skidding across the screen.

I've read that is what the underlying precipitation "models" did as well, but obviously can't confirm.


Yes; they basically just extrapolated from these "rain blobs" on the visualization as the short-term forecast they provided to users. There are some long-since wiped blog posts that provide a bit more context on how they do a little bit of statistical processing of the general forecast model output to help with they "hyper-localization," but the reality is that it was terribly unsophisticated relatively to what is traditionally done in meteorology.

The rain nowcasting feature that Dark Sky popularized is now table stakes in any consumer weather app. There's little value in making these types of forecasts any more complex (e.g. using AI or other contemporary techniques) because they still have egregious and noticeable failure modes. And it's so trivial to make this type of forecast that there is open source software you can easily run to do it [1].

[1]: https://pysteps.github.io/


Look at windy.com, their cloud prediction works pretty much the same.


Dark grey #303030 text on slightly darker grey #1B1C21 background is really hard to read. Maybe I'm just getting old, but I also assume the audience for a blog post about the ASCII table was born in a year that starts with 19.


The background is white on my machine, are you using some kind of extension to force "dark mode"?


I'm using pi-hole, uBlock Origin, and Privacy Badger on Firefox. I checked my network tab before complaining and didn't see any resources that failed to load.


I'm not sure how to use this, I just see a blank screen with the word "delve" at the top and typing doesn't do anything. I'm on Firefox on macOS.


But that doesn't show the first tweet in the thread like in the screenshot.

I recommend everyone sharing social media links to see what it looks like in a private browser window, because the logged out experience is usually bad and sometimes unusable.


> But that doesn't show the first tweet in the thread like in the screenshot.

The second tweet is the one highlighted in the screenshot, and that's why I posted the link to that one. The screenshot has all the relevant information, and the link allows those with an X account to go and look at the whole thread.

> I recommend everyone sharing social media links to see what it looks like in a private browser window, because the logged out experience is usually bad and sometimes unusable.

I did that, and that's explicitly why I chose to link to that second tweet. If you have an account you get to see the whole thread. If you don't have an account then the screenshot gives you all the relevant information.


I don't have a twitter account and twitter/x links are basically unreadable now. Before they used to be somewhat readable, although threads often work 'backwards' from normal internet, but somewhere along the x transition the site pretty much broke. You can see individual tweets, but none of the replies and such now.


I opened an issue asking them to add `from typing import *` to the boilerplate.


Paperless started as "paperless" but the dev stopped work so another dev forked it to "paperless-ng" (for "next generation" I think). That dev, too, stopped work, so "paperless-ngx" was created.

The paperless-ngx's core team focused on gathering a group of people to support it to avoid any burnout problems and keep the project sustainable.


The x was rather the transition away from a single maintainer to the org. Iirc that guy still sticks around


One difference is that Twitter no longer shows threads to logged-out users, while Mastodon does. If someone posted the same thread to both sites, the Mastodon one would be better to link to.


I think this is a misfeature that will hurt Twitter going forward. I don't bother clicking a link to a Twitter thread any more because I know I'm just going to get prompted to log into the account I don't have. And I don't care enough to use an alternate tool, so I just move on. I expect I'm not alone.


But it is a feature. Musk’s takeover of BLUEBIRD is a deliberate act of transmutation, possibly even demolition.


I'm just happy for itertools.batched for chunking iterables: https://docs.python.org/3.12/library/itertools.html#itertool...


Yes. I’ve written explicit code that needed this 100s of times.


Yeah I've memorized it by now:

for i in range(len(lst) // batch_size + 1): batch = lst[i * batch_size : (i + 1) * batch_size]


You have a minor bug -- when len(lst) is a multiple of batch_size, this will have an extra iteration at the end with an empty batch. The fixed version is `range((len(lst) + batch_size - 1) // batch_size)`, which emulates `ceil(len(lst) / batch_size)`. Yet more proof that this should be part of stdlib :)

Personally I think I'd actually write it like this:

    for i in range(0, len(lst), batch_size):
        batch = lst[i:i+batch_size]
The docs give another pretty nice implementation using iter() and islice() in a loop (but it uses the walrus operator `:=` so it requires Python 3.8+ as written).


Blatant reason why a native solution was long overdue.


This is the greatest addition since f-strings!


99% of my more_itertools imports are exactly for this.

there's 1-2 other stuff from more_itertools that I think should make it to itertools. I'd actually like to see statistics from huge monorepos/opensource about usage stats of various more_itertools functions.


Same but for the ‘batch’, ‘ibatch’, and ‘abatch’ functions I started writing back in 2008.


Great call-out! (Mistakes elided..)


What do you mean by "empty sequence in"? The function doesn't raise if the input iterable is empty: it only raises if the chunk size n is 0. While that does have a natural interpretation of returning an infinite sequence of empty tuples, such a behavior would be qualitatively different than for other chunk sizes. The caller would never be able to retrieve any elements from the input iterable, and the output would be infinite even if the input is finite. In that light, it makes some sense (IMO) to avoid letting applications hit such an edge case unintentionally.


I skimmed that too quickly and was mistaken. Thanks.


Checkout more-itertools for more variants: https://pypi.org/project/more-itertools/


yeah! that's been in the ruby stdlib practically from day one, no idea why python was so resistant to it.


> I refuse to buy into somebody's walled garden

That's actually why I landed on Home Assistant. It's Open Source so I know that if things ever go bad someone will fork it and I won't have invested deeply in a dead-end ecosystem.

Getting started for me felt like the first time I learn a new board game. The rules seem incomprehensible and everything is unfamiliar, but that's the price of trying something new. Eventually the concepts started to click and I saw how things fit together.

I will say that telling my spouse to install an app with a web GUI was much easier than it would have been to get her on IRC to control the house.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: