Carl Alexander Profile picture
Oct 5 38 tweets 18 min read
Let's talk about what it's like to contribute to WordPress outside of the project itself.

I've been doing it out of my own pocket for over a decade and it's been a struggle.

It's made me think a lot about open source sustainability in WordPress.

So here's a 🧵 and a warning 🤣 Image
Before we start, here's a little about my situation.

Most of what I work on making WordPress serverless is open source. I started @YmirApp to fund that open source work, but that hasn't worked so far so I created a GitHub sponsor page.
github.com/sponsors/carla…

Alright, let's go!
So we hear a lot about #FiveForTheFuture. WordPress companies and agencies pay developers to work on the WordPress project. This ensures that it receives the support it needs from the businesses that thrive because of it.

This is a great initiative!
wordpress.org/five-for-the-f…
But there's so much more to contributing to WordPress than contributing to the WordPress project itself. Yet, the WordPress project only considers direct contributions to be valid.

This is a problem highlighted by @courtneyr_dev, @wpmodder and others.
make.wordpress.org/project/2022/0…
I don't agree with this stance of only supporting direct contributions. (Thus this thread!) There's nothing preventing these agencies and companies from supporting these other initiatives.

And this, to me, is an unintended issue with #FiveForTheFuture I feel is worth discussing.
I feel that #FiveForTheFuture (5ftF) has given us a way to absolve ourselves from supporting these other things. We can tell ourselves, "Well, I don't need to support anything else. I'm doing 5ftF." or "No one else needs help because of 5ftF."

But that's wrong.
WordPress is more than the project itself. And supporting WordPress is more than just contributing to #FiveForTheFuture. We're doing a really poor job supporting these other initiatives or even open source at large.
And, for a community that prides itself on open source, I find it weird that I feel it does a poor job supporting the open source work of others. Just in the PHP ecosystem, it's common to see people, companies, agencies supporting the work of community members.
Here's an example: PHPUnit.

I don't think anyone can say WordPress doesn't use PHPUnit. Now, looking at who sponsors Sebastian, I spy @TimothyBJacobs in there. I'm sure there are a few other people as well! But why no Automattic? What about an agency?
github.com/sponsors/sebas…
This could very well be a "grass is greener" scenario. But I've been around for over a decade. I genuinely feel there's a divide between WordPress and everyone else in that respect.

We do a really poor job supporting people that work on anything but the WordPress project.
As with most situations, there are exceptions. You have @jasonbahl with WP GraphQL, @schlessera with WP-CLI. I'm happy to see that @johnbillion has 63+ sponsors on GitHub for his amazing work. (He also supports Sebastian!)
github.com/sponsors/johnb…
Meanwhile, @andersnoren, who builds beautiful free themes, gets two donations a month. (Screenshot from @post_status Slack) Image
This is just examples of people writing code.

But there are other people giving their time for other WordPress causes (e.g. representation and accessibility) and trying to make it sustainable for themselves.

It's hard to get help because it's #FiveForTheFuture or nothing.
So, prior to COVID, I spoke at a WordCamp every two months. I wrote articles. I organized WordCamps for almost a decade. This took, on average, 100+ hours a month of my time.

All those hours were unpaid work. No one paid for my time or travel expenses.
Again, if you've been in WordPress for a long time, you know how this works. There's always been a pushback to paying speakers, to paying WordCamp organizers, etc.

I'm old enough to remember the drama when WordCamp Paris tried paying for speaker travel 🤣
make.wordpress.org/community/2014…
But basically, I survive on 40h/month of consulting work.

I make it work through a combination of thriftiness, privileges (you get a lot of stuff for free as a 🇨🇦 citizen), good health and luck.

I spoke about it at @PressNomics in 2019.
carlalexander.ca/following-your…
Even with PressNomics, I wouldn't have been able to go if they hadn't covered all my expenses. It's an amazing conference (when it happens 🤣) and I'd love to go again.

But it's impossible to justify when the ticket + flight + accommodations is my entire monthly budget.
Personally, I've tried a few things to make what I do sustainable for myself. I wrote a book. It's made $29,000 since I published it in 2019. I consider it a great success.

But so far this year, it's made $2,553, which covers about a month of expenses. What about the other 11? Image
My other issue with educational products is that you have to keep updating the course or making new ones. You're always pitching it and selling FOMO.

I didn't like it and my socialist self feels education should be free anyhow 🤣

So how else can I make money? 🤔
A recurring thought I had was, "What if I could find something that I could open source, but also build a product around?"

It would be good for the community, but it would also support me. It felt like a win-win and also aligned with my values.
This is why I started @YmirApp. I saw @taylorotwell present Laravel Vapor to everyone at Laracon in 2019. And after, I said to @Josh412, "I'm going to build that for WordPress."

And so began the journey to turn WordPress into a #serverless application.
That was in 2019, and we're in 2022 now. It's been three years of working on making WordPress work as a serverless application.

And let me tell you, at first, I definitely felt kinda crazy trying to make this work! In fact, I still regularly feel pretty crazy about it all 🤣
Now, if you're not familiar with how the internals of WordPress work, that's ok! The gist of the problem with serverless is that WordPress works under the assumption that it's on a server.

You have to do a lot of wizardry to make it believe it's still on server when it's not.
For example, I spent a month and a half figuring out how to have media library upload to S3 directly. Again there are S3 plugins that do that, but what they do is sync your media library that's on the server with S3.

What happens when there are no servers to do that from?
This is how things are when you work on an R&D project. But that's kind of what I'm trying to get at. I've been doing R&D for the WordPress community for three years.

That's also why @Rarst says I'm doing mad science. 🤣
That said, everything that @YmirApp uses to make WordPress serverless is open source. Ymir is just a product to manage your AWS serverless infrastructure. But you could use @goserverless, and eventually I'm sure some people will.
github.com/ymirapp
I'm also sharing everything you need to know about how to make WordPress work as a serverless application on the @YmirApp blog. It's everything I learned working on Ymir and architecting things on AWS. It's all there for everyone to learn from.
blog.ymirapp.com
So where am I at after three years? Ymir has been a paid product for 20 months and it still doesn't make $1000/month.

You can see my progress on my open dashboard.
ymirapp.com/open Image
To be clear, the product failure is mine. I own that. I spent too much time on the CLI. Not enough time on the dashboard. I'm correcting, but that takes time.

It's also a very technical product which is hard with WordPress. I'm also early in terms of the needs of the community.
But @Rarst is right, serverless is coming to WordPress.

You can just read @syedbalkhi thread last week. The next decade is going to be about WordPress cloud products where you can't just scale them by throwing more CPU cores at the problem.
So where does this leave me?

In my PressNomics talk, I talk a lot about balance. But I say that it all starts with balancing money because, without financial safety, it's hard to balance everything else in your life.

That's why so few people pull it off.
carlalexander.ca/following-your…
But there's a limit to that as well. Right now, I'm ok financially, but I'm juggling 6 clients, Ymir support and Ymir product development.

Any developer can tell you that that much context switching is murder. It's hard to focus and do your job well.
I could take funding. But if I did that, the rules would change. It's hard to build a product like Ymir and get to the millions of dollars of revenue if your main intellectual property is open source. Investors wouldn't want you to give away your intellectual property for free.
So I'm trying something else. I started a GitHub sponsor page.

I didn't want to do it initially because it felt futile due to what I'm discussing here.

But, at #WCUS, @austinginder said I should do it and a few others encouraged me as well. So there 💖
github.com/sponsors/carla…
In my ideal world, the hosting companies (especially the ones running on AWS) would be the ones helping me out since they're the ones who will benefit the most from my work.

But I've talked to friends there, and it seems unlikely they'd sponsor me. Happy to be proven wrong tho!
So here I am. I really appreciate any support and we'll see if we can improve how we can make things sustainable in the WordPress ecosystem.

I encourage others to try as well. Maybe the more of us do it, the easier it'll get in the long run.
If you'd like help out, please consider sponsoring me. 💖

Otherwise, you can also follow me for more PHP, serverless, WordPress, bootstrapping and open source.

But really, follow me for the memes and getting regularly roasted by @tommcfarlin, @patsleb and @jonathan_dejong.bab
Finally, I'd like to give a MASSIVE thank you to @lesley_pizza for helping me edit this thread. 💗💗

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Carl Alexander

Carl Alexander Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(