DEV Community

loading...

Making a living from open source

robole profile image Rob OLeary Updated on ・7 min read

happy piggy bank

Photo by Maitree Rimthong



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.

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".

Maybe it seems unlikely that you can find that 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 open source 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 and to an email list he built up. 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 mostly positive.

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

  • 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.

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 make 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.

The journey

Adam summaries his initial journey into how the project became a business 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 his journey in more specific steps.

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.
  • 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 in 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!

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:

  • 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.

caleb's tweet for idea

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:

  • 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. 🤩

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 making open source software, without 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 it a priority, and look for ways to make money from it. There is no template of success to follow, but I think their stories serve as a guide to some of the possibilities.

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


You can subscribe to my RSS feed to get the latest articles I publish.

Discussion (5)

pic
Editor guide
Collapse
bc profile image
Brian Canzanella

Donations can be hard. I know someone with an incredibly popular IDE extension, and donations, in no way help offset the time & effort that goes into it, and corporate sponsorship could eat your soul. We at codestream.com are OSS but our pricing model only makes large[r] businesses and enterprises pay. Individuals and small teams are free forever.

Collapse
robole profile image
Rob OLeary Author • Edited

Absolutely Brian. The incentives are complex. If you have a day job and other interests, you wont be able to manage a very popular side project without a posse!

Codestream sounds interesting. I wish you success with it

Collapse
michi profile image
Michael Z

Another approach is what Caleb is doing at the moment: calebporzio.com/i-just-hit-dollar-...

Collapse
robole profile image
Collapse
robole profile image