The community is the heart of every open-source project. Without a proper functioning community, the project is bound to have a heart attack, which could be the end: Think of unsatisfied users, project forks, maintainer burnouts, or very annoying arguments.
Building a community can be a daunting task but it doesn't have to be. All it takes is a critical mass of people who have a long-term interest in growing the community. Be it companies or individuals.
As it turns out, this group can systematically foster the community by building a framework for community interaction: writing down guidelines, helping users, onboarding new contributors, etc. The next step is to break out of the daily business through organizing conferences, meetups, or regular face-to-face meetings. Ultimately, the community is held together by relationships which are best strengthened via face time.
In the past years, I've seen two different communities grow: Apache Flink and Apache Beam. Both have found a way to grow their community. I'd like to present and analyze the paths they chose to build the strong communities they have today.