diff --git a/docs/assets/fellowship-add-member-preimage.png b/docs/assets/fellowship-add-member-preimage.png deleted file mode 100644 index c7aa8346348d..000000000000 Binary files a/docs/assets/fellowship-add-member-preimage.png and /dev/null differ diff --git a/docs/assets/fellowship-add-member-proposal.png b/docs/assets/fellowship-add-member-proposal.png deleted file mode 100644 index 39ecba51f002..000000000000 Binary files a/docs/assets/fellowship-add-member-proposal.png and /dev/null differ diff --git a/docs/assets/fellowship-candidate-proposal.png b/docs/assets/fellowship-candidate-proposal.png new file mode 100644 index 000000000000..a1d214203a9b Binary files /dev/null and b/docs/assets/fellowship-candidate-proposal.png differ diff --git a/docs/assets/fellowship-induct-candidate.png b/docs/assets/fellowship-induct-candidate.png new file mode 100644 index 000000000000..e1dad49f512f Binary files /dev/null and b/docs/assets/fellowship-induct-candidate.png differ diff --git a/docs/assets/fellowship-promote-member.png b/docs/assets/fellowship-promote-member.png new file mode 100644 index 000000000000..ee59725712aa Binary files /dev/null and b/docs/assets/fellowship-promote-member.png differ diff --git a/docs/assets/fellowship-promotion-proposal.png b/docs/assets/fellowship-promotion-proposal.png new file mode 100644 index 000000000000..39eb42665dde Binary files /dev/null and b/docs/assets/fellowship-promotion-proposal.png differ diff --git a/docs/assets/fellowship-whitelist-xcm.png b/docs/assets/fellowship-whitelist-xcm.png new file mode 100644 index 000000000000..32d93109b8ab Binary files /dev/null and b/docs/assets/fellowship-whitelist-xcm.png differ diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 1f407030008c..2a1322c1d17c 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -583,133 +583,6 @@ For a step-by-step outline of how to delegate voting power in Polkadot OpenGov, [Delegating Voting Power](./learn-guides-polkadot-opengov.md#delegations) section on the [Polkadot OpenGov Guides](./learn-guides-polkadot-opengov.md). -## The Polkadot Technical Fellowship - -:::info From Technical Committee to the Technical Fellowship - -The Polkadot Technical Fellowship is a collection of Substrate experts. This fellowship was -established in 2022. In Polkadot OpenGov, this fellowship replaces the -[Technical Committee](./learn-governance.md#technical-committee) in Governance v1, and will serve -both the Polkadot and Kusama networks. - -For more information about the Fellowship see the -[Fellowship Manifesto](https://github.com/polkadot-fellows/manifesto/blob/0c3df46d76625980b8b48742cb86f4d8fa6dda8d/manifesto.pdf). - -::: - -The Technical Fellowship is a mostly self-governing expert body with a primary goal of representing -humans who embody and contain the technical knowledge base of the Kusama and/or Polkadot networks -and protocols. This is accomplished by associating a rank with members to categorize the degree to -which the system expects their opinion to be well-informed, of a sound technical basis, and in line -with the interests of Polkadot and/or Kusama. - -Unlike the Technical Committee in Governance V1, the Fellowship is designed to be far broader in -membership (i.e. to work well with even tens of thousands of members) and with far lower barriers to -entry (both in terms of administrative process flow and expectations of expertise). - -The mechanism by which the Fellowship votes is the same as what is used for Polkadot and Kusama -stakeholder voting for a proposed referendum. Members of the Fellowship can vote on any given -Fellowship proposal and the aggregated opinion of the members (weighted by their rank) constitutes -the Fellowship's considered opinion. - -The Polkadot Technical Fellowship resides on the -[Collectives](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fpolkadot-collectives-rpc.polkadot.io#/fellowship/referenda) -parachain and maintains the [Polkadot Fellows](https://github.com/polkadot-fellows) repository. The -fellowship also has its own governance model with multiple tracks with approval and support -parameters, where the votes are weighted by the rank of the member. -The fellowship governance is primarily used for its membership management, -[approving RFCs](https://github.com/polkadot-fellows/RFCs) and whitelisting Polkadot OpenGov -proposals. - -{{ kusama: :kusama }} - -### Ranking System - -To prevent a small group of participants from gaining effective control over the network, this -system will adhere to three main principles: - -- The Fellowship must never have hard power over the network: it cannot change the parameters, - conduct rescues or move assets. Their only power in governance is reducing the effective timeline - on which a referendum takes place through [whitelisting](#whitelisting). -- The Fellowship weights those with a higher rank more in the aggregate opinion. However, the weight - should not be so high as to make a small number of higher members’ opinions be insurmountable - compared to a coherent opinion from lower-ranked membership. -- The Fellowship should be designed to grow and develop its membership, aggregate levels of - expertise and ensure that its overall decision-making capacity strengthens over time. - -To support these conditions, the Fellowship has a -[manifesto](https://github.com/polkadot-fellows/manifesto) that outlines the requirements and -expectations for individuals to attain and retain any given rank. Higher ranks can vote and promote -lower ranks based on this [manifesto](https://github.com/polkadot-fellows/manifesto). - -**Demotion** occurs automatically after a given period has elapsed, and the member is unable to -defend their position to their peers. - -**Suspension** can happen only through a referendum, which ensures that the Fellowship's bias alone -does not necessarily result in expulsion. - -To prevent the Fellowship from becoming a cabal (popularity with Fellowship peers alone should not -be enough to gain access to a top rank), gaining access to the top tiers of the ranks will require a -referendum. - -### Whitelisting - -Polkadot OpenGov allows the Fellowship to authorize a new origin (known as "Whitelisted-Caller") to -execute with Root-level privileges for calls that have been approved by the Fellowship (currently -only level-three fellows and above can vote for whitelist calls). - -The [Whitelist](https://paritytech.github.io/substrate/master/pallet_whitelist/) pallet allows one -Origin to escalate the privilege level of another Origin for a certain operation. The pallet -verifies two things: - -- The origin of the escalation is the Whitelisted-Root (i.e. that the referendum passed on this - track), and -- The whitelist contains the given proposal (in the configuration of Polkadot OpenGov, it gets there - via a separate Fellowship referendum). - -If both conditions are true, the operation executes with Root-level privileges. - -This system enables a new parallel Track (Whitelisted-Caller), whose parameters have less -restrictive passing parameters than Root in the short term. Through an open and transparent process, -a body of global experts on the {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }} -protocol have determined that the action is both safe and time-critical. - -:::info Submitting Whitelisted Proposals - -For more information about how to submit a whitelisted proposal see the -[dedicated advanced how-to guides](./learn-guides-polkadot-opengov.md#submitting-a-referendum-on-the-whitelisted-caller-track). - -::: - -### Becoming a Polkadot Technical Fellowship Member - -Currently, the only way to become a fellowship member is through a referenda. To get added as a -member of "Rank 1", an existing member of the fellowship needs to submit a referendum with the -preimage of a batch call that has `fellowshipCollective.addMember` and -`fellowshipCollective.promoteMember` on "2/Proficients" track. On Polkadot-JS UI for Polkadot -Collectives, navigate to Governance > Fellowship > Referenda and click on "Add Preimage". This -preimage can be submitted by anyone. - -![fellowship-add-promote-member-preimage](../assets/fellowship-add-member-preimage.png) - -After the preimage is successfully noted, navigate to Governance > Fellowship > Referenda and click -on "Submit Proposal" (This button is active on the UI only if you have an account that belongs to -the Fellowship). Choose the appropriate track and the origin, and enter the preimage hash of the -batch call that adds and promotes the member. - -![fellowship-add-promote-member-proposal](../assets/fellowship-add-member-proposal.png) - -After the referendum is successfully executed, the member is added to the fellowship with "rank 1". -For example, check the [Referenda 23](https://collectives.subsquare.io/fellowship/referenda/23) on -the Collectives parachain. If a member has to be added and promoted to “rank 5”, the proposal has to -be submitted through track “6/Senior Experts” (Always a track with a rank higher). For example, -check the [Referenda 25](https://collectives.subsquare.io/fellowship/referenda/25) on the -Collectives parachain. - -Future plans include that public members can apply to become a Fellowship candidate by placing a -small deposit (which will be returned once they become members). Their candidacy will go through a -referendum to be approved to become a member. - ## Resources - [Democracy Pallet](https://github.com/paritytech/substrate/tree/master/frame/democracy/src) diff --git a/docs/learn/learn-polkadot-technical-fellowship.md b/docs/learn/learn-polkadot-technical-fellowship.md new file mode 100644 index 000000000000..ef7947c98206 --- /dev/null +++ b/docs/learn/learn-polkadot-technical-fellowship.md @@ -0,0 +1,185 @@ +--- +id: learn-polkadot-technical-fellowship +title: Polkadot Technical Fellowship +sidebar_label: Technical Fellowship +description: Self-governing body of experts and developers of the Polkadot protocol. +keywords: [governance, referenda, proposal, voting, whitelist, fellowship, opengov, rank] +slug: ../learn-polkadot-technical-fellowship +--- + +import RPC from "./../../components/RPC-Connection"; + +The Technical Fellowship is a self-governing body of experts and developers of Polkadot and Kusama +networks protocols. It operates on-chain through the Polkadot +[Collectives](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fpolkadot-collectives-rpc.polkadot.io#/fellowship/referenda) +system chain and off-chain through the [Polkadot Fellows](https://github.com/polkadot-fellows) +repository. + +:::info Historical Context + +The Polkadot Technical Fellowship was established in 2022 and plays an important role in the +Polkadot OpenGov. This fellowship replaced the +[Technical Committee](./learn-governance.md#technical-committee) from Polkadot's first iteration of +governance, and will be serving both the Polkadot and Kusama networks. This Fellowship is designed +to be far broader in membership (i.e. to work well with even tens of thousands of members) and with +far lower barriers to entry both in terms of administrative process flow and levels of expertise. +For more information, read through the +[Fellowship Manifesto](https://github.com/polkadot-fellows/manifesto/blob/0c3df46d76625980b8b48742cb86f4d8fa6dda8d/manifesto.pdf). + +::: + +Apart from the collectives system chain and the GitHub repository, the Polkadot Technical Fellowship +also uses multiple public avenues to discuss updates related to the Polkadot protocol. Their public +discussions can be viewed on [this chatroom](https://matrix.to/#/#fellowship-members:parity.io) and +their monthly meetings are posted to this OpenDev - Polkadot Fellowship Core Dev Call +[YouTube playlist.](https://www.youtube.com/watch?v=5P6Axm4JrmQ&list=PLtyd7v_I7PGlDJCCCLGLjJ0yv33JAEE_-) + +## Technical Fellowship Referenda + +The fellowship's governance model has multiple tracks with their own approval and support +parameters, where the votes are weighted by the rank of the member. Members of the Fellowship can +vote on any given Fellowship proposal and the aggregated opinion of the members (weighted by their +rank) constitutes the Fellowship's collective opinion. The list of current and historic fellowship +referenda can be viewed on [Polkassembly](https://collectives.polkassembly.io/) or +[Subsquare.](https://collectives.subsquare.io/) The fellowship governance is primarily used for its +membership management, [approving RFCs](https://github.com/polkadot-fellows/RFCs) and whitelisting +Polkadot OpenGov proposals created on the whitelist track. + +### Whitelisting + +Polkadot OpenGov allows the Technical Fellowship to authorize an origin known as +"Whitelisted-Caller" to execute with Root-level privileges for calls approved by the Fellowship +(currently only level-three fellows and above can vote for whitelist calls). Note that the +fellowship cannot unanimously change the network parameters, conduct rescues or move assets. The +whitelisted proposals still have to go through the whole life cycle of an OpenGov referendum and can +only be enacted when the referendum passes successfully. + +The whitelisting process starts as a fellowship referenda with embedded XCM call from the +collectives system chain to the Polkadot relay chain. For instance, +[the Polkadot Fellowship referenda 68](https://collectives.polkassembly.io/referenda/68) was used to +**whitelist** [the Polkadot OpenGov referenda 440](https://polkadot.polkassembly.io/referenda/440). + +![whitelist-xcm](../assets/fellowship-whitelist-xcm.png) + +:::info Submitting Whitelisted Proposals + +For more information about how to submit a whitelisted proposal see the +[dedicated advanced how-to guides](./learn-guides-polkadot-opengov.md#submitting-a-referendum-on-the-whitelisted-caller-track). + +::: + +## Technical Fellowship Ranking and Salary + +The Fellowship [manifesto](https://github.com/polkadot-fellows/manifesto) outlines the requirements +and expectations for individuals to attain and retain any given rank, ranging between 0 to 9. By +default, an active account on the collectives system chain has no assigned rank and can be inducted +into the Polkadot Technical Fellowship starting with rank 0. The Fellowship Manifesto states that +members should receive a monthly allowance on par with gross income in OECD countries. A +[fellowship RFC](https://github.com/polkadot-fellows/RFCs/pull/50) was proposed with concrete +amounts for each ranked members. + +| Dan | Title | Annual Salary | +| :--: | :-------------: | :-----------: | +| I | Member | $10,000 | +| II | Proficient | $20,000 | +| III | Fellow | $80,000 | +| IV | Architect | $120,000 | +| V | Architect Adept | $160,000 | +| VI | Grand Architect | $200,000 | +| VII | Free Master | $200,000 | +| VIII | Master Constant | $200,000 | +| IX | Grand Master | $200,000 | + +## Membership Management + +The Polkadot technical Fellowship was initally [seeded](https://github.com/polkadot-fellows/seeding) +with its members and their corresponding ranks, and got +[added on to Polkadot's Collectives](https://polkadot.polkassembly.io/motion/403) system chain. All +new membership requests will go through the fellowship governance and the procedure is outlined in +the section below. + +### Becoming a Member + +As a member of the Polkadot Technical Fellowship, you are expected to faithfully uphold the below +tenets: + +- Sincerely uphold the interests of Polkadot and avoid actions which clearly work against it. +- Respect the philosophy and principles of Polkadot. +- Respect the operational procedures, norms and voting conventions of the Fellowship. +- Respect fellow Members and the wider community. + +:::tip Register your interest + +For new fellowship inductions, Polkassembly has created an interface (still in beta) to +[apply for the Polkadot Technical Fellowship.](https://collectives.polkassembly.io/join-fellowship?network=collectives) +This initiative is funded by Polkadot treasury through +[OpenGov referendum 373](https://polkadot.polkassembly.io/treasury/574) + +::: + +:::info + +The fellowship manifesto states that any account may register to become a candidate for a basic +deposit, but that feature has not been added to the collectives runtime yet. + +::: + +To be added as a candidate of the Polkadot Technical Fellowship, a pre-existing member with rank +greater than or equal to 1 can initiate the process. The fellowship membership management is +administered through the +[core fellowship](https://github.com/paritytech/polkadot-sdk/blob/master/substrate/frame/core-fellowship/src/lib.rs) +pallet. + +Before starting the candidate induction process, please ensure the candidate account is active and +has a balance greater than the existential deposit of the collectives system chain (0.1 DOT). It is +recommended that the candidate account also has a verified identity. + +The first step is to add a preimage on the collectives system chain. This preimage should include +the call to `induct` a candidate account, as shown below. The preimage can be added by any account +on the collectives system chain. The preimage hash of this call will later be used for creating a +fellowship referenda with an approriate origin and track. + +![candidate-induct](../assets/fellowship-induct-candidate.png) + +The next step is to create a fellowship referenda, which can only be done by a pre-existing +Technical Fellowship member. When a fellowship member navigates to Governance > Fellowship > +Referenda, they should be able to see a submit proposal button. In the example below,submission +track is chosen as `1/members`, origin as `FellowshipOrigins` and fellowship origins as `Members`. +This selection should work for inducting an account without any rank to the fellowship as a +candidate with rank 0. After copying the preimage hash in the designated field, the preimage length +will automatically be populated. + +![candidate-induct-proposal](../assets/fellowship-candidate-proposal.png) + +After submitting the proposal, the voting can commence. A decision deposit needs to be placed for +this fellowship referendum to be decided. After the fellowship referenda successfully passes, the +candidate is successfully inducted into the Polkadot Fellowship with rank 0. + +### Promotion and Demotion + +Any fellowship member upto rank 4 can be promoted to the next rank through a fellowship referenda +that can be voted by the members who are 2 ranks higher. For instance, the fellowship +[referenda 64](https://collectives.subsquare.io/fellowship/referenda/64) which promotes a member +from rank 1 to rank 2 can only be voted by members whose ranks are greater than or equal to 3. +Promotion of the Polkadot Fellowship members from rank 5 needs to be done through an OpenGov +referendum. + +This preimage example should include the call to `promote` an account to a specific rank, as shown +below. This preimage can be added by any account on the collectives system chain. + +![candidate-promote](../assets/fellowship-promote-member.png) + +In the snapshot below, the submission track is chosen as `2/Proficient members`, origin as +`FellowshipOrigins` and fellowship origins as `Fellowship2Dan`. This selection should work for +promoting a candidate with rank 0 to a member with rank 1. + +![candidate-promote-proposal](../assets/fellowship-promotion-proposal.png) + +To retain a rank, the Polkadot Fellowship members are expected to submit evidence of work in an +on-going basis. + +**Demotion** occurs automatically after a given period has elapsed, and the member is unable to +defend their position to their peers. + +**Suspension** can happen only through a Polkadot OpenGov referendum, which ensures that the +Fellowship's bias alone does not necessarily result in expulsion. diff --git a/polkadot-wiki/sidebars.js b/polkadot-wiki/sidebars.js index ed477080a9e9..3a4ef0184fbf 100644 --- a/polkadot-wiki/sidebars.js +++ b/polkadot-wiki/sidebars.js @@ -226,6 +226,7 @@ module.exports = { items: [ "learn/learn-polkadot-opengov", "learn/learn-polkadot-opengov-origins", + "learn/learn-polkadot-technical-fellowship" ], }, "learn/learn-polkadot-opengov-treasury",