decentralized-identity / didcomm.org

Home Page:https://didcomm.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Need some method for indexing protocol's popularity

kdenhartog opened this issue · comments

It was briefly mentioned on the call today by @dhh1128 that the expected principles to be followed by maintainers when accepting new protocols to the website would be to remain relatively permissive similar to a package manager for a programming language like crates.io or npm. This would mean that we'd probably need some other signalling mechanism in place to differentiate between protocols that are in heavy use versus new, unused, or in progress protocols. What would be some good methods measurable aspects that we should consider for this?

One idea that were mentioned on the call today was to have a self attested method for this. Is there anything better that may be worth considering?

We already have "Proposed", "Demonstrated", and "Production." Maybe a set of tags could make "Production" more granular... (#1impl, #handful-impls, #broad-adoption)?

I can't think of anything better than the combination of self-attested and maintainer review.

At this point, I'm not coming up with anything better either since the things getting published here are more like developer docs. If protocols were individual plugins that plugged into an agent engine I suppose we could get downloads from the package managers to better understand some rough popularity, but there's a lot of edges here that make this heuristic not great.

An idea just popped in my head - Given that test vectors help to test compatibility in protocols what if one of the stipulations was that we required test vectors for publishing.

The test vectors could be consumable in multiple ways, but the lightest way idea I have right now is to provide them as a bundled JSON object of inputs and outputs expected by the protocols

Then we could leverage the download requests of the test vectors to get a general sense of the popularity of a protocol.

definitely would be good to have popularity metric like on npmjs.com and test vectors being included with protocols also seems like a good thing to include regardless of if we use them for popularity