Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create what-is-governance.md #2318

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions governance/how-is-filecoin-governed/the-fips-process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# How is Filecoin Governed?
***WORK IN PROGRESS*** - *Please note that the following information is designed to support [proposed changes to FIP0001](https://github.com/filecoin-project/FIPs/pull/850) This information is thus tentative until [FIPXXXX](https://github.com/filecoin-project/FIPs/pull/850) completes Last Call.*
## The FIPs Process
The [Filecoin Improvement Proposals (FIPs)](https://github.com/filecoin-project/FIPs) process is the central mechanism of Filecoin protocol governance.

FIPs are *policy documents* that openly describe a change or enhancement to the FIlecoin protocol. Changes to consensus -dependent network systems can ONLY be implemented after the appropriate FIPs procedure has been completed.
### Idea
### Drafting
### Community Consensus
### Implementation
69 changes: 69 additions & 0 deletions governance/what-is-governance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# What is Governance?
## Governance of Open Source Projects
The history of the internet is rooted in open source.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/open source/free and open source/


‘Open source’ refers to software projects which are [freely open and available to all](https://www.theopensourceway.org/the_open_source_way-guidebook-2.0.html). They are developed and maintained according to the principles of transparency, collaboration, accessibility (“release early and often”), inclusive meritocracy, and community.

Open source code can be used, copied, changed, and redistributed by anyone. Anyone can likewise propose changes or additions to the original project, though these proposals are not always accepted.

Many individuals and organizations contribute to the maintenance and development of open source projects- such as [TensorFlow](https://www.tensorflow.org/), [React](https://react.dev/), and [Ethereum](https://ethereum.org/en/)- though no one person or entity “owns” or controls the entire project.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s#Many individuals and organizations contribute to the maintenance and development of open source projects- such as TensorFlow, React, and Ethereum#
Many individuals and organizations contribute to the maintenance and development of open source projects- such as Linux, Debian, and Ethereum-#

(So Tensorflow and React aren't perfect examples for the language that follows this, because they are both managed by companies -- Google and Facebook; and require Contributor License Agreements which pass ownership of contributions to these companies. Sugget Debian and Linux because they're closer to the ideal described).


Instead, these projects are openly governed. This means that there are rules, structures, and processes for managing the project codebase, including making decisions about source code and ensuring that the project remains functional and purposeful.

In this context, governance of open source projects can be defined as the rules, rights, and norms that empower collective ownership of a project.

It is the ethos of open source that helped build the modern internet. With decades of history, there are today many open source projects and organizations of all sizes, each with their own unique method of governance.

## Governance of Decentralized Projects
Decentralized blockchain projects- also referred to as ‘Web3 projects’- emerged in the 2010s as a new subtype of open source projects.

The nature of blockchain technology has enabled these projects to develop new modes and methods of open source governance.

For example, new *modes* of governance could include the extension of governance rights to any community member as determined by the count of tokens or cryptocurrency that they control. In other words, it’s not just reputation, contributed code, or technical skill that gives you a say in what happens to the technology, but rather the amount of investment you have made in the project.

New *methods* of open source governance include the development of new tools and institutions to support community rights and collective decision-making. Web3 projects have popularized ‘on-chain voting’ as a method of determining what ought to happen to project proposals.

That said, there is no “right way” to govern a project. Some projects are governed better than others, but no two open source projects are governed in the same way.

Each open source project or community represents a distinct set of technologies, contributors, and/or mission and purpose. As such, governance is often a complicated combination of people and technology working together to oversee collective interest.

And, as these things slowly shift and change, so too does the governance of a system.

## Governance of Filecoin
Filecoin’s community -led governance system exists to support the innovative, open source, and [mission -aligned](https://github.com/filecoin-project/FIPs/blob/master/mission.md) development of the Filecoin protocol.

Appropriately, Filecoin’s governance system has changed slowly over time. This slowness reflects both the difficulty with which governance systems can be formally altered, as well as the ultimate need for systems to adapt as their communities and projects change.

Filecoin has experienced two major iterations of governance: [FIP0001](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0001.md), and [FIPXXXX](https://github.com/filecoin-project/FIPs/pull/850).

### FIP0001
[FIP0001](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0001.md) was the very first Filecoin Improvement Proposal (FIP). It detailed the Filecoin governance process, providing guidance on drafting, reviewing, and accepting proposed changes via written proposals.

In true open source fashion, FIP0001 was adapted from Ethereum Improvement Proposal 1 [(EIP-1)](https://eips.ethereum.org/EIPS/eip-1), which was itself a legacy document based on prior open source governance processes.

Key elements of FIP0001 include the establishment of FIPs as the primary mechanism for change in the Filecoin ecosystem, as well as the use of community soft consensus for accepting proposals.

Soft consensus is a process whereby all participants must consent- explicitly, or implicitly- to the adoption of a proposed change. Practically, this meant that FIPs that were ready for final consideration would enter a last call phase, which operated like a final notice period for the Filecoin community. A FIP would be accepted so long as no one raised any substantive and/or previously unaddressed objections.

Soft consensus- unlike processes of hard consensus, such as voting- relies on an implicit bias towards accepting proposals. When FIP0001 was first implemented, this bias reflected the anticipated function of the Filecoin governance process: proposals would suggest changes and updates to core protocol technology, and would thus require a high bar of expertise, many rounds of review, and explicit approval from Core Devs in order to be considered ready for last call. In other words, proposals would need to clear many technical hurdles in order to be considered final; and if they were, it was expected that there would be few reasons to oppose their acceptance.

This process was highly effective during Filecoin’s early development. It enabled protocol engineers and implementation teams to build and enhance the Filecoin protocol in an open and documented way. However, as the Filecoin ecosystem began to grow, FIP0001 and the policy of soft consensus were challenged by new community proposals that proposed complex and unanticipated changes to the Filecoin protocol (see: FIP0036 and FIP0056). Beyond proposing technical enhancements or improvements, these proposals sought to change network technical specifics in order to support changes to network cryptoeconomics or data storage business models.

When Filecoin and other early L1 projects were first being developed, there was a belief that protocols themselves should change rarely and slowly. As such, the soft consensus process was intentionally designed to introduce an incredibly high bar for FIP acceptance, with the early belief that the only changes that should be made to the protocol are those that are of categorical benefit to the entire network.

Over time, various protocol ecosystems began to challenge this assumption by adapting their governance systems to be more flexible, expansive, and adaptable. Following the rejection of FIP0036 and FIP0056, some stakeholders in the Filecoin ecosystem began to argue for a similar transition of Filecoin’s governance system.

### FIP00XX
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kaitlin-beegle is this correct, or is it FIP001v2?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually it will have it's own FIP number that supersedes FIP0001, i.e. it won't be FIP0001v2

A draft of FIP00XX was first published in October 2023.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than XX shall we say something like "a new FIP" in the documentation, and update this timeline?


It sought to expand and refine FIP0001, introducing new definitions, tools, and processes to support an increasingly decentralized and diverse community of stakeholders.

Key changes from FIP0001 to FIP00XX include:

* The introduction of 5 distinct FIP types, including technical, community, cryptoeconomic, network standards (FRCs), and security;
* The introduction of hard and hybrid consensus mechanisms, in addition to soft consensus;
* Consensus pathways unique to each FIP type, and;
* Tooling and institutional support for the above, including building on-chain vote tooling, sentiment analysis polling, and the establishment of the Filecoin Community Guild.

Full version history for both documents is available in the FIPs repo.
Copy link
Member

@smagdali smagdali Oct 31, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


Loading