- 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?
- 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
How to keep the conversation going?
- Occasionally, there are situations when the conversation during a community meeting dies, and it feels like you’re in a graveyard 🪦
- Having a set up of backup discussion points can help remove the awkward silence
- Going around in the audience to ask if they have something interesting to share with the community
- What projects are they working on?
- Something they learned which could be shared with the community
- Asking around if the attendees need any help
How to conclude the meeting successfully
- 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
- Tell them about the next meeting
How to run office hours?
- 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
How to take meeting notes?
- 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
- Example at: https://zarr.dev/community-calls/2023/2023-05-03.html
Some tips for your meetings
- Make time for demos/showcases/presentation
- 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.
- Take notes and upload them to the website
- Record the meeting
Meeting templates (TODO)
NumPy Community Meeting template