From 65137a77c65273e0a3b6ee504f757efc0c0b4e14 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 4 Jun 2018 20:06:48 +0200 Subject: [PATCH 01/37] Add notes to 'Roles' doc (#46) --- roles.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles.adoc b/roles.adoc index c53142b..fbb58e7 100644 --- a/roles.adoc +++ b/roles.adoc @@ -4,3 +4,5 @@ COMING SOON. Subscribe to https://github.com/bisq-network/bisq-docs/issues/46[bi * Read https://docs.bisq.network/dao/phase-zero.html#Appendix-A[Appendix A: Roles] of the Phase Zero doc * Browse the issues under the https://github.com/bisq-network/roles/issues[bisq-network/roles] repository + +Maintainer role must be fully separated from reviewer role. Maintainers validate that pull requests are correct, maintainers ensure that overall process is followed, maintainers give enough time for sufficient review, and then, maintainers merge pull requests. When somone is _reviewing_ a pull request, even if that person is a maintainer, they are not wearing their maintainer hat. They are wearing their _contributor_ hat. Maintainers do not review. See https://github.com/bisq-network/roles/issues/63#issuecomment-393453744 for counter-example of this. Reviewing puts too much on maintainers. From 8b947270bd7a844f56f56c28c3c47b8023912648 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Thu, 28 Jun 2018 13:22:43 +0200 Subject: [PATCH 02/37] Save WIP --- build.gradle | 3 +- roles.adoc | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 93 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 1e7f44e..c8d3db7 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,8 @@ asciidoctor { icons : 'font', idprefix : '', idseparator : '-', - docinfo1 : '' + docinfo1 : '', + 'gh-org' : 'https://github.com/bisq-network' } build.dependsOn asciidoctor diff --git a/roles.adoc b/roles.adoc index fbb58e7..d838b4c 100644 --- a/roles.adoc +++ b/roles.adoc @@ -1,8 +1,96 @@ = Roles -COMING SOON. Subscribe to https://github.com/bisq-network/bisq-docs/issues/46[bisq-network/bisq-docs#46] for updates, and in the meantime: +Roles are the means by which responsibility over specific Bisq Network components, infrastructure and processes is delegated to individual contributors. - * Read https://docs.bisq.network/dao/phase-zero.html#Appendix-A[Appendix A: Roles] of the Phase Zero doc - * Browse the issues under the https://github.com/bisq-network/roles/issues[bisq-network/roles] repository + +== Introduction + +The Bisq DAO is a flat organization, with no hierarchical management and reporting infrastructure. At the same time, there are many resources and processes within the Bisq Network that require individuals to take responsibility and to be held accountable for those responsibilities. + +What's needed is a mechanism that defines each of these responsibilities, makes it clear who is responsible for which, and that includes a process for regular reporting and feedback. Roles provide that mechanism. + + +== Infrastructure + +=== GitHub + +Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] repository. + + - Assignees used to track role ownership + - Description field used to + - Link to team + - Indicate who is primary + - Link to role documentation + - Comments used for + - monthly reporting + - customer feedback + - Anyone can subscribe to any issue or watch the whole repo to stay up to date with reporting + - Labels used to + - Indicate `help wanted` + +=== Teams in the bisq-network GitHub organization +Managed as GitHub Teams. For @mentions and to institutionalize thinking in terms of roles not individuals. + +=== Docs + +==== role documentation +There is no "role documentation" per se, but rather there is documentation about whatever component or infrastructure a given role is responsible for, and in that documentation, there is a section for the role. + +=== Slack + +.Example +---- +DNS Admin + +Assignees: @cbeams, @ripcurlx +Description: + Team: @bisq-network/dns-admins + Primary: @cbeams + Docs: https://docs.bisq.network/dns.html#admin +---- + + + + + +== Role ownership + +=== primary / secondary role owners + +=== Privileges + +=== Duties + +==== Reporting + + +== Common Role Types + +bonded contributor roles + +maintainer + +operator + +administrator + +moderator + + +replace the proto-documentation we did for roles in the Phase Zero doc, particularly that found at docs.bisq.network/dao/phase-zero.html#bonded-contributor-roles + +capture the decisions we've made around roles in bisq-network/proposals#12 and bisq-network/proposals#13 and bisq-network/proposals#14 + +document the way the bisq-network/roles repository works and document the responsibilities of the roles maintainer (bisq-network/roles#28). + +cover the relationship between role issues, GitHub teams, primary/secondary role owners + +document, or at least carve out a placeholder for documenting, the way bonding and BSQ interest payments will work for bonded contributor roles. + +document the process for creating a new role, which will likely involve submitting a proposal for a new role, similar to the way this one was done + +Update https://docs.bisq.network/dao/phase-zero.html#Appendix-A + +Close https://github.com/bisq-network/bisq-docs/issues/46 Maintainer role must be fully separated from reviewer role. Maintainers validate that pull requests are correct, maintainers ensure that overall process is followed, maintainers give enough time for sufficient review, and then, maintainers merge pull requests. When somone is _reviewing_ a pull request, even if that person is a maintainer, they are not wearing their maintainer hat. They are wearing their _contributor_ hat. Maintainers do not review. See https://github.com/bisq-network/roles/issues/63#issuecomment-393453744 for counter-example of this. Reviewing puts too much on maintainers. From 08ba5713d2457ff5b8dc169585159b61e40860fb Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Thu, 28 Jun 2018 13:42:21 +0200 Subject: [PATCH 03/37] Add link from index to Roles --- index.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/index.adoc b/index.adoc index 0a94584..bca31d6 100644 --- a/index.adoc +++ b/index.adoc @@ -48,6 +48,7 @@ Docs without hyperlinks haven't been written yet. If you want to write one, <> * <> + * <> * <> * <> * <> From d48ccafefbb066b684a62fc9635729013df4e839 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Thu, 28 Jun 2018 14:42:25 +0200 Subject: [PATCH 04/37] Establish basic structure and rough content --- roles.adoc | 109 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 24 deletions(-) diff --git a/roles.adoc b/roles.adoc index d838b4c..2c4058e 100644 --- a/roles.adoc +++ b/roles.adoc @@ -5,15 +5,19 @@ Roles are the means by which responsibility over specific Bisq Network component == Introduction -The Bisq DAO is a flat organization, with no hierarchical management and reporting infrastructure. At the same time, there are many resources and processes within the Bisq Network that require individuals to take responsibility and to be held accountable for those responsibilities. +The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many vital resources and processes that must be cared for by individuals. For example, someone must manage the DNS for the https://bisq.network[bisq.network] domain, someone must admininister the {gh-org}[bisq-network] GitHub organization, and so on. -What's needed is a mechanism that defines each of these responsibilities, makes it clear who is responsible for which, and that includes a process for regular reporting and feedback. Roles provide that mechanism. +And because the Bisq DAO is not a volunteer organization, but one that compensates valuable contributions, it must be possible for stakeholders to assess how these resources and processes are being cared for over time so as to know whether and how much to compensate those in charge of them. + +What's needed is a mechanism that defines each of these responsibilities, makes it clear who is responsible for them, and that includes a process for regular reporting and feedback. The system of roles described below provide that mechanism. == Infrastructure === GitHub +==== Issues + Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] repository. - Assignees used to track role ownership @@ -28,54 +32,96 @@ Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] rep - Labels used to - Indicate `help wanted` -=== Teams in the bisq-network GitHub organization +==== Teams + Managed as GitHub Teams. For @mentions and to institutionalize thinking in terms of roles not individuals. === Docs -==== role documentation There is no "role documentation" per se, but rather there is documentation about whatever component or infrastructure a given role is responsible for, and in that documentation, there is a section for the role. === Slack -.Example ----- -DNS Admin +Slack. -Assignees: @cbeams, @ripcurlx -Description: - Team: @bisq-network/dns-admins - Primary: @cbeams - Docs: https://docs.bisq.network/dns.html#admin ----- +== Anatomy of a role + +=== Duties +A role's _duties_ are the activities that the role's owner must carry out in order to be compensated for their efforts. For example, repository maintainers must enforce review process and merge pull requests in a timely fashion, the website operator must keep the site up and running at all times, and so forth. +=== Rights +Most roles involve some special _rights,_ such as exclusive permissions or access to a given resource. For example, a maintainer of a bisq-network GitHub repository will have write permissions to that repository such that they can merge contributors' pull requests, the operator of the bisq.network website will have administrative access to the infrastructure that hosts the site, and so forth. -== Role ownership +=== Owners -=== primary / secondary role owners +Each role has one or more _owners,_ with one being designated as _primary_ and others being designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary role owner is responsible for carrying out the day to day activities of that role, while secondary owners are standing by, fully capable of taking over for the primary owner in case of sickness or other incapacitation. -=== Privileges -=== Duties +== Common role duties + +=== Reporting + +=== Communication + +Respond to issues in any repositories + +Respond to inquiries in Slack + +Generally means setting up notifications appropriately. + +=== Documentation + +Specifically, keeping your own role's documentation up to date + + +== Common role types + +=== Maintainer + +=== Operator -==== Reporting +=== Administrator +=== Moderator -== Common Role Types -bonded contributor roles +== Compensation -maintainer -operator +== Bonding -administrator -moderator +== Proceseses +=== Proposing a new role + +=== Transferring ownership + +=== Changing primary / secondary status + +=== Adding a secondary + +=== Providing feedback to role owners + + +[roles-maintainer] +== The Roles Maintainer role + +The system of roles described above is a collection of infrastructure and processes like any other in the Bisq DAO, and requires a maintainer to care for it. + +https://github.com/bisq-network/roles/issues/28 + +=== Duties + +All normal <> + +=== Rights + + +== Notes replace the proto-documentation we did for roles in the Phase Zero doc, particularly that found at docs.bisq.network/dao/phase-zero.html#bonded-contributor-roles @@ -94,3 +140,18 @@ Update https://docs.bisq.network/dao/phase-zero.html#Appendix-A Close https://github.com/bisq-network/bisq-docs/issues/46 Maintainer role must be fully separated from reviewer role. Maintainers validate that pull requests are correct, maintainers ensure that overall process is followed, maintainers give enough time for sufficient review, and then, maintainers merge pull requests. When somone is _reviewing_ a pull request, even if that person is a maintainer, they are not wearing their maintainer hat. They are wearing their _contributor_ hat. Maintainers do not review. See https://github.com/bisq-network/roles/issues/63#issuecomment-393453744 for counter-example of this. Reviewing puts too much on maintainers. + +//// +.Example +---- +DNS Admin + +Assignees: @cbeams, @ripcurlx +Description: + Team: @bisq-network/dns-admins + Primary: @cbeams + Docs: https://docs.bisq.network/dns.html#admin +---- +//// + +TIP: Subscribe to individual role issues or watch the entire repository to stay up to date with role reports. From c69cf9910ab24d3e73560b69d8588489b05cfb3c Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 07:50:59 +0200 Subject: [PATCH 05/37] Write Reporting section --- roles.adoc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/roles.adoc b/roles.adoc index 2c4058e..3686412 100644 --- a/roles.adoc +++ b/roles.adoc @@ -64,6 +64,21 @@ Each role has one or more _owners,_ with one being designated as _primary_ and o === Reporting +Primary role <> should submit a _monthly report_ as a comment on their role's <>.footnote:[See {gh-org}/proposals/issues/13] The report should contain whatever information the owner believes would be valuable to other users, contributors and stakeholders. The comment should be formatted in Markdown as follows: + +[source,markdown] +---- +## YYYY.MM report + + + +/cc bisq-network/compensation# +---- + +Where `` is the content of the report itself, and `` is the number of that contributor's monthly compensation request. https://github.com/bisq-network/roles/issues/16#issuecomment-393852612[Example]. + +Some roles may have nothing to report in a given month. In this case, a report should still be written stating that there is "nothing to report". https://github.com/bisq-network/roles/issues/18#issuecomment-393217596[Example]. + === Communication Respond to issues in any repositories From fa9165dedccacd2323c4f862929544b16973963f Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 11:13:07 +0200 Subject: [PATCH 06/37] Refine Characteristics section --- roles.adoc | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/roles.adoc b/roles.adoc index 3686412..0b0adc0 100644 --- a/roles.adoc +++ b/roles.adoc @@ -1,15 +1,34 @@ -= Roles += Bisq DAO Roles -Roles are the means by which responsibility over specific Bisq Network components, infrastructure and processes is delegated to individual contributors. +Roles are the way contributors take responsibility for Bisq Network resources and processes. == Introduction -The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many vital resources and processes that must be cared for by individuals. For example, someone must manage the DNS for the https://bisq.network[bisq.network] domain, someone must admininister the {gh-org}[bisq-network] GitHub organization, and so on. +The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many vital resources and processes that must be cared for by individuals. For example, someone must manage the DNS for the `bisq.network` domain, someone must conduct monthly stakeholder voting, and so on. -And because the Bisq DAO is not a volunteer organization, but one that compensates valuable contributions, it must be possible for stakeholders to assess how these resources and processes are being cared for over time so as to know whether and how much to compensate those in charge of them. +What's needed is a mechanism that defines these various responsibilities, makes it clear who is responsible for each, and that includes a process for regular reporting and feedback. The system of _roles_ described below provides that mechanism. -What's needed is a mechanism that defines each of these responsibilities, makes it clear who is responsible for them, and that includes a process for regular reporting and feedback. The system of roles described below provide that mechanism. + +== Characteristics + +=== Duties + +Actions that must be performed for a certain resource or process to function normally. + +For example, a repository maintainer's duties include merging pull requests in a timely fashion, and the website operator's duties include keeping the site available at all times. + +=== Rights + +Special permissions or other access required to perform the <> of a role. + +For example, a repository maintainer's rights include write permissions to their repository, and the website operator's rights include administrative access to site hosting infrastructure. + +=== Owners + +The individuals who have the <> required to perform the <> of a role. + +One owner is designated as _primary_ and any other owners are designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary is responsible for performing the <> of the role, while secondaries stand by, capable of taking over for the primary at any time. == Infrastructure @@ -20,6 +39,7 @@ What's needed is a mechanism that defines each of these responsibilities, makes Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] repository. +//// - Assignees used to track role ownership - Description field used to - Link to team @@ -31,6 +51,7 @@ Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] rep - Anyone can subscribe to any issue or watch the whole repo to stay up to date with reporting - Labels used to - Indicate `help wanted` +//// ==== Teams @@ -45,20 +66,6 @@ There is no "role documentation" per se, but rather there is documentation about Slack. -== Anatomy of a role - -=== Duties - -A role's _duties_ are the activities that the role's owner must carry out in order to be compensated for their efforts. For example, repository maintainers must enforce review process and merge pull requests in a timely fashion, the website operator must keep the site up and running at all times, and so forth. - -=== Rights - -Most roles involve some special _rights,_ such as exclusive permissions or access to a given resource. For example, a maintainer of a bisq-network GitHub repository will have write permissions to that repository such that they can merge contributors' pull requests, the operator of the bisq.network website will have administrative access to the infrastructure that hosts the site, and so forth. - -=== Owners - -Each role has one or more _owners,_ with one being designated as _primary_ and others being designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary role owner is responsible for carrying out the day to day activities of that role, while secondary owners are standing by, fully capable of taking over for the primary owner in case of sickness or other incapacitation. - == Common role duties From f28a9e2c39605689733a5b36cc187aeaab51d659 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 11:17:06 +0200 Subject: [PATCH 07/37] Pull up the Types section --- roles.adoc | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/roles.adoc b/roles.adoc index 0b0adc0..938556d 100644 --- a/roles.adoc +++ b/roles.adoc @@ -66,6 +66,16 @@ There is no "role documentation" per se, but rather there is documentation about Slack. +== Types + +=== Maintainer + +=== Operator + +=== Administrator + +=== Moderator + == Common role duties @@ -99,17 +109,6 @@ Generally means setting up notifications appropriately. Specifically, keeping your own role's documentation up to date -== Common role types - -=== Maintainer - -=== Operator - -=== Administrator - -=== Moderator - - == Compensation From 50c06d27aa09119aadb7653203bf753a8e8f652a Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 17:51:55 +0200 Subject: [PATCH 08/37] Pull up Docs section --- roles.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles.adoc b/roles.adoc index 938556d..13f2f0f 100644 --- a/roles.adoc +++ b/roles.adoc @@ -33,6 +33,10 @@ One owner is designated as _primary_ and any other owners are designated as _sec == Infrastructure +=== Docs + +There is no "role documentation" per se, but rather there is documentation about whatever component or infrastructure a given role is responsible for, and in that documentation, there is a section for the role. + === GitHub ==== Issues @@ -57,10 +61,6 @@ Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] rep Managed as GitHub Teams. For @mentions and to institutionalize thinking in terms of roles not individuals. -=== Docs - -There is no "role documentation" per se, but rather there is documentation about whatever component or infrastructure a given role is responsible for, and in that documentation, there is a section for the role. - === Slack Slack. From 7699749d49c542f0662332c6dc40459aabcc6cfa Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 17:58:25 +0200 Subject: [PATCH 09/37] Remove Notes section These TODOs are captured as checklist items in the pull request description. --- roles.adoc | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/roles.adoc b/roles.adoc index 13f2f0f..f02979e 100644 --- a/roles.adoc +++ b/roles.adoc @@ -142,26 +142,6 @@ All normal <> === Rights -== Notes - -replace the proto-documentation we did for roles in the Phase Zero doc, particularly that found at docs.bisq.network/dao/phase-zero.html#bonded-contributor-roles - -capture the decisions we've made around roles in bisq-network/proposals#12 and bisq-network/proposals#13 and bisq-network/proposals#14 - -document the way the bisq-network/roles repository works and document the responsibilities of the roles maintainer (bisq-network/roles#28). - -cover the relationship between role issues, GitHub teams, primary/secondary role owners - -document, or at least carve out a placeholder for documenting, the way bonding and BSQ interest payments will work for bonded contributor roles. - -document the process for creating a new role, which will likely involve submitting a proposal for a new role, similar to the way this one was done - -Update https://docs.bisq.network/dao/phase-zero.html#Appendix-A - -Close https://github.com/bisq-network/bisq-docs/issues/46 - -Maintainer role must be fully separated from reviewer role. Maintainers validate that pull requests are correct, maintainers ensure that overall process is followed, maintainers give enough time for sufficient review, and then, maintainers merge pull requests. When somone is _reviewing_ a pull request, even if that person is a maintainer, they are not wearing their maintainer hat. They are wearing their _contributor_ hat. Maintainers do not review. See https://github.com/bisq-network/roles/issues/63#issuecomment-393453744 for counter-example of this. Reviewing puts too much on maintainers. - //// .Example ---- From e964bf233b6bc3f07458a1faced8c18a521cb9e9 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 20:44:52 +0200 Subject: [PATCH 10/37] Overhaul Proposals doc in context of new Roles doc - Use fewer words (this has nothing specific to do with Roles) - Rework Roles section to use Duties, Rights and Owners language - Reference new Roles doc where appropriate with footnotes --- proposals.adoc | 52 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/proposals.adoc b/proposals.adoc index 0aa5ef8..64eaaa3 100644 --- a/proposals.adoc +++ b/proposals.adoc @@ -1,51 +1,71 @@ = Proposals -Proposals are a means for suggesting specific changes to Bisq Network software components, infrastructure and processes. They are especially useful where awareness and agreement of other contributors is required in order for the change to be successfully implemented. +Proposals are a means for suggesting changes to Bisq Network software components, infrastructure and processes. == Introduction -The Bisq DAO is a flat organization, meaning that there is no command-and-control hierarchy available to make big decisions and carry them out. +The Bisq DAO is a flat organization, with no command-and-control hierarchy available to make big decisions and carry them out. Usually this is not a problem, as most day-to-day changes happen without any need for organization-wide consensus. Certain kinds of changes, however, benefit from or even require it. -Generally, this is not a problem, as the Bisq DAO is designed for contributors to operate permissionlessly and autonomously. Most day-to-day changes happen without any need for organization-wide consensus, but there are certain kinds of changes that benefit from or even require it. For such cases, what's needed is a mechanism that allows any contributor to _propose_ a change, and allows any and all other contributors to _review_ it in order to arrive at an IETF-style https://en.wikipedia.org/wiki/Rough_consensus[rough consensus] whether to proceed. - -_Proposals_ are that mechanism within the Bisq DAO, and this document covers everything that submitters, reviewers and maintainers need to know about the infrastructure, process and best practices around them. +What's needed is a mechanism that allows any contributor to _propose_ a change, and all other contributors to _review_ it in order to arrive at an IETF-style rough consensus.footnote:[See link:https://en.wikipedia.org/wiki/Rough_consensus[]] _Proposals_ are that mechanism, and this document covers everything that participants need to know about the process. === What proposals are good for -If you're thinking of creating an entire new Bisq component or making a significant change to an existing one, it's a good idea to submit a proposal first. Likewise, if you want to change something about the way contributors work together under the Bisq DAO, submit a proposal. + * Creating an entire new Bisq component or making a significant change to an existing one + * Changing something about the way contributors work together === What proposals are not good for -For smaller changes to existing components, infrastructure or processes, where a broad consensus of contributors is not required, just submit an issue and/or pull request in the relevant repository. The maintainer of that repository will let you know if the change is too big or controversial, in which case they'll probably suggest you write a proposal. When in doubt, don't jump right to submitting a proposal. Have a conversation first. Chat with other contributors. See if they think a proposal is merited. + * Smaller changes to existing components, infrastructure or processes, where a broad consensus of contributors is not required == Infrastructure === GitHub -Proposals are managed as GitHub issues in the https://github.com/bisq-network/proposals/issues[bisq-network/proposals] repository. - -TIP: If you're an active Bisq contributor, consider https://help.github.com/articles/watching-and-unwatching-repositories/[watching] this repository to be notified of new proposals and discussions around them. You can always https://help.github.com/articles/subscribing-to-and-unsubscribing-from-notifications/[unsubscribe] from specific issues you're not interested in. +Proposals are managed as GitHub issues in the {gh-org}/proposals/issues[bisq-network/proposals] repository. === Slack The `#proposals` Slack channel is available for discussion and notifications about proposal issue activity. -== Roles and responsibilities +== Roles === Submitter -The contributor(s) who write a proposal and carry it through to completion. **Submitters are 100% responsible for the success of their proposals.** +The contributor(s) who write a proposal and carry it through to completion. + +**Submitters are 100% responsible for the success of their proposals.** === Reviewer -Other contributors who read, discuss and react to proposals. **Any contributor _may_ review a proposal, but no contributor is obligated to do so.** This intentionally puts the onus on the submitter to ensure their proposal is relevant and well-written per the guidelines below. +Other contributors who read, discuss and react to proposals. + +**Any contributor _may_ review a proposal, but no contributor is obligated to do so.** This intentionally puts the onus on the submitter to ensure their proposal is relevant and well-written per the <> below. === Maintainer -The contributor(s) who have administrative rights over the `bisq-network/proposals` GitHub repository, monitor the `#proposals` Slack channel, enforce the process detailed below, and write https://github.com/bisq-network/roles/issues/30[monthly reports] on proposals activity. **Maintainers have no special authority to approve or reject proposals.** +The contributor(s) responsible for proposals <> and <>.footnote:[See link:roles.html#maintainer[]] + +==== Role Issue + +{gh-org}/roles/issues/30[#30] + +==== Duties + + * Enforce the proposals <> detailed below. + * Monitor communications on the `#proposals` Slack channel.footnote:[See link:roles.html#communication[]] + * Keep this proposals documentation up to date.footnote:[See link:roles.html#documentation[]] + * Write a monthly report on the proposals maintainer <>.footnote:[See link:roles.html#reporting[]] + +==== Rights + + * Write access to the {gh-org}/proposals[bisq-network/proposals] repository + +==== Owners + +See the <> == Process @@ -67,7 +87,7 @@ A maintainer will quickly review your proposal and will either (a) assign it to === Step 2. Review -Once a proposal is submitted, a two-week review period follows. During this period, interested reviewers should read, discuss and ultimately react to the proposal as follows: +Once a proposal is submitted, a two-week review period follows. During this period, interested reviewers should read, discuss and ultimately https://help.github.com/articles/about-conversations-on-github/#reacting-to-ideas-in-comments[react] to the proposal as follows: - 👍: I agree with the proposal and want to see it enacted - 😕: I am uncertain about the proposal and I need more information @@ -79,7 +99,7 @@ If you do not understand or care about a given proposal, ignore it. Use comments on the proposal issue to discuss, ask questions, and get clarifications. Take lengthy discussions offline to Slack or elsewhere and then summarize them back on the issue. -TIP: Remember that the proposal review process is all about reaching a _rough consensus,_ meaning that there is a broad agreement that the proposal should be enacted, and that any dissenting opinions have been addressed, though not necessarily fully resolved. +NOTE: Remember that the proposal review process is all about reaching a _rough consensus,_ meaning that there is a broad agreement that the proposal should be enacted, and that any dissenting opinions have been addressed, though not necessarily fully resolved. === Step 3. Evaluate From 15755a149673b87910a1060dba19612eab04d4d6 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 20:48:35 +0200 Subject: [PATCH 11/37] Remove tip and example role issue description --- roles.adoc | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/roles.adoc b/roles.adoc index f02979e..315025c 100644 --- a/roles.adoc +++ b/roles.adoc @@ -140,19 +140,3 @@ https://github.com/bisq-network/roles/issues/28 All normal <> === Rights - - -//// -.Example ----- -DNS Admin - -Assignees: @cbeams, @ripcurlx -Description: - Team: @bisq-network/dns-admins - Primary: @cbeams - Docs: https://docs.bisq.network/dns.html#admin ----- -//// - -TIP: Subscribe to individual role issues or watch the entire repository to stay up to date with role reports. From 6b975fc1b03cc99bf5b10c14ea64cc7af78cce53 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jun 2018 20:49:04 +0200 Subject: [PATCH 12/37] Refine text and headings --- roles.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/roles.adoc b/roles.adoc index 315025c..a32c46d 100644 --- a/roles.adoc +++ b/roles.adoc @@ -7,10 +7,11 @@ Roles are the way contributors take responsibility for Bisq Network resources an The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many vital resources and processes that must be cared for by individuals. For example, someone must manage the DNS for the `bisq.network` domain, someone must conduct monthly stakeholder voting, and so on. -What's needed is a mechanism that defines these various responsibilities, makes it clear who is responsible for each, and that includes a process for regular reporting and feedback. The system of _roles_ described below provides that mechanism. +What's needed is a mechanism that defines these various duties, makes it clear who is responsible for each, and that includes a process for regular reporting and feedback. The system of _roles_ described below provides such a mechanism. -== Characteristics +[[characteristics]] +== Characteristics of a role === Duties @@ -26,7 +27,7 @@ For example, a repository maintainer's rights include write permissions to their === Owners -The individuals who have the <> required to perform the <> of a role. +Contributors who have the <> required to perform the <> of a role. One owner is designated as _primary_ and any other owners are designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary is responsible for performing the <> of the role, while secondaries stand by, capable of taking over for the primary at any time. From b7f8ba7a3179abd6f6b8fd0431ef681a3e04fed4 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 06:02:33 +0200 Subject: [PATCH 13/37] Update xref label to Role Issue --- roles.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles.adoc b/roles.adoc index a32c46d..9c548a0 100644 --- a/roles.adoc +++ b/roles.adoc @@ -82,7 +82,7 @@ Slack. === Reporting -Primary role <> should submit a _monthly report_ as a comment on their role's <>.footnote:[See {gh-org}/proposals/issues/13] The report should contain whatever information the owner believes would be valuable to other users, contributors and stakeholders. The comment should be formatted in Markdown as follows: +Primary role <> should submit a _monthly report_ as a comment on their <>.footnote:[See {gh-org}/proposals/issues/13] The report should contain whatever information the owner believes would be valuable to other users, contributors and stakeholders. The comment should be formatted in Markdown as follows: [source,markdown] ---- From 9258a698c7ea1a201d6db96397094fe0ba85c906 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 06:14:38 +0200 Subject: [PATCH 14/37] Flesh out the 'Roles Maintainer role' section Following suit with recent, similar changes to the Proposal doc's Roles section. Structure, footnotes, etc are the same. --- roles.adoc | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/roles.adoc b/roles.adoc index 9c548a0..bc14225 100644 --- a/roles.adoc +++ b/roles.adoc @@ -116,7 +116,7 @@ Specifically, keeping your own role's documentation up to date == Bonding -== Proceseses +== Processes === Proposing a new role @@ -132,12 +132,27 @@ Specifically, keeping your own role's documentation up to date [roles-maintainer] == The Roles Maintainer role -The system of roles described above is a collection of infrastructure and processes like any other in the Bisq DAO, and requires a maintainer to care for it. +The contributor(s) responsible for roles <> and <>.footnote:[See link:roles.html#maintainer[]] -https://github.com/bisq-network/roles/issues/28 +[roles-maintainer-role-issue] +=== Role Issue -=== Duties +{gh-org}/issues/28[#28] -All normal <> +[roles-maintainer-duties] +==== Duties -=== Rights + * Enforce the proposals <> detailed below. + * Monitor communications on the `#roles` Slack channel.footnote:[See link:roles.html#communication[]] + * Keep this roles documentation up to date.footnote:[See link:roles.html#documentation[]] + * Write a monthly report on the roles maintainer <>.footnote:[See link:roles.html#reporting[]] + +[roles-maintainer-rights] +==== Rights + + * Write access to the {gh-org}/roles[bisq-network/roles] repository + +[roles-maintainer-owners] +==== Owners + +See the <> From 3ad467ad936b0d2f332355431bef9798634f2aba Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 06:27:23 +0200 Subject: [PATCH 15/37] Pull up 'Roles Maintainer role' section above Processes --- roles.adoc | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/roles.adoc b/roles.adoc index bc14225..3ce1d41 100644 --- a/roles.adoc +++ b/roles.adoc @@ -116,19 +116,6 @@ Specifically, keeping your own role's documentation up to date == Bonding -== Processes - -=== Proposing a new role - -=== Transferring ownership - -=== Changing primary / secondary status - -=== Adding a secondary - -=== Providing feedback to role owners - - [roles-maintainer] == The Roles Maintainer role @@ -156,3 +143,16 @@ The contributor(s) responsible for roles <> and <>.fo ==== Owners See the <> + + +== Processes + +=== Proposing a new role + +=== Transferring ownership + +=== Changing primary / secondary status + +=== Adding a secondary + +=== Providing feedback to role owners From 9d5205c4a37727ee61adaf603d829d2dcc6caef2 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 06:28:25 +0200 Subject: [PATCH 16/37] Fix 'Role Maintainer role' heading levels --- roles.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles.adoc b/roles.adoc index 3ce1d41..1df99ec 100644 --- a/roles.adoc +++ b/roles.adoc @@ -127,7 +127,7 @@ The contributor(s) responsible for roles <> and <>.fo {gh-org}/issues/28[#28] [roles-maintainer-duties] -==== Duties +=== Duties * Enforce the proposals <> detailed below. * Monitor communications on the `#roles` Slack channel.footnote:[See link:roles.html#communication[]] @@ -135,12 +135,12 @@ The contributor(s) responsible for roles <> and <>.fo * Write a monthly report on the roles maintainer <>.footnote:[See link:roles.html#reporting[]] [roles-maintainer-rights] -==== Rights +=== Rights * Write access to the {gh-org}/roles[bisq-network/roles] repository [roles-maintainer-owners] -==== Owners +=== Owners See the <> From 6e981cebe5412dd68fb8cd9d4a0390a2f3687692 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 06:49:19 +0200 Subject: [PATCH 17/37] Incorporate Role Teams into Rights sections --- build.gradle | 3 ++- proposals.adoc | 9 ++++++++- roles.adoc | 10 +++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 3ed75b0..1971949 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,8 @@ asciidoctor { idprefix : '', idseparator : '-', docinfo1 : '', - 'gh-org' : 'https://github.com/bisq-network' + 'gh-org' : 'https://github.com/bisq-network', + 'gh-team' : 'https://github.com/orgs/bisq-network/teams' } build.dependsOn asciidoctor diff --git a/proposals.adoc b/proposals.adoc index 64eaaa3..078449c 100644 --- a/proposals.adoc +++ b/proposals.adoc @@ -52,6 +52,11 @@ The contributor(s) responsible for proposals <> and <>. {gh-org}/roles/issues/30[#30] +==== Role Team +:proposals-maintainers: {gh-team}/proposals-maintainers[@bisq-network/proposals-maintainers] + +{proposals-maintainers} footnote:[See link:roles.html#teams[]] + ==== Duties * Enforce the proposals <> detailed below. @@ -61,7 +66,9 @@ The contributor(s) responsible for proposals <> and <>. ==== Rights - * Write access to the {gh-org}/proposals[bisq-network/proposals] repository + * Membership in the {proposals-maintainers} team + * `Maintainer` status in the {proposals-maintainers} team (primary owner only) + * Write access to the {gh-org}/proposals[bisq-network/proposals] repository (through the {proposals-maintainers} team) ==== Owners diff --git a/roles.adoc b/roles.adoc index 1df99ec..4b9e60c 100644 --- a/roles.adoc +++ b/roles.adoc @@ -126,6 +126,12 @@ The contributor(s) responsible for roles <> and <>.fo {gh-org}/issues/28[#28] +[roles-maintainer-role-team] +=== Role Team +:roles-maintainers: {gh-team}/roles-maintainers[@bisq-network/roles-maintainers] + +{roles-maintainers} footnote:[See link:roles.html#teams[]] + [roles-maintainer-duties] === Duties @@ -137,7 +143,9 @@ The contributor(s) responsible for roles <> and <>.fo [roles-maintainer-rights] === Rights - * Write access to the {gh-org}/roles[bisq-network/roles] repository + * Membership in the {roles-maintainers} team + * `Maintainer` status in the {roles-maintainers} team (primary owner only) + * Write access to the {gh-org}/roles[bisq-network/roles] repository (through the {roles-maintainers} team) [roles-maintainer-owners] === Owners From 084365792b73ba66e5e11b8230b3860e2b577f63 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 07:12:53 +0200 Subject: [PATCH 18/37] Fix anchor syntax --- roles.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles.adoc b/roles.adoc index 4b9e60c..7f132cb 100644 --- a/roles.adoc +++ b/roles.adoc @@ -116,23 +116,23 @@ Specifically, keeping your own role's documentation up to date == Bonding -[roles-maintainer] +[[roles-maintainer-role]] == The Roles Maintainer role The contributor(s) responsible for roles <> and <>.footnote:[See link:roles.html#maintainer[]] -[roles-maintainer-role-issue] +[[roles-maintainer-role-issue]] === Role Issue {gh-org}/issues/28[#28] -[roles-maintainer-role-team] +[[roles-maintainer-role-team]] === Role Team :roles-maintainers: {gh-team}/roles-maintainers[@bisq-network/roles-maintainers] {roles-maintainers} footnote:[See link:roles.html#teams[]] -[roles-maintainer-duties] +[[roles-maintainer-duties]] === Duties * Enforce the proposals <> detailed below. @@ -140,14 +140,14 @@ The contributor(s) responsible for roles <> and <>.fo * Keep this roles documentation up to date.footnote:[See link:roles.html#documentation[]] * Write a monthly report on the roles maintainer <>.footnote:[See link:roles.html#reporting[]] -[roles-maintainer-rights] +[[roles-maintainer-rights]] === Rights * Membership in the {roles-maintainers} team * `Maintainer` status in the {roles-maintainers} team (primary owner only) * Write access to the {gh-org}/roles[bisq-network/roles] repository (through the {roles-maintainers} team) -[roles-maintainer-owners] +[[roles-maintainer-owners]] === Owners See the <> From 9048e4c9fce06682a266771874ae06d79cfc2bda Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sat, 30 Jun 2018 07:15:29 +0200 Subject: [PATCH 19/37] Add comment on custom anchors in Roles Maintainer section --- roles.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/roles.adoc b/roles.adoc index 7f132cb..87bae4d 100644 --- a/roles.adoc +++ b/roles.adoc @@ -115,7 +115,9 @@ Specifically, keeping your own role's documentation up to date == Bonding - +//// +In the section below, custom [[anchors]] are used for each section to disambiguate them from sections with the same name in the general documentation above about role issues, role teams, duties, rights and owners. +//// [[roles-maintainer-role]] == The Roles Maintainer role From 55f18f27fd529f6ac911384342a9d82f8cfd4087 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sun, 1 Jul 2018 18:40:56 +0200 Subject: [PATCH 20/37] Revise Roles document This is a full pass over the doc with changes to most sections. Several sections remain incomplete. --- roles.adoc | 119 ++++++++++++++++++++++++----------------------------- 1 file changed, 54 insertions(+), 65 deletions(-) diff --git a/roles.adoc b/roles.adoc index 87bae4d..68bc75a 100644 --- a/roles.adoc +++ b/roles.adoc @@ -1,74 +1,71 @@ -= Bisq DAO Roles += Roles Roles are the way contributors take responsibility for Bisq Network resources and processes. == Introduction -The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many vital resources and processes that must be cared for by individuals. For example, someone must manage the DNS for the `bisq.network` domain, someone must conduct monthly stakeholder voting, and so on. +The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many resources and processes vital to the operation of the network that must be cared for by individuals. For example, someone must manage the DNS for the `bisq.network` domain, someone must conduct monthly stakeholder voting, and so on. What's needed is a mechanism that defines these various duties, makes it clear who is responsible for each, and that provides a process for regular reporting and feedback. The system of _roles_ described below is designed to meet this need, with a major design goal being maximizing decentralization and keeping the organization flat as it grows. -What's needed is a mechanism that defines these various duties, makes it clear who is responsible for each, and that includes a process for regular reporting and feedback. The system of _roles_ described below provides such a mechanism. +== Properties -[[characteristics]] -== Characteristics of a role +The following are properties common to all roles. === Duties -Actions that must be performed for a certain resource or process to function normally. +_Duties_ are actions that must be performed for a certain resource or process to function normally. -For example, a repository maintainer's duties include merging pull requests in a timely fashion, and the website operator's duties include keeping the site available at all times. +For example, a repository maintainer's duties include merging pull requests in a timely fashion, and a website operator's duties include keeping the site available at all times. === Rights -Special permissions or other access required to perform the <> of a role. +_Rights_ are special permissions or other access required to perform the <> of a role. -For example, a repository maintainer's rights include write permissions to their repository, and the website operator's rights include administrative access to site hosting infrastructure. +For example, a repository maintainer's rights include write permissions to their repository, and a website operator's rights include administrative access to site hosting infrastructure. === Owners -Contributors who have the <> required to perform the <> of a role. +_Owners_ are contributors who have the <> required to perform the <> of a role. One owner is designated as _primary_ and any other owners are designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary is responsible for performing the <> of the role, while secondaries stand by, capable of taking over for the primary at any time. == Infrastructure +The following infrastructure is used to define and manage each role. + === Docs -There is no "role documentation" per se, but rather there is documentation about whatever component or infrastructure a given role is responsible for, and in that documentation, there is a section for the role. +Each role should be documented at https://docs.bisq.network[docs.bisq.network], not in a document of its own, but in a _section_ of a document dedicated to the larger resource or process in question. + +For example, there is no "Proposals Maintainer" document, but rather a <> document having a <> section within. -=== GitHub +Each role's documentation should enumerate its <> and <> and link to its <> and <>. -==== Issues +=== Team -Roles are managed as issues in the {gh-org}/roles/issues[bisq-network/roles] repository. +Each role has a dedicated GitHub team where each of the role's <> are members. The team is used to manage access to GitHub repositories that role is responsible for and to send notifications to owners with @mentions in GitHub issues and pull requests. -//// - - Assignees used to track role ownership - - Description field used to - - Link to team - - Indicate who is primary - - Link to role documentation - - Comments used for - - monthly reporting - - customer feedback - - Anyone can subscribe to any issue or watch the whole repo to stay up to date with reporting - - Labels used to - - Indicate `help wanted` -//// +For example, the {gh-team}/desktop-maintainers/members[@bisq-network/desktop-maintainers] team has write access to the {gh-org}/bisq-desktop[bisq-network/bisq-desktop] repository. -==== Teams +The primary role owner is also assigned as the _maintainer_ of the GitHub team, such that they may manage the team without requiring the intervention of a GitHub admin. -Managed as GitHub Teams. For @mentions and to institutionalize thinking in terms of roles not individuals. +=== Issue -=== Slack +Each role has a dedicated GitHub issue in the {gh-org}/roles/issues[bisq-network/roles] repository. -Slack. + - The **Assignees** field is used to track role ownership. + - The **Description** field is used to link to the role's <>, <> and primary <>. + - **Comments** are used for <> and feedback. + +See the {gh-org}/roles/issues/30[Proposals Maintainer] role issue for an example. == Types +Most roles fit into one of the types below. + === Maintainer === Operator @@ -78,11 +75,13 @@ Slack. === Moderator -== Common role duties +== Common duties -=== Reporting +The following duties are common to all roles. -Primary role <> should submit a _monthly report_ as a comment on their <>.footnote:[See {gh-org}/proposals/issues/13] The report should contain whatever information the owner believes would be valuable to other users, contributors and stakeholders. The comment should be formatted in Markdown as follows: +=== Report + +Primary role <> should report once a month in the form of a comment on their <>.footnote:[See {gh-org}/proposals/issues/13] The report should contain whatever information the owner believes would be valuable to other users, contributors and stakeholders. The comment should be formatted in Markdown as follows: [source,markdown] ---- @@ -97,62 +96,52 @@ Where `` is the content of the report itself, and `` is the num Some roles may have nothing to report in a given month. In this case, a report should still be written stating that there is "nothing to report". https://github.com/bisq-network/roles/issues/18#issuecomment-393217596[Example]. -=== Communication - -Respond to issues in any repositories - -Respond to inquiries in Slack +=== Document -Generally means setting up notifications appropriately. +Primary role <> should document changes to their role by submitting pull requests to their role's <>. -=== Documentation +=== Communicate -Specifically, keeping your own role's documentation up to date +Primary role <> should respond in a timely fashion to feedback comments on their role <>, issues created in their repositories, @mentions of their <>, and questions in their Slack channel. == Compensation +TODO + == Bonding -//// -In the section below, custom [[anchors]] are used for each section to disambiguate them from sections with the same name in the general documentation above about role issues, role teams, duties, rights and owners. -//// +TODO + + [[roles-maintainer-role]] == The Roles Maintainer role -The contributor(s) responsible for roles <> and <>.footnote:[See link:roles.html#maintainer[]] +Roles Maintainers are the contributors responsible for the system of roles described throughout the rest of this document. -[[roles-maintainer-role-issue]] -=== Role Issue +[[roles-maintainer-issue]] +=== Issue -{gh-org}/issues/28[#28] +{gh-org}/roles/issues/28[bisq-network/roles#28] -[[roles-maintainer-role-team]] -=== Role Team -:roles-maintainers: {gh-team}/roles-maintainers[@bisq-network/roles-maintainers] +[[roles-maintainer-team]] +=== Team -{roles-maintainers} footnote:[See link:roles.html#teams[]] +{gh-team}/roles-maintainers[@bisq-network/roles-maintainers] [[roles-maintainer-duties]] === Duties - * Enforce the proposals <> detailed below. - * Monitor communications on the `#roles` Slack channel.footnote:[See link:roles.html#communication[]] - * Keep this roles documentation up to date.footnote:[See link:roles.html#documentation[]] - * Write a monthly report on the roles maintainer <>.footnote:[See link:roles.html#reporting[]] + * Follow and enforce the roles <> detailed below. + * <> monthly on the Roles Maintainer <>. + * <> changes to roles <>. + * <> in the `#roles` Slack channel. [[roles-maintainer-rights]] === Rights - * Membership in the {roles-maintainers} team - * `Maintainer` status in the {roles-maintainers} team (primary owner only) - * Write access to the {gh-org}/roles[bisq-network/roles] repository (through the {roles-maintainers} team) - -[[roles-maintainer-owners]] -=== Owners - -See the <> + * Write access to the {gh-org}/roles[bisq-network/roles] repository == Processes From 7ffe21dfb5f015ef1b3d95e474c256677d95c92b Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 2 Jul 2018 07:11:17 +0200 Subject: [PATCH 21/37] Add {role} attribute for convenience --- build.gradle | 3 ++- roles.adoc | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 1971949..dff6c33 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,8 @@ asciidoctor { idseparator : '-', docinfo1 : '', 'gh-org' : 'https://github.com/bisq-network', - 'gh-team' : 'https://github.com/orgs/bisq-network/teams' + 'gh-team' : 'https://github.com/orgs/bisq-network/teams', + 'role' : 'https://github.com/bisq-network/roles/issues' } build.dependsOn asciidoctor diff --git a/roles.adoc b/roles.adoc index 68bc75a..0c2734c 100644 --- a/roles.adoc +++ b/roles.adoc @@ -59,7 +59,7 @@ Each role has a dedicated GitHub issue in the {gh-org}/roles/issues[bisq-network - The **Description** field is used to link to the role's <>, <> and primary <>. - **Comments** are used for <> and feedback. -See the {gh-org}/roles/issues/30[Proposals Maintainer] role issue for an example. +See the {role}/30[Proposals Maintainer] role issue for an example. == Types @@ -92,9 +92,9 @@ Primary role <> should report once a month in the form of a comment on t /cc bisq-network/compensation# ---- -Where `` is the content of the report itself, and `` is the number of that contributor's monthly compensation request. https://github.com/bisq-network/roles/issues/16#issuecomment-393852612[Example]. +Where `` is the content of the report itself, and `` is the number of that contributor's monthly compensation request. {role}/16#issuecomment-393852612[Example]. -Some roles may have nothing to report in a given month. In this case, a report should still be written stating that there is "nothing to report". https://github.com/bisq-network/roles/issues/18#issuecomment-393217596[Example]. +Some roles may have nothing to report in a given month. In this case, a report should still be written stating that there is "nothing to report". {role}/18#issuecomment-393217596[Example]. === Document @@ -123,7 +123,7 @@ Roles Maintainers are the contributors responsible for the system of roles descr [[roles-maintainer-issue]] === Issue -{gh-org}/roles/issues/28[bisq-network/roles#28] +{role}/28[bisq-network/roles#28] [[roles-maintainer-team]] === Team From 5dcfd1db26820135085f96c68b78f0f0a4eae573 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 2 Jul 2018 07:11:50 +0200 Subject: [PATCH 22/37] Write Maintainer section --- roles.adoc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/roles.adoc b/roles.adoc index 0c2734c..a37b867 100644 --- a/roles.adoc +++ b/roles.adoc @@ -68,6 +68,30 @@ Most roles fit into one of the types below. === Maintainer +A _Maintainer_ is a contributor responsible for enforcing process in a given GitHub repository. + +Examples: {role}/63[Bisq Desktop Maintainer], {role}/30[Proposals Maintainer] + +==== Maintainer Duties + + * Merging or closing pull requests after sufficient review. + * Tagging releases. + * Keeping issues organized and to a minimum. + +==== Maintainer Rights + + * Write access to the repository they are responsible for. + +[IMPORTANT] +.A Maintainer is not a Developer or a Reviewer +==== +The maintainer role is strictly about enforcing process. Development (submitting pull requests) is something any contributor can do. Likewise, review is open to contributors and is NOT the special duty of maintainers. + +This is particularly important from a compensation perspective. If you are a maintainer, do NOT group development and review activities under your maintainer role in your compensation requests. Rather, itemize your pull requests and reviews just like any other contributor would. + +The goal is to have as many competent contributors developing and reviewing as possible, not to load everything on the Maintiner. https://rfc.unprotocols.org/spec:1/C4/#21-preliminaries[C4] is the inspiration here, it's worth re-reading. +==== + === Operator === Administrator From a486940eef0cf27d83193c7b9a64ea63dc8f8fe6 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 2 Jul 2018 09:09:53 +0200 Subject: [PATCH 23/37] Revise and reposition Maintainer != Reviever admonition --- roles.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles.adoc b/roles.adoc index a37b867..60b1810 100644 --- a/roles.adoc +++ b/roles.adoc @@ -78,20 +78,20 @@ Examples: {role}/63[Bisq Desktop Maintainer], {role}/30[Proposals Maintainer] * Tagging releases. * Keeping issues organized and to a minimum. -==== Maintainer Rights - - * Write access to the repository they are responsible for. - [IMPORTANT] .A Maintainer is not a Developer or a Reviewer ==== -The maintainer role is strictly about enforcing process. Development (submitting pull requests) is something any contributor can do. Likewise, review is open to contributors and is NOT the special duty of maintainers. +Submitting and reviewing pull requests is something any contributor can do; neither are maintainer duties per se. -This is particularly important from a compensation perspective. If you are a maintainer, do NOT group development and review activities under your maintainer role in your compensation requests. Rather, itemize your pull requests and reviews just like any other contributor would. +This is particularly important from a compensation perspective. **If you are a maintainer, do NOT group your development and review activities together with your maintainer role in your compensation requests.** Rather, account for them separately like any other contributor would. The goal is to have as many competent contributors developing and reviewing as possible, not to load everything on the Maintiner. https://rfc.unprotocols.org/spec:1/C4/#21-preliminaries[C4] is the inspiration here, it's worth re-reading. ==== +==== Maintainer Rights + + * Write access to the repository they are responsible for. + === Operator === Administrator From 32b99124c1f0a8bd38d16e6b462c04af9348edf0 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 2 Jul 2018 09:23:36 +0200 Subject: [PATCH 24/37] Write Operator section --- roles.adoc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/roles.adoc b/roles.adoc index 60b1810..d7b55c7 100644 --- a/roles.adoc +++ b/roles.adoc @@ -94,6 +94,22 @@ The goal is to have as many competent contributors developing and reviewing as p === Operator +An _Operator_ is a contributor responsible for keeping a given resource running and functioning normally. + +Examples: {role}/19[Forum Operator], {role}/14[Bisq Pricenode Operator] + +==== Operator Duties + + * Keep the given resource online and functioning normally. + * Keep the resource up to date with latest version. + * Maintain backups as appropriate. + * Report on any incidents. + +==== Operator Rights + + * Administrative access to hosting infrastructure. + * Ownership of any domain name used. + === Administrator === Moderator From fe1e0c5a98aaa339e1fa55a23141ef1c51654e01 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 2 Jul 2018 09:40:31 +0200 Subject: [PATCH 25/37] Write Admin and Operator sections --- roles.adoc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/roles.adoc b/roles.adoc index d7b55c7..617e100 100644 --- a/roles.adoc +++ b/roles.adoc @@ -112,8 +112,33 @@ Examples: {role}/19[Forum Operator], {role}/14[Bisq Pricenode Operator] === Administrator +An _Administrator_ ('Admin') is a contributor responsible for managing a given resource. + +Examples: {role}/16[GitHub Admin], {role}/23[Slack Admin] + +==== Admin Duties + + * Respond to change requests. + +==== Admin Rights + + * Access to the administrative interface of the resource in question. + === Moderator +A _Moderator_ is a contributor responsible for enforcing process and standards in a given communications channel. + +Examples: {role}/37[Bitcointalk Moderator], {role}/25[Reddit Moderator] + +==== Moderator Duties + + * Ensure discussions are on topic, civil, etc. + * Post key announcements in a timely fashion. + +==== Moderator Rights + + * Moderator (or equivalent) status in the channel. + == Common duties From e93232f63ac342b308f6fd355c2a8a937ab6cb83 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 2 Jul 2018 13:08:44 +0200 Subject: [PATCH 26/37] Write Processes section --- roles.adoc | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/roles.adoc b/roles.adoc index 617e100..883e8f8 100644 --- a/roles.adoc +++ b/roles.adoc @@ -211,12 +211,31 @@ Roles Maintainers are the contributors responsible for the system of roles descr == Processes +The following are some common roles-related processes. + === Proposing a new role -=== Transferring ownership +Typically, proposing a new role is one part of a larger proposal to introduce some new resource or process. + + . Discuss the idea informally with other contributors, e.g. via Slack. + . Follow the <> process to formally suggest the new resource or process. + . Draft documentation for the new resource or process, including a section about the new role as a pull request to the {gh-org/bisq-docs[bisq-network/bisq-docs] repository. + +For example, see the {gh-org}/proposals/15[proposal to support Tor Relays] and the resulting {role}/72[Tor Relay Operator] role issue. -=== Changing primary / secondary status +=== Adding a secondary owner + +A primary role owner may add a secondary owner with the following steps: + + . Add them as a member of the role's GitHub <> + . Add them as an assignee to role's GitHub <> + . Announce the change via a comment on the role's GitHub <>. + +=== Transferring ownership -=== Adding a secondary +A primary owner may transfer ownership to another with the following steps: -=== Providing feedback to role owners + . Grant the _maintainer_ role to the new primary in the role's GitHub <> + . Remove the _maintainer_ role from yourself + . Update the role's GitHub <> to reflect the new primary owner. + . Announce the change in a comment on the role's GitHub <>. From f97f75c7ba32ea7ea4a4b835ca4e93d3aec4c200 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 9 Jul 2018 16:33:58 +0200 Subject: [PATCH 27/37] Write Compensation section --- roles.adoc | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/roles.adoc b/roles.adoc index 883e8f8..d937ac6 100644 --- a/roles.adoc +++ b/roles.adoc @@ -83,9 +83,9 @@ Examples: {role}/63[Bisq Desktop Maintainer], {role}/30[Proposals Maintainer] ==== Submitting and reviewing pull requests is something any contributor can do; neither are maintainer duties per se. -This is particularly important from a compensation perspective. **If you are a maintainer, do NOT group your development and review activities together with your maintainer role in your compensation requests.** Rather, account for them separately like any other contributor would. +This is particularly important from a <> perspective. **If you are a maintainer, do NOT group your development and review activities together with your maintainer role in your compensation requests.** Rather, account for them separately like any other contributor would. -The goal is to have as many competent contributors developing and reviewing as possible, not to load everything on the Maintiner. https://rfc.unprotocols.org/spec:1/C4/#21-preliminaries[C4] is the inspiration here, it's worth re-reading. +The goal is to have as many competent contributors developing and reviewing as possible, not to load everything on the maintainer. https://rfc.unprotocols.org/spec:1/C4/#21-preliminaries[C4] is the inspiration here, it's worth (re-)reading. ==== ==== Maintainer Rights @@ -172,7 +172,52 @@ Primary role <> should respond in a timely fashion to feedback comments == Compensation -TODO +Role owners should include a summary line item for each role they own in a monthly <>. Each summary should include: + + * The name of the role, + * a link to the owner's monthly <> for that role, and + * the total amount of BSQ being requested for performing the role's duties during that month. + +[example] +.Per-role line items in a compensation request +==== +* Bisq Desktop Maintainer | https://github.com/bisq-network/roles/issues/63#issuecomment-401352998[bisq-network/roles#63 (comment)] | 350 BSQ +* Bisq Seednode Operator | https://github.com/bisq-network/roles/issues/15#issuecomment-401547205[bisq-network/roles#15 (comment)] | 150 BSQ +==== + +NOTE: Secondary role owners should not submit monthly reports or compensation requests for a role unless they actually performed the duties of that role during that month. + +The amount of BSQ requested should include any hard costs (e.g. hosting) plus time and effort costs involved in performing the duties of the role. These costs should be detailed in the monthly report as follows: + +[example] +.Monthly report for Bisq Desktop Maintainer +==== +## 2018.07 report + + * Regular duties | 150 BSQ + * Big issue cleanup | 200 BSQ + +Total: 350 BSQ + +/cc bisq-network/compensation#42 +==== + +[example] +.Monthly report for Bisq Seednode Maintainer +==== +## 2018.07 report + + * Hosting 2 nodes @ 50 USD/mo on Digital Ocean | 100 BSQ + * Upgrade nodes to v0.7.1 | 50 BSQ + +Total: 150 BSQ + +/cc bisq-network/compensation#42 +==== + +The only work items that should be included in role compensation are those <> that can be performed _only_ by that role's owner. Everything else should be itemized independently. + +For example, as mentioned above in the <> section, a repository maintainer's main duties are merging pull requests and triaging incoming issues. If the person playing the maintainer role submits their own pull requests, or performs reviews of others' pull requests, that work should NOT be grouped together with regular maintainer duties when putting together a compensation request. Rather, each PR submitted or reviewed should be called out separately as individual contributions. == Bonding From de81eeec98dfd48d83f36c86a78d7802b44c345c Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Mon, 9 Jul 2018 16:36:06 +0200 Subject: [PATCH 28/37] Write Bonding section --- roles.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/roles.adoc b/roles.adoc index d937ac6..90364dd 100644 --- a/roles.adoc +++ b/roles.adoc @@ -222,7 +222,9 @@ For example, as mentioned above in the <> section, a reposito == Bonding -TODO +Most roles involve special <> that, if abused, could cause damage to the Bisq Network. For this reason, role owners must put up a _bond_ in BSQ commensurate with the amount of damage that could be caused. In the event of a role owner turning into a bad actor or being grossly negligent, this bond can be confiscated through a BSQ voting process. + +Bonding is not currently in place during <> of the Bisq DAO, but is being implemented and will come online when we go live on Bitcoin testnet. [[roles-maintainer-role]] From 52b09b7f64052a129fda329e41fb367c5a5aec3c Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:06:04 +0200 Subject: [PATCH 29/37] Revise Introduction section --- roles.adoc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/roles.adoc b/roles.adoc index 90364dd..ec14418 100644 --- a/roles.adoc +++ b/roles.adoc @@ -5,7 +5,12 @@ Roles are the way contributors take responsibility for Bisq Network resources an == Introduction -The Bisq DAO is a flat organization, without traditional management or reporting structures. At the same time, there are many resources and processes vital to the operation of the network that must be cared for by individuals. For example, someone must manage the DNS for the `bisq.network` domain, someone must conduct monthly stakeholder voting, and so on. What's needed is a mechanism that defines these various duties, makes it clear who is responsible for each, and that provides a process for regular reporting and feedback. The system of _roles_ described below is designed to meet this need, with a major design goal being maximizing decentralization and keeping the organization flat as it grows. +There are many resources and processes vital to the operation of the Bisq Network that require ownership by individual contributors. For example, someone must merge pull requests into the `bisq-desktop` repository, someone must manage DNS for the `bisq.network` domain, someone must conduct monthly stakeholder voting, and so on. + +This document defines the system of _roles_ used within the Bisq DAO to enumerate, define and track each of these responsibilities. The system is designed with two major goals in mind: + + . To maximize role owner autonomy in order to achieve <> decentralization goals. + . To maximize transparency such that DAO stakeholders can effectively review and vote on role owner compensation requests. == Properties From 4206a5a7ce4e3f926d60fdd0d1ec1688e02a42f8 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:10:36 +0200 Subject: [PATCH 30/37] Add periods where appropriate --- roles.adoc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/roles.adoc b/roles.adoc index ec14418..a4fdf40 100644 --- a/roles.adoc +++ b/roles.adoc @@ -75,7 +75,7 @@ Most roles fit into one of the types below. A _Maintainer_ is a contributor responsible for enforcing process in a given GitHub repository. -Examples: {role}/63[Bisq Desktop Maintainer], {role}/30[Proposals Maintainer] +Examples: {role}/63[Bisq Desktop Maintainer], {role}/30[Proposals Maintainer]. ==== Maintainer Duties @@ -101,7 +101,7 @@ The goal is to have as many competent contributors developing and reviewing as p An _Operator_ is a contributor responsible for keeping a given resource running and functioning normally. -Examples: {role}/19[Forum Operator], {role}/14[Bisq Pricenode Operator] +Examples: {role}/19[Forum Operator], {role}/14[Bisq Pricenode Operator]. ==== Operator Duties @@ -119,7 +119,7 @@ Examples: {role}/19[Forum Operator], {role}/14[Bisq Pricenode Operator] An _Administrator_ ('Admin') is a contributor responsible for managing a given resource. -Examples: {role}/16[GitHub Admin], {role}/23[Slack Admin] +Examples: {role}/16[GitHub Admin], {role}/23[Slack Admin]. ==== Admin Duties @@ -133,7 +133,7 @@ Examples: {role}/16[GitHub Admin], {role}/23[Slack Admin] A _Moderator_ is a contributor responsible for enforcing process and standards in a given communications channel. -Examples: {role}/37[Bitcointalk Moderator], {role}/25[Reddit Moderator] +Examples: {role}/37[Bitcointalk Moderator], {role}/25[Reddit Moderator]. ==== Moderator Duties @@ -258,7 +258,7 @@ Roles Maintainers are the contributors responsible for the system of roles descr [[roles-maintainer-rights]] === Rights - * Write access to the {gh-org}/roles[bisq-network/roles] repository + * Write access to the {gh-org}/roles[bisq-network/roles] repository. == Processes @@ -279,15 +279,15 @@ For example, see the {gh-org}/proposals/15[proposal to support Tor Relays] and t A primary role owner may add a secondary owner with the following steps: - . Add them as a member of the role's GitHub <> - . Add them as an assignee to role's GitHub <> + . Add them as a member of the role's GitHub <>. + . Add them as an assignee to role's GitHub <>. . Announce the change via a comment on the role's GitHub <>. === Transferring ownership A primary owner may transfer ownership to another with the following steps: - . Grant the _maintainer_ role to the new primary in the role's GitHub <> - . Remove the _maintainer_ role from yourself + . Grant the _maintainer_ role to the new primary in the role's GitHub <>. + . Remove the _maintainer_ role from yourself. . Update the role's GitHub <> to reflect the new primary owner. . Announce the change in a comment on the role's GitHub <>. From eb3ffe825214e5a47af56772e49b0cdd3407d512 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:12:07 +0200 Subject: [PATCH 31/37] Revise text for clarity and readability --- roles.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/roles.adoc b/roles.adoc index a4fdf40..009e91d 100644 --- a/roles.adoc +++ b/roles.adoc @@ -33,7 +33,7 @@ For example, a repository maintainer's rights include write permissions to their _Owners_ are contributors who have the <> required to perform the <> of a role. -One owner is designated as _primary_ and any other owners are designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary is responsible for performing the <> of the role, while secondaries stand by, capable of taking over for the primary at any time. +One owner is designated as _primary_ and any other owners are designated as _secondary_.footnote:[See {gh-org}/proposals/issues/12] The primary is responsible for performing the <> of the role, while secondaries stand by, ready to take over for the primary at any time. == Infrastructure @@ -44,13 +44,13 @@ The following infrastructure is used to define and manage each role. Each role should be documented at https://docs.bisq.network[docs.bisq.network], not in a document of its own, but in a _section_ of a document dedicated to the larger resource or process in question. -For example, there is no "Proposals Maintainer" document, but rather a <> document having a <> section within. +For example, there is no "Proposals Maintainer" document, but rather there is a <> document having a <> section within. Each role's documentation should enumerate its <> and <> and link to its <> and <>. === Team -Each role has a dedicated GitHub team where each of the role's <> are members. The team is used to manage access to GitHub repositories that role is responsible for and to send notifications to owners with @mentions in GitHub issues and pull requests. +Each role has a dedicated GitHub team where each of the role's <> are members. The team is used to manage access to GitHub repositories that the role is responsible for and to send notifications to role owners with @mentions in GitHub issues and pull requests. For example, the {gh-team}/desktop-maintainers/members[@bisq-network/desktop-maintainers] team has write access to the {gh-org}/bisq-desktop[bisq-network/bisq-desktop] repository. @@ -58,7 +58,7 @@ The primary role owner is also assigned as the _maintainer_ of the GitHub team, === Issue -Each role has a dedicated GitHub issue in the {gh-org}/roles/issues[bisq-network/roles] repository. +Each role has a dedicated GitHub issue in the {gh-org}/roles/issues[bisq-network/roles] repository, wherein: - The **Assignees** field is used to track role ownership. - The **Description** field is used to link to the role's <>, <> and primary <>. @@ -81,7 +81,7 @@ Examples: {role}/63[Bisq Desktop Maintainer], {role}/30[Proposals Maintainer]. * Merging or closing pull requests after sufficient review. * Tagging releases. - * Keeping issues organized and to a minimum. + * Triaging incoming issues and keeping them organized over time. [IMPORTANT] .A Maintainer is not a Developer or a Reviewer From 3f23f8b602bfd8195f42e9f16c042d3de09069cb Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:13:02 +0200 Subject: [PATCH 32/37] Add note about GitHub team visibility --- roles.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/roles.adoc b/roles.adoc index 009e91d..abe13a9 100644 --- a/roles.adoc +++ b/roles.adoc @@ -54,7 +54,9 @@ Each role has a dedicated GitHub team where each of the role's <> are me For example, the {gh-team}/desktop-maintainers/members[@bisq-network/desktop-maintainers] team has write access to the {gh-org}/bisq-desktop[bisq-network/bisq-desktop] repository. -The primary role owner is also assigned as the _maintainer_ of the GitHub team, such that they may manage the team without requiring the intervention of a GitHub admin. +NOTE: GitHub teams are visible only to GitHub organization members. To join the {gh-org}[@bisq-network] org, see the <>. + +The primary role owner is also assigned as the _maintainer_ of their role's GitHub team, such that they may manage the team without requiring the intervention of a GitHub admin. === Issue From 22a0b61fbd0d10dd9d1c762df8be9c644b729752 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:13:40 +0200 Subject: [PATCH 33/37] Revise Common Duties section subheadings --- roles.adoc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/roles.adoc b/roles.adoc index abe13a9..1673b90 100644 --- a/roles.adoc +++ b/roles.adoc @@ -64,7 +64,7 @@ Each role has a dedicated GitHub issue in the {gh-org}/roles/issues[bisq-network - The **Assignees** field is used to track role ownership. - The **Description** field is used to link to the role's <>, <> and primary <>. - - **Comments** are used for <> and feedback. + - **Comments** are used for <> and feedback. See the {role}/30[Proposals Maintainer] role issue for an example. @@ -151,7 +151,7 @@ Examples: {role}/37[Bitcointalk Moderator], {role}/25[Reddit Moderator]. The following duties are common to all roles. -=== Report +=== Reporting Primary role <> should report once a month in the form of a comment on their <>.footnote:[See {gh-org}/proposals/issues/13] The report should contain whatever information the owner believes would be valuable to other users, contributors and stakeholders. The comment should be formatted in Markdown as follows: @@ -168,11 +168,11 @@ Where `` is the content of the report itself, and `` is the num Some roles may have nothing to report in a given month. In this case, a report should still be written stating that there is "nothing to report". {role}/18#issuecomment-393217596[Example]. -=== Document +=== Documentation Primary role <> should document changes to their role by submitting pull requests to their role's <>. -=== Communicate +=== Communication Primary role <> should respond in a timely fashion to feedback comments on their role <>, issues created in their repositories, @mentions of their <>, and questions in their Slack channel. @@ -181,9 +181,9 @@ Primary role <> should respond in a timely fashion to feedback comments Role owners should include a summary line item for each role they own in a monthly <>. Each summary should include: - * The name of the role, - * a link to the owner's monthly <> for that role, and - * the total amount of BSQ being requested for performing the role's duties during that month. + . The name of the role, + . a link to the owner's monthly <> for that role, and + . the total amount of BSQ being requested for performing the role's duties during that month. [example] .Per-role line items in a compensation request @@ -253,9 +253,9 @@ Roles Maintainers are the contributors responsible for the system of roles descr === Duties * Follow and enforce the roles <> detailed below. - * <> monthly on the Roles Maintainer <>. - * <> changes to roles <>. - * <> in the `#roles` Slack channel. + * <> monthly on the Roles Maintainer <>. + * <> changes to roles <>. + * <> in the `#roles` Slack channel. [[roles-maintainer-rights]] === Rights From ba4f27442239c3492c515e144d9e1afa3cf16076 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:14:29 +0200 Subject: [PATCH 34/37] Fix broken link --- roles.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles.adoc b/roles.adoc index 1673b90..ee1afd3 100644 --- a/roles.adoc +++ b/roles.adoc @@ -273,7 +273,7 @@ Typically, proposing a new role is one part of a larger proposal to introduce so . Discuss the idea informally with other contributors, e.g. via Slack. . Follow the <> process to formally suggest the new resource or process. - . Draft documentation for the new resource or process, including a section about the new role as a pull request to the {gh-org/bisq-docs[bisq-network/bisq-docs] repository. + . Draft documentation for the new resource or process, including a section about the new role as a pull request to the {gh-org}/bisq-docs[bisq-network/bisq-docs] repository. For example, see the {gh-org}/proposals/15[proposal to support Tor Relays] and the resulting {role}/72[Tor Relay Operator] role issue. From 648b02a572622ee343eb70d3180706d03fcff50b Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:14:39 +0200 Subject: [PATCH 35/37] Revise Process section subheadings --- roles.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles.adoc b/roles.adoc index ee1afd3..68cdac8 100644 --- a/roles.adoc +++ b/roles.adoc @@ -277,7 +277,7 @@ Typically, proposing a new role is one part of a larger proposal to introduce so For example, see the {gh-org}/proposals/15[proposal to support Tor Relays] and the resulting {role}/72[Tor Relay Operator] role issue. -=== Adding a secondary owner +=== Adding a secondary role owner A primary role owner may add a secondary owner with the following steps: @@ -285,7 +285,7 @@ A primary role owner may add a secondary owner with the following steps: . Add them as an assignee to role's GitHub <>. . Announce the change via a comment on the role's GitHub <>. -=== Transferring ownership +=== Transferring role ownership A primary owner may transfer ownership to another with the following steps: From 6ba61d1ffad7d9851ffe3bc6079d3a501b10de2b Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:41:03 +0200 Subject: [PATCH 36/37] Link to Roles from Phase Zero where appropriate The new Roles doc supersedes a number of sections in the Phase Zero doc. This change updates the Phase Zero doc accordingly. --- dao/phase-zero.adoc | 44 +++++++------------------------------------- 1 file changed, 7 insertions(+), 37 deletions(-) diff --git a/dao/phase-zero.adoc b/dao/phase-zero.adoc index f7e5211..65fde84 100644 --- a/dao/phase-zero.adoc +++ b/dao/phase-zero.adoc @@ -425,27 +425,19 @@ See <>. == Bonded contributor roles [[bonded-contributor-roles]] -A _bonded contributor_ is a stakeholder who has put up a bond in BSQ in order to assume a _high-trust_ role within the DAO. High-trust roles are those that require privileged access such as a password or private key to perform, and more generally include any duties that can cause harm to the Bisq network or project if carried out incorrectly. As protection against malfeasance and gross negligence, BSQ bonds may be confiscated (burned) in part or in whole through stakeholder voting. In compensation for making their BSQ illiquid and incurring confiscation risk, bonded contributors earn interest in BSQ on their bonds; in compensation for carrying out the specific duties of their role, bonded contributors earn BSQ via the same compensation request process that applies to all other (non-bonded) contributors. - -While there are many specific bonded contributor roles, most fall into one of the categories below. +NOTE: This section has been superseded by the <<../roles#, Roles>> document. === Maintainer -A _maintainer_ is a bonded contributor responsible for a given repository in the <>, including managing its issues, reviewing and merging pull requests and releasing new versions of the software in that repository. - -See <>. +NOTE: This section has been superseded by the <<../roles#maintainer, Maintainer>> section of the <<../roles#, Roles>> document. === Operator -An _operator_ is a bonded contributor responsible for running ("operating") software that support the Bisq network. Examples include Bisq _seed node_ and _price node_ operators, the Bisq website operator, and the BSQ transaction explorer operator. Where practical, maintainer and operator roles may be played by the same contributor. +NOTE: This section has been superseded by the <<../roles#operator, Operator>> section of the <<../roles#, Roles>> document. === Administrator -An _administrator_ is a bonded contributor responsible for managing ("administering") applications and services that support the Bisq project. Examples include GitHub admin, DNS admin, Slack admin, IRC admin and Discourse (forum) admin. - -=== Other roles not listed here - -There are more than 30 bonded contributor roles in the Bisq project. See the <> for a complete list. +NOTE: This section has been superseded by the <<../roles#administrator, Administrator>> section of the <<../roles#, Roles>> document. = Appendix B: Resources [[Appendix-B]] @@ -464,10 +456,12 @@ https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+org%3Abisq-network+label%3A https://github.com/bisq-network/compensation[https://github.com/bisq-network/compensation] -=== roles repository and board [[roles-repo,bisq-network/roles repository]] +=== roles repository [[roles-repo,bisq-network/roles repository]] https://github.com/bisq-network/roles[https://github.com/bisq-network/roles] +See the <<../roles#, Roles>> document for full details. + === proposals repository [[proposals-repo,bisq-network/proposals repository]] https://github.com/bisq-network/proposals[https://github.com/bisq-network/proposals] @@ -581,30 +575,6 @@ NOTE: It is important to vote "no" if you believe a request should not be approv === modify this plan -== As a bonded contributor, I can… [[bonded-contributor-use-cases,bonded contributor use cases]] - -=== earn interest on my BSQ bond - -=== transfer my role to the successor of my choosing - -== As a maintainer, I can… [[maintainer-use-cases,maintainer use cases]] - -=== post bounties - -In practice, "posting a bounty" simply means adding the `$BSQ bounty` label to a GitHub issue. Because maintainers are the only ones with write access to the repositories they maintain, they are the only ones with the ability to add this (or any other) label. - -The `$BSQ bounty` label should only be added to issues that are _ready for work_, meaning that they are already defined well enough to make it possible for a contributor to begin working on that bounty with a minimum amount of discussion. - -A well-defined bounty is one that clearly states a problem to be solved. If the desired solution is already known, the bounty should provide as much detail as necessary about that solution. If the solution is not already known, the maintainer may want to formulate the bounty as a request for a _proposal_ that can be reviewed and discussed, and then a subsequent bounty can address actually implementing that proposed solution. - -=== review and merge pull requests - -In accordance with the C4 process,footnoteref:[C4] all contributions to bisq-network repositories should come in the form of pull requests. Repository maintainers should review and comment on pull requests and merge them only if they are correct and well-formed. - -=== publish releases - -Maintainers are responsible for publishing releases of the software they maintain. - == Post-phase zero use cases [[post-phase-zero-use-cases]] === As a stakeholder, I can sell BSQ on the Bisq exchange From 2fc32d7867a986e900ea2be058c1d48aaaeebb11 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 10 Jul 2018 11:52:41 +0200 Subject: [PATCH 37/37] Update and simplify Proposals doc Vis a vis changes in the Roles doc. --- proposals.adoc | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/proposals.adoc b/proposals.adoc index 078449c..de5b36d 100644 --- a/proposals.adoc +++ b/proposals.adoc @@ -50,12 +50,12 @@ The contributor(s) responsible for proposals <> and <>. ==== Role Issue -{gh-org}/roles/issues/30[#30] +{gh-org}/roles/issues/30[bisq-network/roles#30] footnote:[See link:roles.html#issue[]] ==== Role Team :proposals-maintainers: {gh-team}/proposals-maintainers[@bisq-network/proposals-maintainers] -{proposals-maintainers} footnote:[See link:roles.html#teams[]] +{proposals-maintainers} footnote:[See link:roles.html#team[]] ==== Duties @@ -66,13 +66,7 @@ The contributor(s) responsible for proposals <> and <>. ==== Rights - * Membership in the {proposals-maintainers} team - * `Maintainer` status in the {proposals-maintainers} team (primary owner only) - * Write access to the {gh-org}/proposals[bisq-network/proposals] repository (through the {proposals-maintainers} team) - -==== Owners - -See the <> + * Write access to the {gh-org}/proposals[bisq-network/proposals] repository. == Process