How to market your Open Source Project

My tips on how to get started with marketing of your open-source project.

How did it start?

I love to learn; I love the idea of choosing a topic I don’t know,  buy books, read articles and code something to show myself I was able to master it.

I have been fond of cryptocurrencies and Bitcoin since 2014 when I wrote my first article in french. One year ago, I had a chat with a friend who told me how speculation and trading were terrible things for humanity. I understood his point of view, but then, I asked myself how Bitcoin could have had success without speculation and trading?

That’s how I found my new objective: learn about trading, and that’s how I started my project, Cassandre, a java trading bot framework. I decided to build a framework, so I could learn everything from scratch (exchange connections, tickers, orders, trades...).

What about success?

Cassandre is my weekend project. During the week, I’m the CEO of Scub, a french software company. Somehow, applying what I learned as an Entrepreneur, I realized that whether you develop a startup or an open-source project, and nobody uses it… you failed.

That’s how I found something else I could learn about: marketing of open source/weekend projects. And this is what this article is about.

My marketing framework.

My first decision: I decided that however much time I wound up spending on development, I would spend the same time on marketing. 

To grow my project, this is the simple framework I’m following:

  • One week of coding.

  • One week of: 

    • Improving the website.

    • Writing & post content.

    • Sending a newsletter.

    • Sharing what I learned.

    • Send direct messages to interesting people.

Improving the website.

To quote GitHub’s Zach Holman:  “Documentation is marketing. The best part is that documentation is linkable. It’s indexable. It’s tweetable”. 

For the documentation, after trying lots of solutions, my documentation is now in my GitHub sources, published to GitHub pages, and I produce it with vuepress. Vuepress is easy to set up, uses simple md files, and extremely fast (it generates static files). 

I always try to write documentation as if a total beginner was reading it, emphasizing quick start guides because I always tend to choose frameworks/tools that explain things very well. I also cover “other topics” that could be useful for “real life” use. For example, I recently wrote an article on deploying your Cassandre trading bot on qovery (a startup that offers free hosting). The advantage of this kind of content is that you can share it without shame as you really bring handy information to others (Reddit, Twitter, emailing…).

The second point is that you never get a second chance to make a first impression; when someone arrives on your GitHub pages, he will take a look at your readme so take time to make it beautiful and valuable. Here is a list of the beautiful readme, and here is mine.

The last thing you can do is to add GitHub buttons on your website to redirect people to GitHub: https://buttons.github.io.

Writing & post content.

Tweeting is easy, but writing long-form content is challenging, and few people are good at it. I usually procrastinate a lot when it’s time to write. As I am not a marketing specialist, I use Peppertype, this tool gives me ideas for new articles and improves my titles. 

I won’t be long on how to write content as I’m not an expert on that topic, but I follow two rules from Paul Graham: 

Once written, it’s time to post on the Internet!

But where? In my cases, this is my segmentation:

  • Java (especially Spring boot) developers interested in trading.

  • Open source enthusiasts.

  • Cryptocurrency enthusiasts.

  • Traders who want to automate their work.

With this segmentation, this where I post:

When the content is more general like with this article, I also post it on sites like https://www.indiehackers.com.

One last thing, posting new articles is not the only way to promote your project/content; lots of things could happen in the comment section. For example, I received lots of new users/feedback thanks to comments like this one on Hackernews. This article seems to think the same way.

If you can do it with your project, I would advise you to reply to questions on StackOverflow explaining how your open source project could help solve problems.

Sending a newsletter.

For articles & newsletters, I use Substack, a good tool but it doesn’t support Java source highlight, which is quite annoying.

Sharing what I learned on Twitter.

Of course, I learn lots of things, and from now on, I plan to share that knowledge on Cassandre’s Twitter account. I also started a Discord channel that works quite well to create/animate a community. 

Direct messages to interesting people.

This is something I did not try yet! Have to learn about to do it well.

Last word.

I’m new to marketing for open source. Please, feel free to send me your advice especially on direct messaging.