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.
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.
- Pricing: You can pay the theme on draculatheme.com for $79 in the USA. There is Purchasing Power Parity-based pricing for other countries. Initially the price was cheaper ($49 maybe), but Zeno was getting more and more support requests, so felt that spending more time on the project warranted this. It is also being sold on Gumroad.
- Revenue/Income: He reported 2,043 copies sold totaling $111,465.77 in revenue (as of March 2021).
Building a popular framework (Tailwind CSS)
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.
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:
- Continue running his course business: Adam was selling some tech courses on his website.
- Corporate sponsorship: Attract funding through corporate sponsorship once the user base had grown to a bigger size.
- Sell premium Tailwind products: Sell themes and UI kits, much like Bootstrap does with their official theme store.
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:
- Tailwind version 1 was released in May 2019, along with the first official plugin, @tailwindcss/custom-forms.
- In the State of CSS 2019 Survey, Tailwind had the highest satisfaction rating of any CSS framework.
- In February 2020, the first commercial Tailwind product, Tailwind UI, was released. It is a collection of professionally designed HTML snippets you can drop into your Tailwind projects. It proved to be very successful with sales exceeding expectations.
- The company hired 4 employees throughout 2020.
- Tailwind version 2 was released in November 2020.
- Tailwind did very well in the State of CSS 2020, with the highest satisfaction rating of any framework by a large margin, and won the “Most Adopted Technology” award.
As of March 2021, it has been starred 37.6k times on GitHub and has being downloaded 24 millions times on NPM!
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:
- Pricing: The packages for sale are:
- Application UI for $149,
- Marketing for $149,
- Application UI + Marketing Bundle for $249.
- Sales: It had a successful launch with sales of $400,000 on the first day. It reached nearly 2 million dollars in sales in 6 months.
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.
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.
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.
Caleb set-up different tiers on GitHub Sponsors that offers some perks. The tiers currently are:
- The individual: $14 a month.
- The generous individual: $29 a month.
- Freelancer/Startup: $249 a month.
- Business/Agency: $499 a month.
- Platinum Sponsor: $999 a month.
His income on this journey was:
- Being accepted into the GitHub Sponsors program yielded ~$25k in cash. GitHub matched the first $5k.
- The Sushi “sponsorware” launch increased annual revenue by $11k in a few days. It raised his number of sponsors to over 75.
- Exclusive Livewire screencasts raised his annual revenue by ~$80k in 90 days. By June 2020, he had reached 535 sponsors yielding an annual salary of $112, 680.
As of March 2021, Caleb has 1374 sponsors. 🤩
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! 🙂