sdk icon indicating copy to clipboard operation
sdk copied to clipboard

UUID in Dart SDK/stdlib

Open daegalus opened this issue 1 year ago • 4 comments

Hey, I am the maintainer of the uuid package. The more I work on it and the more it's used, the more I think it should be part of the dart stdlib, or a first party package.

I am currently working on a refactor for v4 of the library, which also adds support for UUID v6,v7, and v8 based on the new draft RFC along the already implemented 1, 4, and 5.

Secondly, I became a father almost 6 months ago, and my extra coding time has dwindled, so while I can maintain the library, active development will slow after I land my refactor.

Would the Dart team be amiable if I opened a PR to add uuid as an official package to the stdlib? I feel it's an important functionality that should be present in the stdlib.

I am also ok with just transferring ownership to dart team if that's preferred after I get my refactor branch merged.

Either way, after seeing what happens in the node.js community, I am reluctant to let someone else outside the dart team have ownership.

So let me know what you think, and I'll adjust accordingly. I can work on a net new implementation that fits better in the design of the stdlib if that is preferred.

Thanks

Repo for reference: https://github.com/Daegalus/dart-uuid (V4 branch: https://github.com/Daegalus/dart-uuid/tree/uuidv6)

daegalus avatar Jul 20 '22 05:07 daegalus

@devoncarew @mit-mit

lrhn avatar Jul 20 '22 18:07 lrhn

Thanks very much for reaching out, and for the offer @Daegalus! We'll discuss this soon, but it's vacation time so it may be a little before we get back to you.

mit-mit avatar Jul 21 '22 07:07 mit-mit

Thanks for reaching out! We had a discussion about this; some thoughts from that, in no particular order:

  • we don't think that this needs to be in the core dart: APIs (it would make sense to include there if we thought that the code had strong synergy w/ the dart: apis - needed to be consumed by them - or if the code needed tight integration w/ the various dart runtimes)
  • we do think it's an important ecosystem package (currently consumed by 593 other packages, and an unknown - but likely high - number of apps)
  • we don't think that having the Dart team assume ownership of most transitioning packages will scale particularly well; this was probably necessary when the effort was smaller, but won't scale going forward
  • we think a reasonable longer term solution is to try and transition the package to a new, equally motivated owner (from the usage in the ecosystem and the small number of open github issues and PRs, this does look like its been very well maintained)

Let me know your thoughts for any of the above. If you're ok w/ somebody other than the Dart team taking this over, we could help w/ finding a new owner. We could also act as a backstop during any ownership transition (w/ publish / commit rights?) in case anything critical came up.

devoncarew avatar Aug 03 '22 19:08 devoncarew

Thanks for getting back to me. All your points are valid.

My goal was just to do what was best for the ecosystem. I don't want anything like in the NodeJS ecosystem happening where someone takes over then does malicious things with it.

I am ok with a non-Dart Team owner if it's someone the dart team trusts taking it over.

Also, this is a long term transition plan, we have time. I was thinking in the next 6-12 months kind of thing, so we can take our time.

Helping with the transition would be appreciated, especially if you guys keep some commit capabilities. I am also willing to stay as repo owner and have an additional maintainer join that takes over but I can course correct if something untoward happens.

Anyways, I'm ok with what you propose and we can form a plan.

daegalus avatar Aug 04 '22 00:08 daegalus

So, I was on the unofficial discord for partially unrelated reasons, and @randalschwartz told me to ping you @slightfoot, as there might be interest there related to the Flutter Community?

I have 4.0.0 beta packages available and so far it is going well on that front. So I am ready to start this discussion up again. I have no rush still, and we can take our time to do it right. Again, my goal is just to make sure that this package isn't used for any malicious actions under a new maintainer/owner.

I just realized I have been maintaining this for almost 11 years. Been a wild ride.

daegalus avatar Mar 31 '23 06:03 daegalus

@slightfoot wdyt?

mit-mit avatar May 16 '23 13:05 mit-mit

@mit-mit I'll discuss this with @mhadaily and get back on this ticket.

slightfoot avatar May 17 '23 15:05 slightfoot

Hey @slightfoot any news?

mit-mit avatar Dec 19 '23 12:12 mit-mit

Just a heads up. I did release and continue updating the new version.

For now I've kind of decided to keep maintaining how I've been with no push to stop, but I definitely still want to push this avenue. Mostly to get additional maintainers/ownership.

That way, once I do decide to step away, it has an ongoing support system.

daegalus avatar Dec 19 '23 15:12 daegalus