diff --git a/.github/ISSUE_TEMPLATE/mtg-action.md b/.github/ISSUE_TEMPLATE/mtg-action.md new file mode 100644 index 0000000..a0d9069 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/mtg-action.md @@ -0,0 +1,19 @@ +--- +name: Agenda: Add Action Item +about: Use this template to create a new agenda action item. +title: "" +labels: mtg-action +--- + + diff --git a/.github/ISSUE_TEMPLATE/agenda.md b/.github/ISSUE_TEMPLATE/mtg-agenda.md similarity index 71% rename from .github/ISSUE_TEMPLATE/agenda.md rename to .github/ISSUE_TEMPLATE/mtg-agenda.md index c27ac6d..c70f518 100644 --- a/.github/ISSUE_TEMPLATE/agenda.md +++ b/.github/ISSUE_TEMPLATE/mtg-agenda.md @@ -8,7 +8,7 @@ labels: mtg-agenda ## Meeting Details - **Date/Time:** Month Date, Year @ 4:00pm UTC / 12:00pm ET -- **Location:** Link will be posted in ``#governance` working group channel [on Discord](https://community.blockstack.org/discord) shortly before the call. +- **Location:** Link will be posted in the `#governance` working group channel [on Discord](https://community.blockstack.org/discord) shortly before the call. - **Recording:** TBA - **Moderator:** TBA - **Secretary:** TBA @@ -23,7 +23,7 @@ labels: mtg-agenda ## Stacks Foundation Updates -See issues with the label `mtg-stxfoundation` for more info. +See issues with the label `mtg-stacksfoundation` for more info. https://github.com/stacksgov/pm/labels/mtg-stacksfoundation @@ -35,9 +35,9 @@ https://github.com/stacksgov/pm/labels/mtg-action ## Discussion Items -See issues with the label `mtg-discussion` for more info. +See issues with the label `mtg-discuss` for more info. -https://github.com/stacksgov/pm/labels/mtg-discussion +https://github.com/stacksgov/pm/labels/mtg-discuss ## Miscellaneous Items diff --git a/.github/ISSUE_TEMPLATE/mtg-discussion.md b/.github/ISSUE_TEMPLATE/mtg-discussion.md new file mode 100644 index 0000000..552c641 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/mtg-discussion.md @@ -0,0 +1,8 @@ +--- +name: Agenda: Add Discussion Item +about: Use this template to create a new agenda discussion item. +title: "" +labels: mtg-discuss +--- + + diff --git a/.github/ISSUE_TEMPLATE/mtg-stacksfoundation.md b/.github/ISSUE_TEMPLATE/mtg-stacksfoundation.md new file mode 100644 index 0000000..346908d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/mtg-stacksfoundation.md @@ -0,0 +1,8 @@ +--- +name: Agenda: Add Stacks Foundation Item +about: Use this template to create a new agenda item related to the Stacks Foundation. +title: "" +labels: mtg-stacksfoundation +--- + + diff --git a/sop-meeting-agenda-example.png b/sop-meeting-agenda-example.png new file mode 100644 index 0000000..98790a2 Binary files /dev/null and b/sop-meeting-agenda-example.png differ diff --git a/sop-timeanddate-example.png b/sop-timeanddate-example.png new file mode 100644 index 0000000..564572b Binary files /dev/null and b/sop-timeanddate-example.png differ diff --git a/sop.md b/sop.md index 47decfe..738ccad 100644 --- a/sop.md +++ b/sop.md @@ -2,69 +2,142 @@ This document contains recommended best practices for managing various aspects of the Stacks governance initiative. -- [Working group](#working-group) -- [Governance calls](#governance-calls) -- [Regular updates](#regular-updates) -- [GitHub repositories](#github) + -## Working group +- [Get Involved!](#get-involved) +- [Additional Outlets](#additional-outlets) +- [Governance Working Group Calls](#governance-working-group-calls) +- [Governance Working Group Call Procedures](#governance-working-group-call-procedures) + - [Preparing for a Call](#preparing-for-a-call) + - [Hosting a Call](#hosting-a-call) + - [Uploading Call Videos](#uploading-call-videos) + - [Publishing Call Updates](#publishing-call-updates) +- [Governance Working Group Resources](#governance-working-group-resources) +- [Licensing](#licensing) -There are a number of working groups in the Blockstack community. Governance is one such group; others include Business Models and Proof of Transfer (PoX). Each working group has a designated sub-category on the [Blockstack Community Forum](https://forum.blockstack.org/): here is the [Working Groups/Governance](https://forum.blockstack.org/c/Working-Groups/governance) category. Each working group also has a designated channel on the [Blockstack Discord server](http://chat.blockstack.org/). Note that, at present, Blockstack PBC is responsible for administering both the Forum and the Discord server. + -## Governance calls +## Get Involved! -Each week, the members of the governance working group meet on a call. These are currently scheduled everyday Wednesday at 10am New York time. The agenda for the next call is posted as a GitHub issue in this repository, and the notes and other resources for previous calls are posted in [the calls subfolder](https://github.com/stacksgov/resources/tree/master/calls) of the `stacksgov/resources` repository. +From [Stacks Governance Update #1 - 4 March, 2020](https://github.com/stacksgov/updates/blob/master/updates/20200304-update-001.md): -Here are the steps you should take to prepare for an upcoming working group call. +> Stacks governance is a community-run initiative! As such, it cannot work without your help, and without the input of as many community members as possible. You do not need anyone’s permission to get involved and contribute to the initiative. The #governance working group channel on [Blockstack Discord](https://discordapp.com/invite/ny6wGkx) is a great place to begin getting involved, as many community members regularly share ideas, updates, and resources there. You can also find a number of topics under the [governance category](https://forum.blockstack.org/c/Working-Groups/governance/) on the Blockstack Community Forum which need your input. -### Things you'll need +## Additional Outlets -- Access to the Zoom Pro account used to host the call (or help from the account owner) -- Access to the [Stacks Governance YouTube channel](https://www.youtube.com/channel/UCirhluDUpSPVMZQn210HETg) (or help from someone who has this) +More information about the Stacks Foundation and its mission can be found at the links below: -### Preparing for a call +- Website: https://stacks.org +- Twitter: [@StacksOrg](https://twitter.com/StacksOrg) +- Resources: https://stacksgov.github.io/resources +- Project Management: https://stacksgov.github.io/pm -1. Determine who will moderate the call, and who will be responsible for taking notes. -1. Open a [new issue](https://github.com/stacksgov/pm/issues/new) for the call agenda in this repository. This should be done at least a few days before the call to give people the opportunity to propose agenda items. Use the previous call agenda as a template ([full list](https://github.com/stacksgov/pm/issues?q=is%3Aissue+label%3Acall+)), updating the call times in various timezones, assigned call moderator, and agenda items. When updating call times, be especially careful of the times of year—autumn, and spring—when different regions switch timezones at different times, which means that the relative times may change as well. Creating an "Event Time Announcer" on timeanddate.com ([sample](https://www.timeanddate.com/worldclock/fixedtime.html?msg=Stacks+Governance+Working+Group+Call&iso=20200401T10&p1=179&ah=1)) can be very helpful here, as it allows people to easily verify the time in their timezone. -1. Add the "call" label to the issue. -1. Close the issue for the previous call, with the text "Closing in favor of #X" where "X" is the number of the new issue. This will link the two issues and makes navigating among call agendas much easier. -1. Set up a Zoom invite for the call. First, check if a recurring Zoom invitation has already been set up—if so, you'll see the link in the regular calendar invitation. If it has already been set up, make sure you've been added as a host. If one has not been set up, you'll need to set up a new meeting. You'll need a Zoom Pro account. Jenny or Lane can do this for you. We recommend the following settings: - - Registration: Not required - - Meeting ID: Generate Automatically - - Meeting Password: Require a password - - Video: All off (by default) - - Audio: Telephone and Computer Audio - - Meeting Options: Do not enable join before host, do not enable waiting room -1. Add the Zoom invite link for the call (which should include the meeting password, to allow one-click join) to the regular calendar invitation, if there is one. -1. Do NOT share the link to join the call publicly. Do NOT post it on social media! +## Governance Working Group Calls -### Hosting a call +Governance Working Group calls are held every other week, and follow the basic agenda format listed below: -1. 24 hours before the call, remind everyone in the working group channel about the upcoming meeting, using the `@everyone` tag. Include a link to the agenda issue. Here's a sample message: +- A quick standup update from each attendee +- Updates from the Stacks Foundation +- Review of Action Items +- Review of Discussion Items +- Review of Miscellaneous Items - > Hey @everyone, reminder that our next governance working group call is in 24 hours! Agenda is here, please review it before the call and feel free to propose topics: https://github.com/stacksgov/pm/issues/19. See you all tomorrow! -1. Repeat the same thing an hour before the call. -1. Review the agenda issue and add proposed topics to the agenda. -1. About ten minutes before the call, fire up Zoom and start the meeting. Make sure that the link joins, and that you have host capabilities. Share the Zoom link in the working group chat. (Again, do NOT post the link anywhere public, including on social media.) -1. Wait until 5-10 minutes past the hour, or at least until there is a reasonable quorum, before starting the call. -1. Quickly scan the names of all of the participants in Zoom. Make sure that all of the names are correct, and in particular, that no one's phone number is displayed publicly. As moderator ("host" on Zoom), you can rename a participant if necessary. -1. Notify everyone that you're about to hit record, and remind them that the rest of the call will be public and on the record. -1. Hit Record (you generally want to record to the cloud), and start the meeting! -1. Introduce yourself and explain that you'll be moderating the call. Ask if anyone else would like to introduce themselves to the group. -1. Ask if anyone would like to share a weekly update: what they've been working on, what they'll work on next, and if they have any blockers. Feel free to offer your update first to kick things off. Don't pressure anyone to share an update if they don't opt to on their own. +The meeting agendas and various topics discussed can be found on GitHub, under the [issues tab](https://github.com/stacksgov/pm/issues) of the `stacksgov/pm` repository. There are labels for each issue based on the agenda categories, and the issues tab can be filtered by each label for review. -Some helpful tips for hosting a call: +- Meeting Agendas: [mtg-agenda](https://github.com/stacksgov/pm/labels/mtg-agenda) +- Stacks Foundation: [mtg-stacksfoundation](https://github.com/stacksgov/pm/labels/mtg-stacksfoundation) +- Action Items: [mtg-action](https://github.com/stacksgov/pm/labels/mtg-action) +- Discussion Items: [mtg-discuss](https://github.com/stacksgov/pm/labels/mtg-discuss) -- Keep an eye on the time. Don't spend more than 5-10 minutes max. on any given topic. If the discussion of a particular topic goes over this amount of time, offer to reserve some time to continue discussing the topic at the end of the call, politely remind everyone that there are other items on the agenda to discuss, and introduce the next topic. +> **Note:** When using GitHub, the word "issue" also means "topic", "item", or "idea". Issues are used to track individual discussion items, and labels are used to help categorize and group the issues. More information can be found in the [Mastering Issues](https://guides.github.com/features/issues/) guide from GitHub. + +The notes and resources from previous calls are stored in the `stacksgov/resources` repository, and listed in a table on the [Stacks Governance Resources - Calls Page](https://stacksgov.github.io/resources/#/calls/). + +## Governance Working Group Call Procedures + +Below are the steps for setting up, hosting, and following up on a call. + +### Preparing for a Call + +1. Create a new agenda by opening an issue based on template + - ideally this is done right after the last call, to give people enough time to add agenda items for the next meeting + - example of the issue template on GitHub: + + ![Agenda Issue Template Example](sop-meeting-agenda-example.png) +1. Update the Date/Time to the future meeting date +1. Create an Event Time Announcer link to help with time zone conversions + - Access the [Event Time Announcer form](https://www.timeanddate.com/worldclock/fixedform.html) from timeanddate.com + - Name the event, e.g. `Stacks Governance Working Group Call #26` + - Set the Event Location to `UTC` + - Enter the Month, Day, Year, Hour, and Duration values based on `UTC` + - Add a link to the result following the Date/Time in the issue + - e.g. in Markdown format: `[time zone conversion](https://www.timeanddate.com/worldclock/fixedtime.html?msg=Stacks+Governance+Working+Group+Call+%2326&iso=20201022T16&ah=1)` + - example of the announcement after someone clicks on it: + + ![Event Time Announcer Example](sop-timeanddate-example.png) +1. Update the roles, or list TBA if unknown +1. Close the issue from the previous call (instructions below) + - open the issue from the previous call + - add a comment: "Closing in favor of #X" where #X is the issue number of the new agenda + - click **Close issue** next to the comment button +1. Share the new issue in the `#governance` channel on Discord + +Reminders about the governance call and a link to the agenda should be shared in the `#governance` channel on Discord based on the following schedule: +- After the new agenda is created +- One week before the call +- One day before the call +- The day of the call + +> **Note:** do NOT post the link anywhere public, including on social media + +A sample post is included below, but feel free to modify based on current events and/or tag relevant people based on the issues! + +> Reminder that our next governance meeting is scheduled for next Thursday - agenda here: https://github.com/stacksgov/pm/issues/105 +> +> In the meantime, please update your issues with any progress you've made! + +### Hosting a Call + +**Moderator Responsibilities** + +Moderators act as the meeting host, which gives them additional abilities in the meeting software, and are responsible for stewarding the meeting. + +The basic flow of moderating a call: + +- Wait until 5-10 minutes past the hour, or at least until there is a reasonable quorum, before starting the call. +- Quickly scan the names of all Zoom participants to make sure the names are correct and that nobody's phone number is displayed publicly. As moderator, you can rename a participant if necessary. +- Notify everyone before starting the recording, and that the rest of the call will be public and on the record. +- Click **Record** then **Record to the Cloud** before starting the meeting. +- State the date, time and meeting number, followed by introducing yourself as the moderator. +- Ask if there are any new attendees, and if anyone else would like to introduce themselves to the group. +- Share your screen with the current meeting agenda, and proceed through each agenda item with the group. +- At the end of the meeting, summarize all topics discussed, and post the summary to the meeting agenda issue on GitHub. + +Some helpful tips for being a moderator: + +- Keep an eye on the time. Don't spend more than 5-10 minutes max on any given topic. If the discussion of a particular topic goes over this amount of time, offer to reserve some time to continue discussing the topic at the end of the call, politely remind everyone that there are other items on the agenda to discuss, and introduce the next topic. - Let people speak freely, but feel free to cut someone off if they speak for more than a few minutes. Do so politely, and remind them that it's important that we give everyone a chance to share their thoughts. Suggest that, if they have more to say on this topic, they could write up their thoughts and post them to the forum and/or share them in the chat channel. -- Try to keep the conversation focused on the present topic. Slight diversions are of course fine, but if the topic diverges too far from the current agenda item, bring it back on track by gently reminding the group of the question at hand - and offering to return to the new topic later, time-allowing. +- Try to keep the conversation focused on the present topic. Slight diversions are fine, but if the topic diverges too far from the current agenda item, bring it back on track by gently reminding the group of the question at hand - and offering to return to the new topic later, time-allowing. -### After a call + + +### Uploading Call Videos + +A basic outline of the process is outlined below, however more details will be added at a later date. + +- Download files from Zoom +- Upload files to YouTube using the template below ``` Title: Stacks Governance Call #X [YYYY/MM/DD] Description: @@ -73,38 +146,44 @@ Some helpful tips for hosting a call: - Link 1 - Link 2 ``` +- Add link to the related agenda issue +- Share YouTube link in `#governance` discord channel + + -The governance working group collaboratively publishes a regular update, approximately once a week, for the broader Blockstack community. You can find previous updates in the [`stacksgov/updates`](https://github.com/stacksgov/updates) repository. Here's how to write such an update. +### Publishing Call Updates -1. Using the previous update as a template, write the update in markdown format. It should be called `YYYYMMDD-update-XXX.md` and live in https://github.com/stacksgov/updates/tree/master/updates. Make sure the update includes a link to the agenda and notes for the most recent call, as well as a brief update on each of the main initiatives the working group is working on. -1. Save the update into a new branch and open a PR to merge it into the master branch. -1. As part of the same PR, update https://github.com/stacksgov/updates/blob/master/README.md to add a link to the new file. -1. Share the URL for this new PR in the chat channel to give others in the working group a chance to review it, suggest additions/corrections, etc. -1. After giving other members of the working group a few days to review and approve the update, feel free to merge the PR. -1. Announce the new update to the working group. +**Publisher Responsibilities** -## GitHub +This person will create an official, high-level update for the community and general public summarizing the actions of the Stacks Governance Working Group. -It's your responsibility to manage the various GitHub repositories that part of the [`stacksgov` organization](https://github.com/stacksgov). Here are some tips: +Ideally, this will be posted to the [Stacks Forum](https://forum.stacks.org/) within one week of the original meeting. Previous updates can be found in the [stacksgov/updates repository](https://github.com/stacksgov/updates). -- [`stacksgov/pm`](https://github.com/stacksgov/pm) (this repository): Make sure there's an [open issue](https://github.com/stacksgov/pm/issues) for each major task currently being worked on by the working group. Everyone should be free to open new issues here to make requests of the working group, or to propose things for the working group to work on. These issues may be "pointers" to track issues being worked on in other repositories. You may find it helpful to use a project board (such as [this one](https://github.com/stacksgov/pm/projects) for Phase I of the governance initiative) to organize and track sets of tasks in kanban-fashion. Documentation related to project management, such as these instructions, should be documented in this repository. You'll spend most of your time working in this repository. -- [`stacksgov/resources`](https://github.com/stacksgov/resources): This is the working group's collective "knowledge base." It contains resources, and links to external resources, shared in the governance working group and on the calls. Contains an up to date [table of past calls](https://github.com/stacksgov/resources/blob/master/calls/README.md) with links to resources for those calls. Issues should only be about missing resources. Anyone is free to open an issue to request that some resources be added, as well as to open a PR to propose adding some resource. Your job is to curate these requests and review these proposals. -- [`stacksgov/updates`](https://github.com/stacksgov/updates): Stores the regular updates [described above](#regular-updates). Issues and PRs should only be related to these updates. -- [`stacksgov/proposals`](https://github.com/stacksgov/proposals): Stores miscellaneous governance proposals. We're still determining the role of this repository and these proposals relative to the existing [SIP process](https://github.com/blockstack/stacks-blockchain/blob/master/sip/sip-000-stacks-improvement-proposal-process.md). +Once posted, the update should be shared with the community via the `#governance` category. Please make sure the update includes a link to the agenda and notes for the most recent call, as well as a brief update on each of the main initiatives the working group is working on. -# General Resources +## Governance Working Group Resources -See [Stacks Governance Project Management](https://stacksgov.github.io/pm/) for the main project management page related to governance of the Stacks blockchain. +Working on the items above will require access to the related software and services, listed below. If you do not have access and would like to contribute, please reach out via the Stacks Discord server in the `#governance` channel. -# Licensing +- [GitHub Repositories](https://github.com/stacksgov) +- [YouTube Channel](https://www.youtube.com/channel/UCirhluDUpSPVMZQn210HETg) +- Zoom Pro Account + +## Licensing This repository and all contributions herein are licensed under [Creative Commons Zero v1.0 Universal](https://github.com/stacksgov/pm/blob/master/LICENSE). Please note that, by contributing to this repository, whether via commit, pull request, issue, comment, or in any other fashion, **you are explicitly agreeing that all of your contributions will fall under the same permissive license.** + + \ No newline at end of file