Farcaster pfp
Farcaster

@farcaster

Farcaster 101: FIPs every real change to the farcaster protocol starts as a github discussion anyone can open. what is it? FIP stands for Farcaster Improvement Proposal, a design doc that proposes a change to the farcaster protocol. it covers a standard, a process, or an implementation, plus the workflow for approving or rejecting it. the idea is borrowed from ethereum's eips. why does it matter? it's how the farcaster protocol actually evolves. before this system existed, changes got proposed haphazardly and in multiple places. FIPs create one place and one process anyone can follow and weigh in on. who can propose one? anyone! you don't need to be on the Neynar team or a core contributor to submit one. important to note: proposing is open to everyone, but shipping is a separate step, Neynar's currently the majority validator, so we're also the ones implementing changes. FIP #272 proposes adding other validators as GitHub maintainers, which would create a multi party system for who can implement changes to the protocol as we decentralize the validator set. how do you weigh in on one? just comment on the discussion in Github. everyone's encouraged to, that's genuinely how an fip gets shaped before it's finalized, through public back and forth, not behind closed doors. — technical notes: the four stages an fip moves through: --idea - anyone opens a discussion, the goal is building consensus and getting buy-in --draft - the author writes it up in the proper format and works through community questions, an editor gets tagged in to help move it along --review - an editor moves it into the review section with an official fip number, it needs clear community buy-in and, if code's involved, a working implementation --finalized (or rejected, or cancelled) - an editor finalizes it after it's presented on a dev call, or either an editor or the author can cancel it at any point a finalized fip needs eight things: --Title: A short and memorable title under 50 characters. --Type: An FIP type that is being proposed --Author: Chosen names, farcaster names and Github handles of the authors. --Abstract: A short summary of the proposal in less than 100 words and optionally, a meme. --Problem: An articulation of the problem you are trying to solve. --Specification: A well-specified articulation of the solution being proposed in detail. --Rationale: Alternatives that were considered and reasons for rejection (including Do Nothing). --Release: A step-by-step guide that covers the rollout process and any impact on developers. you can view all discussions here: https://github.com/farcasterxyz/protocol/discussions
1 reply
5 recasts
16 reactions