Monetizing Open-source is problematic

I write Open-source software occasionally. I have a project which is currently popular called faker.js. I've been working on Faker for over a decade. It's MIT licensed.

This blog post will describe my attempt to monetize the Faker project with a cloud offering. It will eventually come around to the Engineers of a seventy five million dollar startup funded by Sequoia Capital and John and Patrick Collison signing up for my cloud offering, testing my service, copying the concept, hotlinking to my business's CDN, and now the CEO of the company David Hsu no longer responding to my emails. Overall it should be an entertaining and informative read.

What is a Faker?

At a high level, Faker can be thought of as sort of an internationalized combination dictionary / encyclopedia which is driven by a robust pseudo-random number generator. Faker is something like a miniaturized Library of Babel. It's an extremely useful generic tool when developing large scale internationalized software systems. Most Fortune 500s are using Faker in some capacity. The scope of the Faker project is not small. There is a considerable amount of moderation work in managing the flow of internationalization and localization data and ensuring the project itself remains scalable and bloat free.

Who pays for Faker development?

No one pays for Faker development. Recently, we've begun to get sponsorships through services like Open Collective and Github Sponsors. Most of these donations are from fellow developers, and not enterprises or corporations. These donations have helped keep Faker development from stalling completely, but they are not sustainable. I do enjoy working on Faker, but I also can't afford to work for free. Like most of us, I have people who depend on me and I have bills to pay. Not wanting to give up, I decided the best course of action was to try and monetize the Faker project to ensure future sustainable development.

Monetization Plan

I figured there was a need for developers to have a quick and easy way to get fake / mock / test data from an API endpoint without having to set up any backend servers. Give the developers a little schema builder, allow for downloading spreadsheets, add formats for all the major databases, allow for the data to be retrieved via a REST API. Not super complicated stuff. Essentially a cloud based version of Faker which has monthly subscription plans.

I spent a month or so building, designing, and launching fakercloud.com. Just enough time to put out a minimally viable product. Something functional, useful, and with paid service plans working. My goal was to get an early version out that I could put in front of the Faker community and begin to iterate on the concept based on user feedback.

User Feedback

About two weeks into monitoring user signups and Hot Jar screen recordings, I noticed two engineers from Retool.com had signed up for the service. They both came to the site multiple times and tested out all the features.

Retool sounded familiar to me, so I checked and I saw they have been $500 a month sponsors of Faker through Open Collective since January of 2021. As of today that makes Retool the second largest sponsor to Faker with $2,000 in total donations. I figured Retool might be interested in Faker Cloud and I'd probably get an email from them.

A new challenger appears

Fast forward three weeks later. I get an alert from Product Hunt about a new "api-generator tool". It's trending number one on Product Hunt for the day. The two product submitters are the same two Retool Engineers who were using Faker Cloud early that month. What I see is that Retool created a new product offering that does exactly what Faker Cloud does. I can see that Retool is using Faker to generate data for their service. I can also see the Retool is offering this new service for free.

Then who was CDN?

I signed up for the Retool site to try out their new api-generator. I noticed it can generate image avatars for users. I generate a fake user avatar from Retool.com, here are the links it generates:



If you can't see the image, Retool's new service is using images hosted from fakercloud.com

Doh.

The writing on the wall

I looked through the Product Hunt comments and searched Twitter. I found close to a dozen Retool employees from Growth, Marketing, and Engineer teams all espousing the new Retool offering.

Hrmmm....well, it's hard for a single individual to compete against a company with seventy five million dollars in funding. Especially when they can legally copy your Intellectual Property.

I never expected Faker Cloud to become a wild success as a business. I was hoping that Faker Cloud would capture a small market segment of users to help fund development of the Open-source Faker project itself.

In the midst of every crisis, lies great opportunity

Figured the best thing to do here is recognize the situation and try to make the best of it. Thousands of developers depend on Faker. The goal here is to keep the project maintained and working well. Even a small disruption in an Open-source tool can cascade to millions of dollars of damages in lost time.

I decided to email David Hsu, the CEO of Retool.

I got a response from David Hsu almost immediately!

I think a lot of you can guess what happens next.

Eight days pass with no response. CEOs are busy people. I write another email to check in.

It's been about a month now. Still no response.

So that is it. I'm not sure what happens next. I'd like to see a happy ending to this story where everyone involved wins, including the developer community.