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.