Discussion: Codifying FIP Roles & Responsibilities #330
Replies: 2 comments
-
The goal of the above discussion is to gather feedback on defining both of these roles. I'll leave this discussion open for several weeks before making updates and publishing more formal documentation to the FIPs forum. This documentation effort, as well as the previous effort to clarify the current instantiation of the FIPs process, is an effort to both clarify immediately necessary terms and workflows, but also to gather feedback that will be used in the coming weeks to push a series of updates on FIP0001. Like everything else, these coming updates will be open and available for community feedback; it is my hope, however, that we can gather and iterate this feedback in a piecemeal way before pushing a slate of changes as a formal FIP change. |
Beta Was this translation helpful? Give feedback.
-
@jennijuju asked a relevant question about roles and responsibilities in this thread. In general, it is important for community members with designated roles to recognize which perspective to adopt when offering feedback from various points of view. |
Beta Was this translation helpful? Give feedback.
-
Core Devs and FIP Editors each play important roles in FIP stewardship.
Although FIPs- and other components of Filecoin governance- are designed to serve a decentralized and open community, certain role designations are important for ensuring the security, feasibility, and completeness of proposals.
Historically, Core Devs and FIP Editors have fulfilled this role, sharing the responsibility of reviewing proposals, offering feedback and determining the completeness of drafts, and providing input on implementation pathways and prioritization.
The purpose of this document is to propose an updated governing structure for these two roles, including key responsibilities, expectations, and the process around which a community member can become a Core Dev and/or a FIP Editor.
Core Dev
Who is a Core Dev? By definition, a Core Dev is a central developer working at the lowest level of the Filecoin protocol. This includes:
This does not include developers building on top of the Filecoin protocol, or community members who participate in governance but are not actively authoring an accepted FIP draft.
What responsibilities does a Core Dev have? Core Devs are invited to join the biweekly Core Devs meetings. Core Devs Meetings are stewarded by the Filecoin Foundation and are one of the only meetings in the Filecoin ecosystem that is not open to the entire community.
As participants in this meeting, Core Devs are responsible for stewarding the development of the Filecoin protocol. In meetings where FIP authors present draft work, they are empowered to ask questions, propose changes, and share ideas related to FIP technical design.
Individuals designated as 'Core Devs' are given additional responsibility in the FIP process, not more decision-making power per se. They are asked to recognize their dual roles- as both Core Devs, and Filecoin community members- and to engage in Filecoin governance accordingly:
Lastly, Core Devs are also tasked with implementing accepted FIPs. As stewards of the Filecoin protocol, they are allowed to prioritize accepted FIPs and organize upgrades around FIPs that can be implemented in a way that maintains the stability of the overall network. In instances where there are many accepted FIPs, this may mean prioitizing implementation for certain FIPs over others; in this case, the order of acceptance and/or FIP numbering does not matter. However, Core Devs are always asked to publicly account for their prioritization, and are expected to act as good-faith stewards of community intent. If a FIP has been accepted and is able to be implemented, Core Devs are expected to implement the FIP. If there is an emerging or changed reason why they believe a FIP cannot or should not be implemented, they will need to submit a new FIP to supersede the accepted FIP that is deemed no longer viable.
In instances where Core Devs- either individuals, or teams- appear to engage in a pattern of neglect for their role, other Core Devs are empowered to ask for their removal.
How can a community member become a Core Dev? The Core Dev designation is relatively static. By definion, most Core Devs are individuals who work full-time on long-term projects within the Filecoin ecosystem. For community members looking to get more involved in the ecosystem, becoming a Core Dev is unlikely to be a feasible pathway.
However, if community members contribute signficant work to the FIPs repo, authoring high-quality FIPs and consistently providing feedback and review, they may ask to join the Core Devs meeting (see HERE for more).
FIP Editors
Who is a FIP Editor? A FIP Editor is a strict designation within FIP0001, the founding document for Filecoin governance. For more information, see HERE.
Currently, all current and past FIP editors have been full-time staff within the Protocol Labs Network and/or Filecoin Foundation. This is to ensure that FIP Editors have the skill and time to provide diligence on FIP drafts. Individuals have become FIP Editors via the appointment of other FIP Editors, which is then condified with changes pushed to FIP0001.
What responsibilities does a FIP Editor have? The responsibilities for FIP Editors are formalized in FIP0001. It is important to reiterate, from this, that FIP Editors are responsible for:
Critically, FIP Editors are responsible for agreeing that a FIP draft is complete before it can enter 'Last Call'. FIP Editors also maintain the ability to reject FIP PRs if they decide that a community member has not submitted an adequately complete draft, or if they feel that the FIP requires additional community buy-in before progressing.
How can a community member become a FIP Editor? It is the goal of both the Filecoin Foundation and the Protocol Labs Network- both originators of the Filecoin protocol- to decentralize authority over time. Though the FIP Editor title is one element of protocol stewardship that remains relatively centralized, there is no strict rule that prohibits community members from participating.
If a community member feels that they are qualified and interested in committing to the role of FIP Editor, they are welcome to open a pull request on FIP0001 and add their name to the list. At this point, the current FIP Editors will decide whether or not to accept their proposal.
However, there are no mechanisms in place to pay community members who wish to participate as FIP Editors, and the role is relatively demanding. Alternatively, there is no threshold for providing feedback on PRs and other versions of FIP drafts. If community members wish to review drafts and solicit discussion from FIP Authors, they are welcome to do so without needing the 'FIP Editor' designation.
Beta Was this translation helpful? Give feedback.
All reactions