Simple SPO voting for CIPs or other proposals

Hey all,

In some recent discussions about a CIP, I saw conflicting comments about the opinions of small SPOs and it occurred to me that there isn’t a good way to (transparently) collect opinions from them. One person told me the PRs on GitHub is the right place for discussion, but that this doesn’t seem like a good way to gauge interest (it’s hard to count up yes/nos and many people would prefer not to be involved in the discussions) and comments in the PRs say things like “merging doesn’t mean it will be done” suggesting the PR is only about getting the CIP merged and not about whether it will happen.

So I’m here to propose a simple way for SPOs to vote/show support for CIPs or any other proposals published online - via their extended metadata files. It’s simple, free and works today. It’s not intended to replace any more formal systsems (like on-chain voting or the CIP process), it’s just intended as something simple that can be used today to gauge interest (or for SPOs to ensure their votes are seen) for CIPs or other proposals published anywhere online. It could also be used by small SPO groups to transparently vote on things themselves.

The idea is to add a "votes" section to the extended metadata file. This is an object where the key is the URL to the proposal and the value is an object containing a "vote" field. This will often be "Yes" or "No" but could be other values as defined in the proposal. Because the result is in an object it can also have additional data - for example a comment, or some other data defied by the proposal.

    {
    	// existing extended metdata ...,
    	"votes": {
    		"https://cips.cardano.org/cips/cip7/": {
    			"vote": "Yes"
    		},
    		"https://cips.cardano.org/cips/cip8/": {
    			"vote": "Yes",
    			"comment": "I would love to see this!"
    		}
    }

The URLs are arbitrary so can be anything - a CIP, a blog post, a tweet. Anyone can publish one and then encourage SPOs to vote by adding it to their metadata.

I cobbled together a simple site that scrapes this data and renders some charts for the voted proposals it finds - although this site isn’t the important part here - anyone can scrape this data and visualise it in their own way, my main goal is to propose an informal “standard” for including these in the metadata. I thought it would be more useful being able to see the data at the same time as publishing this.

There are ways in which this could be extended in future (for example using JSON for the proposals to allow more structured data, including durations, eligibility to vote, whether multiple votes from multi-pool operators will be treated only as a single vote, etc.) but I thought it made sense to start simple and ensure any proposal can be voted on.

Feedback (and votes!) welcome!

6 Likes

NASEC is Participating :slight_smile:

This is going to be a really nice UI for interpreting and quickly finding out the perspective of other SPOs. Right now I am hearing mixed messages from IOHK, SPOs I know and groups such as SPOCRA.

Really glad to see that an opensourced solution has been made available for our community that doesn’t require people showing up to calls at inconvenient hours.

1 Like