1 of 30

Interledger

Project Governance

ILP Summit • April 6, 2019

WKEGKJJD6ITW3SPXJHEPMKFEX6ANMB7U

1

2 of 30

Thank you to Sean Rowan and Taiga Nakayama

3 of 30

Goal

Agree on a flexible governance framework

for the Interledger project and create

working groups with check-ins.

4 of 30

Plan

  • Explore concepts and existing governance frameworks for open source
    • Prometheus and Rust are great examples
  • Explore current Interledger project structure
  • Agree on a flexible governance framework with working groups

5 of 30

Plan

  • Explore concepts and existing governance frameworks for open source
    • Prometheus and Rust are great examples
  • Explore current Interledger project structure
  • Agree on a flexible governance framework with working groups

6 of 30

Plan

  • Explore concepts and existing governance frameworks for open source
    • Prometheus and Rust are great examples
  • Explore current Interledger project structure
  • Agree on a flexible governance framework with working groups

7 of 30

Plan

  • Explore concepts and existing governance frameworks for open source
    • Prometheus and Rust are great examples
  • Explore current Interledger project structure
  • Agree on a flexible governance framework with working groups

8 of 30

Governance Concepts

  • Decision Making
    • Benevolent Dictator, a single decision maker with good intentions
    • Lazy Consensus, no vote defers to an agreement
    • Majority Vote, >1/2
    • Supermajority Vote, >2/3
  • Member Structure
    • Flat
    • Hierarchical
  • The Tyranny of Structurelessness

9 of 30

Prometheus Governance

  • Developer
    • Anyone can propose a change. If there is no objection within a reasonable amount of time, the decision is considered made. If there are objections and no consensus can be found, a vote may be called by a team member.
  • Team Member
    • Ongoing contributions for at least 3 months
      • code/document/organizing events/user support
    • New members are proposed by existing members, by supermajority vote
  • Maintainer
    • Usually a team member is written in MAINTAINERS.md of a specific project, a maintainer can release the project.

10 of 30

Prometheus Governance

  • Technical Decisions
    • Decisions that only affect a single project are made by the maintainers informally. Decisions that span multiple parts of projects are made by “lazy consensus”, finally majority vote.
  • New Projects
    • Should be proposed first (lazy consensus) by a team member

11 of 30

Rust Governance

  • Similar consensus rules to Prometheus, but the Rust community specifies stricter guidelines on propositions for substantial changes.
  • “Each major decision in Rust starts as a Request for Comments (RFC). Everyone is invited to discuss the proposal, to work toward a shared understanding of the tradeoffs. Though sometimes arduous, this community deliberation is Rust’s secret sauce for quality.”

12 of 30

Interledger Project Structure

13 of 30

Interledger Projects

  • Protocol Specs
  • Publications & Documentation
    • interledger.org
  • Communications
    • forum.interledger.org
    • Community calls and events
  • Reference Implementations
    • Interledger.js
    • Hyperledger Quilt
    • Interledger.rs

14 of 30

Protocol Specs

15 of 30

Protocol Spec Working Group

  • What are the responsibilities and expectations?
  • Who are the maintainers, team members?
  • What content do people want to see changed/added to the protocol specs?

16 of 30

Protocol Spec Working Group

  • What are the responsibilities and expectations?
  • Who are the maintainers, team members?
  • What content do people want to see changed/added to the protocol specs?

17 of 30

Protocol Spec Working Group

  • What are the responsibilities and expectations?
  • Who are the maintainers, team members?
  • What content do people want to see changed/added to the protocol specs?

18 of 30

Publications & Documentation

interledger.org

19 of 30

interledger.org Working Group

  • What are the responsibilities and expectations?
  • Who are the maintainers, team members?
  • What content do people want to see changed/added to the protocol specs?

20 of 30

interledger.org Working Group

  • What are the responsibilities and expectations?
  • Who are the maintainers, team members?
  • What content do people want to see changed/added to the protocol specs?

21 of 30

interledger.org Working Group

  • What are the responsibilities and expectations?
  • Who are the maintainers, team members?
  • What content do people want to see changed/added to the protocol specs?

22 of 30

Communications

23 of 30

Communications Working Group

  • What are the responsibilities and expectations?
  • Who is organising community calls?
  • Who is organising events?
  • Who should be responsible for moderating the forum?

24 of 30

Communications Working Group

  • What are the responsibilities and expectations?
  • Who is organising community calls?
  • Who is organising events?
  • Who should be responsible for moderating the forum?

25 of 30

Communications Working Group

  • What are the responsibilities and expectations?
  • Who is organising community calls?
  • Who is organising events?
  • Who should be responsible for moderating the forum?

26 of 30

Communications Working Group

  • What are the responsibilities and expectations?
  • Who is organising community calls?
  • Who is organising events?
  • Who should be responsible for moderating the forum?

27 of 30

Implementations

28 of 30

Implementations Working Group

  • What are the responsibilities and expectations?
  • Who owns/maintains the repos?
    • Interledger.js
    • Hyperledger Quilt
    • Interledger.rs

29 of 30

Implementations Working Group

  • What are the responsibilities and expectations?
  • Who owns/maintains the repos?
    • Interledger.js
    • Hyperledger Quilt
    • Interledger.rs

30 of 30

Notes

https://help.github.com/en/articles/about-code-owners

Thank you to Sean and Taiga