Before starting the meeting, having a few items and discussion points in the agenda will help kick-start the meeting. These discussion points could be a mix of:
Issues or PRs from the GitHub repositories which need attention
Announcing any upcoming events/conferences to check if someone is going to attend them or is planning to
Important updates:
These could be recent releases/new feature additions
Addition/changes in the maintainer/contributor team
Convergence of an ongoing discussion - a summary of how the community reached a decision
Anything important which needs to be brought up before the community
Let everyone know that the meeting is governed by a CoC
Ice-breakers are usually effective when the participants are not familiar with each other
Apart from the general introduction, which is usually name and role, it’s effective to add a fun question (generally non-technical) to ask around; these are:
Favourite song, movie, dish, sport, game, tourist spot etc.
If you could teach the world one thing, what would it be?
What’s one interesting fact about yourself?
How to address any critical issues in the project/community#
Sometimes, there are certain matter which needs to be brought up before the community for a more open and inclusive discussion
This helps in taking into account various perspectives from the community and choosing a solution which is in the best interest of the community
The meeting should end on a positive note - if there has been any heated discussion/arguments, try to conclude before the end. And generally, in the end, you should:
Conclude important points
Revise tabled items - which were supposed to be discussed but didn’t get time
Office hours are a great way to invite the community and answer their questions, guide them, help them understand any specific about your OSS project etc.
Usually, the structure of office hours is open, but there are certain tips which could make it run smoother; they are:
Greet and acknowledge every participant during the office hours
Try to answer at least 1 question from everyone
Maintain a document so that everyone can jot down their questions, so it’s easier to go through them
Invite them to the community meetings for broader discussions
Every community meeting should have some form of public record which can be stored as an archive - taking meeting notes is one way to do it. There are several ways to take notes efficiently, which is helpful for the community
Record the essential things, decisions, and resolutions that were discussed during the meeting
Writing cues during the meeting and then converting them into proper sentences is a helpful thing to do when you’re moderating/running the meeting
Try to have a TL;DR section at the top - this would help the reader to decide if they want to dive into the full notes or not
The community members are always looking for exciting/innovative ways to use OSS projects in their workflow, and making time to showcase the work is a good element of a community meeting
The demos/showcases could be - how your project is used to solve a problem in a specific domain
Make time for newcomers
New contributors or newcomers are the users who have the potential of becoming future maintainers and helping them in the initial phase is beneficial for both the project and the individual and is in the spirit of open-source
Having a dedicated time slot for the newcomers to help them
Make community meetings accessible to the broader community
Take into account community members in different time zones, differently abled, unavailability etc.