OSMF

How can Tailwind CSS be so popular yet still struggle with sustainability?

We don't use Tailwind CSS at FireGiant, but I can't stop thinking about it. As a CEO responsible for keeping the lights on, and as a long-time Open Source maintainer, the situation is uncomfortably familiar. What does it mean that Tailwind is so popular and still unsustainable?

Tailwind CSS with Open Source Maintenance Fee logo

What happened?

Tailwind CSS is a massively successful Open Source project. It is one of the top, if not the top, CSS frameworks in the industry and it continues to grow in popularity. Weekly downloads from NPM are now over 30 million. 30M+ downloads a week is a lot.

But earlier this week, Tailwind the company laid off 75% of its dev team.

The Tailwind CEO, Adam Wathan, laid out the numbers. AI use reduced their web traffic by 40%. The lack of visitors reduced visibility of their commercial products. The result: revenue is down close to 80%.

One of the most popular Open Source projects on the internet could realistically “become unmaintained abandonware when there is no one left employed to work on it” as Adam so eloquently laid out.

What happened after that?

Well, Adam’s comment went viral on social media. That meant we got a lot of hot takes on the state of Open Source sustainability. Many people lamented the fact that a favorite project was dying without considering what they could do to help it. Others claimed this was just another example of how not to build an Open Source business. And a handful of people decided that Tailwind was important to them and/or their business and stepped up to sponsor the project.

It was encouraging to see that handful of forward-looking companies and individuals actually take action to sustain an Open Source project. I don’t have insight into individual sponsor numbers but from the Tailwind website we can see the following corporate sponsors (as of the time of this writing):

  • 34 Partners at $5,000/mo
  • 4 Ambassadors at $2,500/mo
  • 32 Supporters at $500/mo

If my math is right, that amounts to almost $200,000/mo from 70 companies. Not bad.

So, we’re good now?

For now, probably. $2M to $3M in revenue is good for a team of 5 (or even 8) at a typical software company. But…

The problem is that sponsorships are usually done for marketing purposes. And sponsoring Tailwind in the last couple of days was a great way to get very positive press. The question is how long do all of these 70 companies stay sponsors and sponsor at their current tier.

Previous Open Source sustainability events, like OpenSSL’s Heartbleed, generated millions to support the project for a year or two then dropped off as memory faded. If history is any guide, the same will happen here.

Which leaves me asking, “Is Tailwind truly sustainable now?”

So, what should we do?

Let me answer that with each of my two hats. First, as FireGiant CEO then as if I was a maintainer of Tailwind.

As FireGiant CEO, if we started to use Tailwind CSS, I would look for a way to fund ongoing maintenance. I’m not looking for marketing opportunities, I just want the project to be there for me. To that end, I would explore paying for an individual sponsorship. That’s $120/yr or $10/mo which is exactly the number I believe small companies (like mine) should pay for maintenance. And this is exactly what we do at FireGiant today for the 11 Open Source projects we depend upon that also accept sponsorships.

Now, pretending I was the maintainer of Tailwind CSS, I would adopt the Open Source Maintenance Fee. That would mean we’d: a) inform everyone of the upcoming change, b) decide whether to take maintenance fee payments through Polar or use GitHub Sponsors, c) add the OSMF EULA to the tailwindcss NPM package1 and d) publish a new (probably major) version of the package.

I tried to gauge how many companies use Tailwind. The best estimate based on public usage I could find was more than 26,000. If all of them are small companies, like FireGiant, and pay $10/mo then that could generate about $260,000/mo. That puts us in the same ballpark as the current sponsorships except now revenue is based on use of the NPM package, not marketing.

The important part is that Tailwind revenue is now aligned with its project success. The more users of the package, the more revenue for the company maintaining the project. The more money in the company maintaining Tailwind, the better the project can get. That is about as pure a virtuous feedback loop as you can get.

Does this maintenance fee concept actually work?

Yes.

I introduced the Open Source Maintenance Fee to my project in April last year. After nine months, we have 170 companies paying the fee. Introducing the maintenance fee completely changed my outlook on my project, very much for the better. And we’re still getting started (more on that in future blog posts).

So, what will you do?

As a CEO, my responsibility is to keep the lights on. Ensuring our dependencies are maintained is important for business continuity. But I think somewhere along the way we all started to believe that if an Open Source project is popular then it must be sustainable. Today Tailwind showed us that is not the case.

I will continue to pay a maintenance fee to all of FireGiant’s dependencies. For me, that’s simply part of running a responsible software business.

Footnotes

  1. If you are unfamiliar with the Open Source Maintenance Fee, the source code license remains Open Source and the OSMF EULA applies only to the binary distribution.