Build a sustainable business around your Open Source Project

Lately, I had a few conversations with Open Source maintainers around monetizing their Open Source projects which gave me the idea for this article. Do you maintain a popular Open Source project and want to monetize it? Then keep reading.

From Customer Requirement to Customer Happiness

Photo by Christina @ wocintechchat.com on Unsplash

Let’s use Matestack as an example. Matestack is a Ruby library targeting developers who need to build user interfaces within their Rails application. Now, Rails makes it straightforward to deliver views with HTML and CSS quickly already. But when it comes to creating a more complex UI quickly, it often turns into an ordeal with lots of code. Imagine all the hoops developers have to jump through to prototype a new feature or build an internal UI that needs to be functional but doesn’t warrant excessive time investments involving JavaScript. They need to deliver something quickly, and the more they can build with a few lines of Ruby code, the better. Other developers might not feel comfortable building complex user interfaces with JavaScript in general and appreciate accomplishing tasks with pure Ruby instead. They don’t have the time or mental capacity to learn new technology at the moment.

These and more might be requirements developers have towards Matestack. They’d like to create user interfaces without too much effort, not dealing with JavaScript and helping their users.
Meeting all these requirements leads to happy developers writing code more confidently and reliably from now on. Let’s take it a step further. Developers now create functional user interfaces quickly and without any custom JavaScript. What are the long-term effects on the application?
The user interfaces are maintainable without a considerable time investment and less technical debt. It might appear to be a side product at first, but it has a tremendous impact on daily developer productivity.
Developers are already happy. How could you get a step in the door with their employers?

Establish your Open Source projects within companies

Photo by ThisisEngineering RAEng on Unsplash

Some companies might already be using Matestack in production without you knowing. But let’s say somebody wanted to find out what it would take to introduce Matestack at their organization. What would need to happen to make that a reality?
One option is a long-term support contract to guarantee bug fixes and new features for a specific period. Corporate customers need to be sure they can trust and depend on your code long-term. That means you need to be able to provide bug fixes, even for versions that might already be outdated. It might be tedious on the technical side, but financially lucrative.
While long-term support is a topic for a different time, let’s explore core competencies for a moment. While you can already provide enormous value by writing and architecting code, another skill is about to play a significant role.
As the leading developer behind the project, your experience in building complex and sophisticated user interfaces is invaluable.
Developers already benefit from your code; why not take it to the next level and teach them additional concepts behind it?

Your technology helps establish a new skill and competency within the developer organization: Building complex, usable and accessible user interfaces in a fraction of the time. Developers will use your code as a building block, but the value is in your teaching.

Knowledge Transfer and implementing a new competency

Photo by Kelly Sikkema on Unsplash

You don’t sell code to organizations. You transfer knowledge and implement a new competency: Building Graphical User Interfaces. And there are lots of ways to establish a business model around it.
Initially, you start with in-person training sessions, either on-site or online. It’s an excellent way of getting to know your customer better and gathering direct feedback on concepts from attendees. The downside: Conducting these training sessions is time-intensive. You need to block out time slots for the training day(s) and time before and after for preparation and follow-up activities, respectively.

It’s a good starting point. But if you want to scale the operation, let’s look at another option with a reduced time commitment: A paid Email support queue. In exchange for a monthly fee, customers can send questions directly to you. The developers benefit from a direct line to the maintainer, receiving expert advice on their problems. You can answer questions comfortably from home or the office without any travel or extended time commitments.

Tooling

Photo by Christin Hume on Unsplash

An example setup could consist of Helpscout and Loom. Helpscout is generally geared towards customer support teams but will do an excellent job here. You configure your support email address with the system, and from now on, every new email will show up in your Helpscout inbox. If somebody else joins, the two of you can easily divide work. Helpscout also allows adding meta information for every conversation, such as tags and private comments.

As you answer questions, you might notice some topics are difficult to explain in writing. Just talking through it would be so much easier.
That’s where Loom comes into play. Loom is a screen recording software you can use to explain more elaborate concepts asynchronously.
Once you recorded your video, you immediately get a link to send it to your customer. You provide more comprehensible support while also keeping it personal through videos.
If a customer requires high-quality answers quickly with guaranteed response times, they can purchase the better SLA with guaranteed response times. While it adds some more pressure, it also allows you to charge a significant premium for it. Suddenly, with all these building blocks put together, you are not just an Open Source maintainer anymore. You are a technology implementor. It’s a different game to play, with many options to run a successful business around Open Source software.

I am curious what you think of this idea. I’m interested to hear from you about how you implement it. When you need any additional support with the implementation or bringing in the initial customers, get in touch, and we’ll analyze your specific situation.

Leave a Reply