# Open Development DAO A PSG authentic experiment. Version: `0.0.1` Codename: `hotpot` A DAO built to support [open development](https://hackmd.io/@brunopgalvao/glashaus). # Goal This DAO will be tested in the Polkadot Study Group and any other small development communities that would like to give it a test-drive. PSG will eat its own dog food and iterate on this until it is effective for small communities to utilize and grow. With the longterm goal of hooking this up to Kusama, and truly making Kusama the place for Polkadot experiments and disruptive innovation. ## The DAO A Solidity smart contract that will manage the community council members, funds, voting, project proposals, and active projects. ### Storage - DAO name - DAO committee members - Pot of funds - Proposed Projects - Approved Projects - Votes ### Methods - Set DAO name - Set DAO committee members - Initialize a fund - Disperse payouts - Propose a project - Project needs to adhere to an existing Key Result - Project needs to have its own set of OKRs - Ideally a team could spin up a DAO based off of their own OKR - How can we architect the contracts so that this recursion is possible? - Vote on a project - (TODO) Voting mechanism ## Fund There are different approaches we can take here: - Create a pot of funds - We apply for a bounty and bootstrap the DAO with an initial supply of DOT - Mint a new token, distribute to community - Part of the pipeline should be to add the token to a DEX, as the community builds and delivers on milestones, the token *supposedly* gains value - Community can stake KSM and offer a percentage of their rewards to this DAO or to specific projects ### Longterm Once this DAO is proven effective, it can serve as an accelerator for experimentation and innovation on Kusama (and ultimately Polkadot) - Ideally it should be connected directly to to the Kusama runtime - a continuous drip from the Kusama treasury to this pot of funds or have a percentage of Kusama TX's allocated to fund this DAO trustlessly so that we extend the protocol to truly make Kusama a place for disruptive experiments in a permissionless manner. ## OKRs The Solidity smart contract will manage the OKRs for the DAO and sub-DAO's. ### Storage - Objectives - Key Results - `ProjectIds` ### Example - Objective #1 - Key Result #1 - Key Result #2 - `ProjectId` #1001 - Key Result #3 - Key Result #4 - `ProjectId` #1002 - `ProjectId` #1003 - Objective #2 - Key Result #1 - Key Result #2 - `ProjectId` #1004 - Key Result #3 - Key Result #4 - `ProjectId` #1005 - `ProjectId` #1006 ### Methods - Create an Objective for a DAO / or a project - Create a Key Result - Add a project to an existing Key Result ### Keywords #### Project A `project`, under the context of the Open Development DAO, is akin to an OKR initiative that is responsible for driving a Key Result and ultimately the Objective the KR belongs to. ## Notes When a team creates a `project` they will also include the Key Result it should belong under. Community can create projects with what they want to build, team members (beneficiaries), total time it will take for project, Telegram channel, total amount DAO members can approve the projects Community can vote on approved projects If a project is approved, there will be a weekly payout according to a yay or nay voted on by the community The weekly voting link will be share by a bot in the team’s Telegram channel The link will open up a browser window with a UI to sign the the vote with your wallet 
Problem: How to prevent sybil attack? Possible Solution: Each account voting has to have a verified on-chain account in a socially-verified community Problem: How to prevent whale from coming in and over-powering the voting? Possible Solution #1: Create our own token, DAO members and DAO community will have equal opportunity in the beginning, tokens will be disbursed via airdrops that relate to community engagement, other factors can be experimented with here Possible Solution #2: All community members have equal voting power, ranked members can have more voting power e.g. roles in the community Later iteration: precompile into nft-fractionalization pallet, initialize DAO and sub-DOAs with an NFT that is fractionalized to create a token for the DAO or sub-DAO The DAO will have its own OKRs. Teams that submit a project have to include their own sub-OKR that aligns with the DAO’s OKRs. AI agent MVP should be able to manage the DAO by getting the community to vote via TG and X links Further down the road, AI agent will be able to execute on behalf of the DAO. For example, the AI agent will be able to: - manage funds - review deliverables, see if it actually aligned with the OKRs, this can be measured. - handle weekly payouts, this can be done by measuring open development work e.g. github commits, Telegram interaction, etc. at first committee will oversee the work similar to how in the beginning stages of autonomous driving, the driver still had to have at least on hand on the steering wheel - work with the community to approve new projects that it sees as effective towards the OKRs