Skip to content

Susereum's Protocol

obahy edited this page Dec 5, 2018 · 4 revisions

Susereum's protocol is the only mechanism to modify default sustainability metrics.

The Image below describes the necessary steps to modify sustainability metrics. Users can propose new metrics at any time, but only one proposal can be active at any moment in time.

Susereum's protocol. alt text

All projects within Susereum must a have a configuration file, the configuration file (code_smell.toml) defines two necessary variables to process votes and proposals. For a proposal to get accepted it must first have a certain number of votes. This threshold is defined within the configuration file. Proposals also have a voting period. All votes must be submitted before the close of the voting period.

A proposal could have two paths of acceptance, the first path is to execute when a user submit a vote. After each vote, Susereum checks if the latest vote achieves the threshold. If the threshold is met, then the proposal is marked as accepted.

The other path to accepting a proposal relates to the voting phase. All proposals have a voting period. This voting period prevents the possibility of having an eternal proposal. The voting period can be defined by the owner of the project. Susereum will check if the voting period of the active proposal has reached the maximum active days. If the voting period ends and the threshold has not been met, the proposal can still be accepted if it has more than 1 vote.

After a proposal is met, the sustainability metrics must be updated, and the new project health is calculated. The new sustainability metrics are then published to the project repository.

After a proposal is accepted a new proposal can be submitted immediately. Any member of the project can submit proposals and can vote.