Not everything needs to match
They kept trying to get us to abandon NKBIP-01 and switch to NIP-51 or NIP-32, "for the interoperability", and I am glad we ignored them.
If interop makes sense for a use case and a community, devs will naturally tend to use similar data structures, and sort of stumble their way to a consensus spec, over time. Otherwise, not. And that spec doesn't need Nostr-wide approval, just interoperability within their own sphere.
Sometimes, in fact, we use new kind IDs to prevent interop, so that stuff doesn't show up in a place that wouldn't make sense. So, if:
- the structure looks the same,
- but the data contained within it,
- or the use case it is meant for,
are different, it needs a different kind. Those three aspects usually have to align, for interop to make sense.
Also, the specs that they want you to submit to ("Increased interop" means you do what they say, as there is nothing stopping them from simply using your kind.) are sometimes poor quality, or don't solve any pressing problem, and everyone is ignoring them for good reason. Good specs tend to find new implementations. Bad ones die out. This is a good thing. Devs "vote" democratically on specs, through their implementations.
There are lots of numbers, between 0 and 40000, and we could always expand the range. We don't need to conserve them, by merging the specs together.
Embrace the dev chaos. Enjoy the dev freedom. Keep Nostr weird.
