For the introduction of InnerSource at Europace we relied on gathering a group of people interested in the topic. While most of the discussion is designed to be remote-first with all issues being discussed in an asynchronous way we also set up an internal monthly InnerSource meetup. That meeting is open to each and everyone for attending. Meeting dates, location, and agenda is posted in advance:

  • In a GitHub issue dedicated to the particular meeting in the gh#innersource project,
  • On the Slack channel with the same name as the GitHub project (slack#innersource),
  • As a calendar invite to those attending regularly and to those who participated the last time.

The meetup is designed to be remote-friendly with dial-in options provided to participants.

Prior to the meeting participants are encouraged to share discussion items in the meeting GitHub issue. Often these are being turned into individual GitHub issues - it’s not unheard of that issues that originally were submitted for discussion in the meeting could be resolved asynchronously before the meeting takes place.

We try to start each meeting with a brief check-in so that people get a chance to be mentally in the meeting instead of clinging to whatever it was that they were dealing with right before or will have to deal with right after.

Depending on how many discussion items were collected before the meeting there’s a brief time window to collect discussion items at the beginning of the meeting.

Depending on the amount of discussion items identified, either we go through them in random order or we prioritize them according to how many people in the group are interested in each (giving each participant three votes they get to select the items that are most interesting for them).

The goal of the meeting is not so much to end up with hard and fast decisions. The idea is to get people back on the same page, give time and space to exchange best practices, as well as provide an opportunity to share lessons learned and experiences not only on the record but also off the record.

To allow others who couldn’t make it to the meeting to participate a protocol is generated. It lists everything that was discussed (except for cases where participants wanted that information to be off the record) with names of individuals stripped except where needed to understand context. This summary is posted in the meeting GitHub issue, the link to that issue is posted back to the Slack channel, and everything starts from the top.

In order to make meeting organization easier all steps, including the list of regular participants are stored in a checklist of the gh#innersource GitHub repository.