@radekmie

On Enterprise Paywalls

By Radosław Miernik · Published on · Comment on Reddit

Table of contents

Intro

Living off of one’s open source projects is sort of a goal for a lot of people. I was lucky enough to get paid for doing so in a multitude of ways over the years. Most of it came from my main job at the time, where it was one of my duties (see On Getting Paid for Open Source for details).

Having said that, when it comes to open source, I only worked on libraries, not products. At the same time, most of my non-open source experiences is SaaS applications, so I could say I know a thing or two about product companies, too.

So what’s today’s rant about? About the fact that some features come with an Enterprise label and a solid price tag. And as most companies don’t “feature sell”, you have to buy the whole package. Or find an alternative.

Single sign-on (SSO)

SSO is one of the most popular Enterprise features, I think. The idea is simple: instead of creating individual accounts for every employee on every platform you’re using, all employees would log in using their “company account” instead.

Why is SSO important? Because it serves as a security measure – offboarding someone becomes a no-brainer. (And there’s no way you’ll discover that X, who left over a year ago, still can access that one, rarely used platform.) Also, for some companies, it’s a must-have due to the applicable regulations.

And I’m not the only one unhappy with how expensive it is. If you didn’t know, the price per seat we’re talking about is usually at least doubled. Have a quick scroll through The SSO Wall of Shame – some prices are simply crazy.

Automation

Enterprise companies are large by definition. And large organizations want to optimize all repetitive actions as much as possible (or at least they should). That makes sense, as saving 5 minutes a day for 500 people sums up to a whopping 40 hours. That will make the investors happy, right?

As a result, all sorts of automation features feel basic but cost premium. One that I stumbled upon myself was Portainer – a management tool for Docker and Kubernetes. Automated updates are available in the open source version, but “setting a change window” (i.e., limiting updates to some time during the day) is one of the Business Edition features.

“But hey, their pricing starts at $99/month!” Sure, but it also ends at 24 vCPUs across all of your nodes. I agree – if your platform needs that much processing power, you’re most likely generating enough income to pay for it. Again, sure, but it also means that you should expect a price hike when you…

Scale

Those large organizations develop products that operate on tons of precious data coming from countless users, and generate huge network traffic, right? The inverse is obviously true as well, right? Of course it is!

That’s why Apollo GraphQL requires an enterprise license for query batching or entity caching in their Apollo Router. What’s the price tag, you may ask? Talk to them, they’ll happily schedule a call with you. In our case, it’s more than 10x of the current price. Yes, we’d need to pay ten times more to enable a feature of a single binary program we’re self-hosting. (Of course, it comes in a bag with other features we don’t really need and wouldn’t use anyway.)

Sometimes, the arbitrary pricing tiers are eased out through an option to “pay a little extra for a little extra”. Two notable examples are Hevo and Meilisearch, where once you exceed your quota, you’re not forced to (immediately) switch to a higher plan, but have some wiggle room for some extra charge. It’s not the best cost-effective approach, but I appreciate it for the occasional fuckups.

Closing thoughts

Don’t get me wrong, I know where it’s coming from! We’re charged for the value those features generate, not for the cost of implementing them. Offering paid consulting for your open source project can only take you so far, and that’s not enough to sustain a business.

As the year is coming to an end, we’re working on our budget for the next one, and I feel like it’s getting worse. Worse as in either more expensive for the same feature set, or more limited for the same price. In some cases we don’t even blink before accepting it – some things are just “valuable enough” for us.

And sometimes I create tasks to migrate elsewhere.