Nov 8, 2022 — 5 MIN

How to grow your open source community from scratch

Didier shares his experience on growing OpenBB Terminal from 0 to over 17,5000 stars on GitHub

blog hero

Last week, I went to Web Summit to talk about my learnings of growing my side project from 0 to over 17,500 stars on GitHub. Below is my 3 minute talk about the topic:

PRO TIP: Do not send a presentation in PowerPoint. As you can see from the presentation above, the font size is too small - likely due to screen resolution. Either send it as a PDF or use PowerPoint on your own laptop.

Due to the time limitation, I didn’t get the chance to say everything I wanted. So, this blogpost goes into a bit more in detail.

Project naming

The name should be short, memorable, unique and related with the project.

When I started what we call OpenBB Terminal today, the name of the project was “Stock Market Bot” or something silly like that. I knew that wouldn’t be the last name, but I didn’t have any inspiration and in the meantime I was focused on building the platform.

I am an Elon Musk fan, and was a GameStop investor. This meant that once I saw this tweet - I didn’t blink twice and knew this was the name I was waiting for.

Elon Musk Gamestonk tweet

That’s when Gamestonk Terminal (now OpenBB Terminal) was born.

Keep the project private until MVP

  • There will be less pressure than building in public, and you will be able to iterate much faster.

  • No users asking for features or reporting bugs when MVP is still under development.

  • Most importantly, this guarantees that when the users see the MVP they know where you are heading with the project.

I worked on Gamestonk Terminal for 2 months on my own. The code architecture changed several times as I was in this experimental phase. And if you look into the source code I even committed API keys accidentally. But I had no pressure, so I was able to ship extremely fast.

Prepare to onboard the community

  • Make the documentation standout (not only “getting started” but also “contributing”).

  • Create “quick win” tickets that the community can address quickly.

  • Start a group channel on Discord or Slack, which allows you to interact with contributors and discuss features / roadmap and keep them engaged.

  • Mention “starring” the project. As simple as this sounds, this helps with growth as its easy to forget to star the project, even though you were interested in what you saw.

Some people from our current team told me recently that they fell in love with the README of the project the first time they saw it. In particular with this quote:

“Gamestonk Terminal is an awesome stock and crypto market terminal that has been developed for fun, while I saw my GME shares tanking. But hey, I like the stock.”

This allowed me to gain not only contributors, but maintainers. And nowadays, team members.

Change the project visibility to public

  • This allows everyone to have a first look into the project, it’s the “Hello World” moment.

  • When sharing the project, describe the problem you are trying to solve and make sure your audience relates with that problem.

  • Share your project on relevant channels (e.g. Reddit, HackerNews, ProductHunt) - where your audience is.

I have been building in open source for a while, without much success. Until Gamestonk Terminal.

The difference? I shared Gamestonk Terminal on:

  • Reddit r/SuperStonk - where the retail traders with the same issue as me were gathered

  • Reddit r/python - where the community shares projects built in python

  • HackerNews - where I leveraged the name of a known brand in the same industry and insinuated that my tool was similar but affordable. The title was: “Can’t afford Bloomberg Terminal? No prob, I built the next best thing”.

Keep developing in public

  • Keep the community updated on the roadmap and progress. You can do this by doing demos of what you have accomplished as you add new features (e.g. on YouTube or on Twitter) which allows the community to understand what sort of tasks you are working on, and what they would learn if they were to contribute. It basically gives the community a hindsight into what a contributor will be able to work on / achieve.

  • Get early feedback and prioritise accordingly.

  • Occasionally go back to the same channels (e.g. Reddit, Hackernews) to report progress. This guarantees that they know the project is not dead and helps your project staying relevant and on their minds.

  • Develop in public through livestreams (e.g. live Coding) or by sharing what you are working on through social media (e.g. adding a futures menu).


Conclusion

TL;DR: On how to grow your open source project:

  • Project naming

  • Keep project private until MVP

  • Prepare to onboard the community

  • Change the project visibility to public

  • Keep developing in public

Try our terminal

Install terminal