# Ethereum Governance Solutions
Most info here is about Compound, with links to learn more about other governance systems for completeness. Most protocols also seem to use [Discourse](https://www.discourse.org/) to setup a community forum for discussion around proposals
- [Ethereum Governance Solutions](#ethereum-governance-solutions)
- [Compound](#compound)
- [Maker](#maker)
- [Aragon](#aragon)
- [Other](#other)
## Compound
Compound's governance solution is currently the most popular (used by 9+ protocols), and consequently probably the easiest to implement.
There's various governance parameters that can be set (e.g. number of votes needed to create a propsal, number of votes needed for quorum, etc.), and each propsal is a set of on-chain transactions to execute. If you don't have enough tokens (or don't have enough tokens delegated to you) to make a proposal, you can create an [Autonomous Proposal](https://medium.com/compound-finance/compound-autonomous-proposals-354e7a2ad6b7), where users can delegate to the autonomous proposal, and it becomes a formal proposal when receiving enough delgates.
The GitHub repo containing the contracts is [here](https://github.com/compound-finance/compound-protocol), where:
- `/contacts/Governance/GovernorAlpha.sol` is the original governance contract that most protocols using the Compound governance system use
- Around the end of March 2021 Compound upgraded to GovernorBravo, and the contracts can be found in the same folder
References on the upgrade from `GovernorAlpha` to `GovernorBravo`:
- Forum thread on [development](https://www.comp.xyz/t/governor-bravo-development/942)
- Forum thread on the [proposal](https://www.comp.xyz/t/governor-bravo-proposal/1384),
- OpenZeppelin audit [report](https://blog.openzeppelin.com/compound-governor-bravo-audit/)
- The actual upgrade [proposal](https://compound.finance/governance/proposals/42) (list of new features can be found here)
Because Compound's governance system is so popular, there's a range of tools available for it:
- [Tally](https://www.withtally.com/) is a closed-source company that provides an interface for systems using Compound governance. It lets you create proposals, vote, delegate your votes, see results, metrics, and ties addresses to identities
- [Sybil](https://sybil.org/) is like a trimmed down open-source version of Tally, developed by the Uniswap team
- [Snapshot](https://snapshot.org/#/) is an off-chain, open-source way to use your governance system for off-chain votes (it supports more than just Compound governance)
- I believe PoolTogether's interface is for voting / creating proposals is open-source
## Maker
This system is more complex than Compound's, but it was the first major successful on-chain governance and has been operating successfully for a few years.
- [Technical documentation](https://docs.makerdao.com/smart-contract-modules/governance-module)
- More user-friendly, high level [documentation](https://community-development.makerdao.com/en/learn/governance)
## Aragon
Least familiar with this one, but [here](https://aragon.org/) is a link to their home page to look into it more. [BadgerDAO](https://badger-finance.gitbook.io/badger-finance/badger-dao/overview) is based on the Aragaon [company template](https://github.com/aragon/dao-templates/tree/master/templates/company)
## Other
Many other protocols have their own governance system, including Aave ([1](https://docs.aave.com/governance/), [2](https://docs.aave.com/aavenomics/governance), [3](https://docs.aave.com/developers/protocol-governance/governance)), and [Balancer](https://docs.balancer.finance/core-concepts/bal-balancer-governance-token).