multiformats / multibase

Self identifying base encodings
292 stars 73 forks source link

Getting Multibase ready for IETF review (align with IANA terminology and registry governance style) #109

Closed bumblefudge closed 1 year ago

bumblefudge commented 1 year ago

For pre-PR context, see original issue on W3C-CCG discussion repo here and multiformats#65

rvagg commented 1 year ago

Could you try and column-align both forms of the table please? Removing the word "Unicode" in the second column would help compact it a bit if that's not unreasonable to remove it.

You're also welcome to note in there that the practical bases only have a single-byte prefix indicator, and that implementations may choose to only concern themselves with the single-byte case. The emoji one just pushes the boundaries a bit but it's not expected that it gets much practical use and most people wouldn't be upset if an implementation didn't use it.

bumblefudge commented 1 year ago

(Dear merger - please squash these before merging, lots of little commits)

vmx commented 1 year ago

Just for everyone's information: one big change here is the 0x00 is no longer considered a Multibase. Though we keep it as "reserved" for now (perhaps we should remove it completely). This aligns with the comments at https://github.com/multiformats/multibase/pull/85#discussion_r737954882 and also what we talked about the IPLD community/sync call.

vmx commented 1 year ago

I think it's good to be merged. Thanks @bumblefudge for the hard work and @rvagg for being so thorough about the issue templates, I totally agree that it's good to reduce non-actionable issues.

rvagg commented 1 year ago

I hope a squash merge is OK @bumblefudge, lots of info in these commits but there's too many. If you'd prefer to keep more context when we can force push it out and put some new chain in, but 33 commits is a bit too many!

ben221199 commented 1 year ago

I see a extra column with codepoint information. That is nice. The status reserved is exactly what I had in mind, but maybe the column name could be state instead of status. Also I don't know if having none as encoding name is the right way to do. I think I prefer it being empty. Also I think that a relevant description is more useful than (No base encoding).

ben221199 commented 1 year ago

Also, identity is removed for 0x00. Is something planned to add it back with another codepoint?

rvagg commented 1 year ago

See discussion above re NUL, we've all agreed it was a historical accident and the only place it's really used is in dag-cbor where it's recorded in the spec as something of a historical accident. It's still there if people really want to use it, but there's not really a good justification for it.