Four key themes that dominate the discussion
| Theme | What people are saying | Representative quotes |
|---|---|---|
| 1. Library maintenance & release lag | Many commenters point out that the popular Google UUID package is unmaintained or has a long‑standing release gap, which raises concerns about security and reliability. | “While the uuid package is actively maintained, it hasn't had a release since 2024.” – da_chicken “If the library just existed as a correct implementation of the RFC without bugs or significant missing features, that would be one thing. But leaving features and bug fixes already committed to the repository unreleased for years… is a bad sign.” – mort96 |
| 2. RFC evolution & compatibility | The discussion highlights that the UUID RFC has changed (e.g., v7) and that libraries built on draft specs can become incompatible, causing subtle bugs. | “The RFC has changed significantly… the UUIDv7 format changed from the earlier draft RFC resulting in incompatibilities.” – JimDabell “The problem is not that it is a draft RFC, the problem is that the library is unmaintained with an unresponsive developer who is squatting the uuid7 package name.” – 0x696C6961 |
| 3. Standard‑library inclusion debate | A core debate is whether Go should ship UUID support in its stdlib or keep it as a third‑party dependency, touching on language philosophy, maintenance burden, and backward‑compatibility. | “The debate is about whether this is indicative of a general trend with the Go standard library.” – throwaway894345 “If added, keep the scope small… skip v1, v2, v3… because of privacy and cross‑platform headaches.” – hrmtst93837 |
| 4. Practical trade‑offs of UUIDs | Users discuss performance, human readability, and the real‑world cost of using UUIDs versus simpler alternatives (e.g., counters, random 16‑byte blobs). | “UUIDv7 is a trade off between a messy b‑tree and a write page hot spot.” – da_chicken “UUIDs are just array of 16 bytes… you could just use 128 random bits.” – 8organicbits |
These four themes capture the main concerns—maintenance, spec changes, language design, and practical usage—that shape the conversation.