uuid6 / uuid6-ietf-draft

Next Generation UUID Formats
https://datatracker.ietf.org/doc/draft-peabody-dispatch-new-uuid-format/
187 stars 11 forks source link

Question about coming plan on this draft #8

Closed KengoTODA closed 2 years ago

KengoTODA commented 3 years ago

Hi, I'm a ULID user and want to know progress on this UUID v6 draft.

The draft seems expired, so I guess that new draft need to be submitted again:

https://tools.ietf.org/html/draft-peabody-dispatch-new-uuid-format-00

Is my understanding correct? If so, could you share plan on coming actions? Thanks im advance! 😀

bradleypeabody commented 3 years ago

The most recent work is here: https://github.com/uuid6/uuid6-ietf-draft/blob/master/draft-peabody-dispatch-new-uuid-format-01.xml although that still needs to completed and submitted and then further discussion with the IETF.

It's had work from various people in fits and starts (@kyzer-davis did a bunch of excellent work on this not to long ago is responsible for the draft linked above). But it needs some focus to put all this together and I unfortunately just haven't had the time recently.

kyzer-davis commented 3 years ago

Much Like Brad I have been very busy the past month or so. However I am gearing up for another round of changes and formatting updates next week. I can also run the current draft through the xml2rfc tool and provide a non-XML formatted version on the next pull request if folks want to review that rather than raw XML.

bradleypeabody commented 3 years ago

@kyzer-davis That would be great! I'll make it a point to carve out some time to work on this with you. I know the v7 bit layout/encoding is still waiting on me.

fabiolimace commented 3 years ago

Will UUIDv7 look like ULID? Are you thinking of including part of the ULID specification in RFC-4122?

The ULID specification is very simple to describe and implement. The 128 bits are divided into 2 parts: 48 bits for Unix time and 80 for random bits. And there is a monotonic variant in which the 80 bits can be increased by 1 when the millisecond is repeated.

That would be great!

KengoTODA commented 3 years ago

Thanks! I'll check the diff between 00 and 01 later.

bradleypeabody commented 3 years ago

@fabiolimace UUIDv6 with Crockford Base32 encoding is probably the closest to ULID. Despite ULID's claim of "128-bit compatibility with UUID" (from the spec), some of the specific bits (the version being the most important) don't work properly with ULID and conflict with the UUID spec. UUIDv6 is basically the closest you can come to ULID without violating RFC 4122. So yeah, it's pretty similar. v7 will provide for variable sub-second precision (to handle cases where e.g. nanosecond precision is important), and v8 will remove other requirements and essentially be a catchall for any other custom encodings. Hopefully the new updated v6 can provide the benefits of ULID but maintain fully compatibility with RFC 4122 and its various implementations.

fabiolimace commented 3 years ago

@bradleypeabody thanks for the clarification.