Farcaster embraces rough consensus and running code as its governance model. Changes happen when someone makes a proposal, gets buy-in and ships running code. Depending on the change, there are different groups that need to be convinced:
- Protocol devs, who choose to merge changes into hubs and contracts.
- App devs, who choose to deploy those changes to their hubs.
- Users, who choose the apps they want to use.
Consensus emerges from people accepting new code or rejecting it. Farcaster will not have a binding voting process, official roles or veto power for anyone. Having too much structure ossifies systems, encourage politicking and slows the rate of progress. Rough consensus biases to action, encourages diversity of viewpoints and maximizes decentralization which is essential for a long-lived protocol.
An FIP, or Farcaster Improvement Proposal, is a process for building consensus around protocol changes. FIP's are inspired by Ethereum's EIPs and Python's PEPs. Anyone can write an FIP to propose a change to:
- A process, like the protocol's release schedule
- A standard, like URIs for onchain assets
- A implementation, like adding a new protocol feature
Read more about FIP's in FIP-0: A proposal for making proposals.