Making money from open source

It is a dream for many people to make a living from their open source, pet project. You’re having fun, helping others, and getting paid. A happy trifecta.

It reminds me of an exchange the musician Willie Nelson had with an interviewer when asked about retirement. His reply was “What do you want me to quit? I just play music and a little golf”.

It seems unlikely that you can find this situation, but it is possible. Others are doing it. The first step is to dream!

I will speak about some examples that I encountered recently, which I found inspiring.

Making a “pro” UI theme (Dracula Pro)

The Dracula UI theme was created by Zeno Rocha as an opensource project when he was sick in hospital in 2013. It became a popular theme over the years. In late 2019, he decided to try to find a way to monetize the project when he saw how high the traffic to his website was.

dracula theme example
Credit: draculatheme.com

The journey

Zeno built Dracula Pro in public. He shared his progress regularly on twitter. He was very open with milestones and adversities encountered along the way. What he chose to add to the pro package was based on user feedback he received through a survey and from user reviews. It was released in February 2020. After a slow start, it made over $100,000 in sales in the first year.

Zeno discusses his journey with Dracula Pro on his website, and in this podcast.

Supporters and detractors

It is interesting to look at some of the opinions around selling a theme.

Some people found real value in shaping the project to their needs, and were happy to pay for that privilege. The reviews are overwhemingly positive. I’m guessing that the reviews are not curated.

There were detractors who voiced their opinions when it was released. Some people said they would not pay for a theme and ridiculed things included in the package.

Financial outcome

Adam Wathan found that using utility CSS classes helped him be a lot more productive in building user interfaces quickly. He found himself copying and pasting a bunch of boilerplate code between new projects to facilitate this. After a while, he decided to put it together into a project, which became Tailwind CSS.

tailwind example
Credit: tailwindcss.com

The first version was released in October 2017, and it grew in popularity quite quickly. At the end of 2018, Adam decided to go full-time with Tailwind. He made this leap based on the potential it showed, he hadn’t made any money from the project at that point (as far as I can tell). He set out a roadmap for what he wanted to do with Tailwind for the year, and outlined what he would do for income.

His ideas for sustaining an income and generating revenue were:

The journey

Adam summaried his initial journey in an article - Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business. He keeps a public journal, you can read his 2019 Year in Review and 2020 Year in Review to understand what happened later.

What I found interesting is that once Adam committed to working on the project full-time, he had to wrestle with the identity of Tailwind, and decide what it should be.

The challenge with this project is that there are so many things it could be.

Is it a set of themes? Is it a UI kit? Is it more of an educational directory of “how to implement x UI pattern with Tailwind”? Should it have one opinionated look, or should the components be in a variety of styles? If it’s a variety, are they all together in one product or should it be split into multiple?

I will summarize the major milestones of the project here:

As of March 2021, it has been starred 37.6k times on GitHub and has being downloaded 24 millions times on NPM!

Financial outcome

Adam says that the company is now “reliably doing mid-seven figures per year”.

The commercial product TailwindUI seems to be the main (only?) revenue stream:

Exclusive content for sponsors (Sushi and Livewire)

Caleb Porzio left his full-time job in January 2019. He didn’t know what he wanted to do exactly, but knew he wanted a change.

Just 4 days later, he was inspired by Phoenix LiveView and he made a proof-of-concept for Laravel. This eventually became an open-source project called LiveWire.

tweet about idea for prototype

In 2019, Caleb also created a fairly popular JavaScript framework called AlpineJS. His salary for 2019 was $20,000. Not enough to live on.

People starting to reach out to him offering to sponsor him for his efforts. The journey begins in earnest, when he decided to join GitHub Sponsors.

The journey

Caleb outlines his journey in his article - I Just Hit $100k/yr On GitHub Sponsors! (How I Did It).

People began to sponsor Caleb on GitHub Sponsors and he established a basic income, but growth was slow. It became apparent that he needed to do something else to build a sustainable income.

He had a cool idea for a small Laravel package, and decided to try to monetize it. The monetization strategy was, what he called “Sponsorware”. He was going to make access to the project (Sushi) exclusive to his GitHub Sponsors until he reached 75 sponsors. Once this goal was met, he would publish it as an open-source project. It worked incredibly well. He hit his goal in a few days.

The next thing Caleb tried out was educational content for Livewire. He decided against creating an entire course, or writing a book. He thought it was too big a task. Instead, he decided to release a free set of screencasts to test the waters. Then, he added more screencasts that were only available to his GitHub Sponsors. This proved to be a very successful strategy, and his income grew to a good salary.

Financial outcome

Caleb set-up different tiers on GitHub Sponsors that offers some perks. The tiers currently are:

  1. The individual: $14 a month.
  2. The generous individual: $29 a month.
  3. Freelancer/Startup: $249 a month.
  4. Business/Agency: $499 a month.
  5. Platinum Sponsor: $999 a month.

His income on this journey was:

As of March 2021, Caleb has 1374 sponsors. 🤩

Final word

I hope that there are a lot more stories like this in the near future. The world will be a better place if people can make a good living from their open source projects, especially if it doesn’t involve compromising the integrity of what they are doing.

The common thread in these examples is that the developers made something that people loved, had the courage to make the project a priority, and sought out ways to make money from the project. There is no template of success to follow, but I think their stories serve as a guide to some of the possibilities.

At the same time, you can’t plan it as part of your career path with confidence. It is not like an objective such as “I want to work as a frontend engineer focused on React”. This objective is linked to specific work opportunities in the marketplace. Open-source software is more of an entrepreneurial pursuit, and it is difficult to know ahead of time what will become popular enough to be able to generate income.

If you can’t plan it, how can you do it? I guess you need to build things and share them regularly. It helps if you can promote your work and gain contributors and supporters. Having some marketing and business skills will help you. If you lack these, maybe you can find someone to help with this side of things.

You can contribute to other people’s projects also. That can lead to a paying position in some cases. Whatever project you work on, you should have passion for it and believe in it. With consistent effort, you never know where it will take you.

If you know of any other similar stories, let me know! 🙂

Tagged