Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transfer Unicode ICU modules to Node.js #532

Closed
obensource opened this issue Jul 17, 2020 · 50 comments
Closed

Transfer Unicode ICU modules to Node.js #532

obensource opened this issue Jul 17, 2020 · 50 comments

Comments

@obensource
Copy link
Member

obensource commented Jul 17, 2020

Request Description

@srl295 and other Unicode Consortium members who maintain the ICU npm modules that node consumes have expressed an intent to transfer ownership of the following repositories to the nodejs org:

These modules deliver full-ICU support to node. If transferred into this org, their repositories will become primarily maintained by the @nodejs/i18n-api team.

Why is this necessary?

Node is their main target, and though @srl295 has been championing these modules for some time – his priorities recently changed and he will be more solely focused on developing CLDR. He has expressed the intent to remain available for questions regarding ICU issues from @nodejs/i18n-api, @nodejs/i18n, and anyone else.

What does this mean?

With Steven focused on CLDR, the @nodejs/i18n team will be seeking to onboard new globalization contributors who are interested in maintaining ICU in node. We're planning to schedule open mentorship sessions with @srl295 (and any other node or Unicode Org contributors who wish to join) in order to make the onboarding process as effective and enjoyable as possible.

As an outcome: we hope to foster more reciprocity for g11n in node.

@srl295
Copy link
Member

srl295 commented Jul 17, 2020

So, this could be a good candidate for a monorepo.

@bnb
Copy link
Contributor

bnb commented Jul 17, 2020

I've got a minor concern here that since @srl295's focus has changed away from these modules and there was no mention of anyone already maintaining it (looking to onboard vs. enabling existing maintainers) that there's a non-trivial chance that we won't be able to maintain these effectively.

@ryzokuken
Copy link
Contributor

ryzokuken commented Jul 17, 2020

🖐️ I could help out with maintaining these packages if you need any.

@obensource
Copy link
Member Author

@bnb out of the gate, if not much action is taken other than to transfer these to the node org – there's definitely a chance we won't be able to maintain them effectively. 💯

A couple thoughts though:

  • Before transferring ownership, we should discuss this in full at our next @nodejs/i18n WG meeting with @srl295 and any other active maintainers of these repos in order to better understand the requirements of effectively maintaining them – and if members of node or Unicode are better suited to do this. There's really no other org these are directly related to, so coming to a conclusion on this will be key.
  • As mentioned, this request is coming at a time where node's central g11n contributor is shifting focus – and a gap will be felt. So we're going to need to put out a call for participation soon for the @nodejs/i18n-api team regardless, which will require better documentation for new contributor onboarding, etc. @srl295 will be available to guide us as we shift focus on building sustainability for this, so that's very positive. I'm excited to support this effort, and imo having the modules live in this org could be a good forcing function to expand and diversify participation for g11n in node (everything under the same roof). However, if after further discussion the maintainers express that onboarding new contributors through node to help maintain these modules might be less effective than keeping the repos in Unicode and doing something similar there: then we can defer to their judgement and support them as they need it. 👍

Thanks a mil @bnb. 🙏

@srl295 any thoughts?

@srl295
Copy link
Member

srl295 commented Jul 17, 2020

I've got a minor concern here that since @srl295's focus has changed away from these modules and there was no mention of anyone already maintaining it (looking to onboard vs. enabling existing maintainers) that there's a non-trivial chance that we won't be able to maintain these effectively.

Really great thoughts. However, it's not getting any maintenance by other ICU people. (Historically it started as part of ICU because I was revving the ICU tools, but that's been superseded by other work within Icu.) And the reality is that it is commonly used within the node ecosystem. So, owner wise if it's within node i18n it will be more likely to get any updates.

Icu-tc was supportive of this when discussed last.

@srl295
Copy link
Member

srl295 commented Jul 17, 2020

Also I'm glad to help onboard anyone/everyone, @ryzokuken (Thanks) or others.

@bnb
Copy link
Contributor

bnb commented Jul 20, 2020

+1 then. I would like to only request that if we do accept that we also have a plan for messaging in the case where we're not able to find active maintainers / the maintainers that start are not able to commit to long-term maintenance.

@jasnell
Copy link
Member

jasnell commented Jul 20, 2020

+1 from me and many thanks to @srl295 for keeping it going thus far

@mhdawson
Copy link
Member

+1 from me and thanks for all of the hard work put in by @srl295

@srl295
Copy link
Member

srl295 commented Apr 1, 2021

I'm going to start this up again.

@srl295
Copy link
Member

srl295 commented Apr 1, 2021

would include these two packages also:

@srl295
Copy link
Member

srl295 commented Apr 1, 2021

@jasnell @mhdawson @obensource et al, I have formally requested this transfer on the Unicode side.

@srl295
Copy link
Member

srl295 commented Apr 2, 2021

@bnb / @mhdawson : unicode has approved this! What's next?

@mcollina
Copy link
Member

mcollina commented Apr 2, 2021

@ryzokuken are you still up for taking ownership of those modules?

@obensource
Copy link
Member Author

@srl295 @mhdawson @jasnell wonderful news! Thank you for your amazing work Steven! 👏👏👏

I'm available to help with the transfer – @mhdawson @mcollina please let me know here or feel free to reach out with what steps need to be taken.

@mcollina @ryzokuken I'd love to help maintain these modules as well. 🚀

@ryzokuken
Copy link
Contributor

@mcollina yes!

@obensource absolutely, would love to have your help :D

@obensource
Copy link
Member Author

@ryzokuken great! I'll reach out and let's sync soon! 🍻

@srl295
Copy link
Member

srl295 commented Apr 2, 2021

@ryzokuken @obensource SGTM. I can do the actual transfer on the Unicode side.

@obensource
Copy link
Member Author

@srl295 wonderful – thank you for doing that and if I don't hear from the node folks we've pinged here soon I'll reach out directly. 👍

@srl295
Copy link
Member

srl295 commented Apr 2, 2021

I did a minor update of full-icu to rollup some pending PRs, and I also made sure the metadata, copyright, license on everything is up to date.

@obensource
Copy link
Member Author

Thanks a million for bringing it up to date @srl295! 😎🙌

@mhdawson
Copy link
Member

mhdawson commented Apr 8, 2021

@obensource from what I remember we need to make sure the repos have the following files:

  • CONTRIBUTING.md with DCO in it
  • CODE_OF_CONDUCT.md
  • LICENSE (licence needs to be compatible with OpenJS IP policy approved licences or we need to request an exception)Once

Once we've validated that then I think we need to make one of the people in the project who have admin rights an admin on the repos and they can do the transfer.

@mhdawson
Copy link
Member

mhdawson commented Apr 8, 2021

One more thing, the github templates should also be set up so that the DCO is displayed when a PR is created as we do that in the core node repo as well.

@ryzokuken
Copy link
Contributor

@obensource let me know if you require any assistance :D

@srl295
Copy link
Member

srl295 commented Apr 9, 2021

@obensource from what I remember we need to make sure the repos have the following files:

  • CONTRIBUTING.md with DCO in it

  • CODE_OF_CONDUCT.md

  • LICENSE (licence needs to be compatible with OpenJS IP policy approved licences or we need to request an exception)Once

Once we've validated that then I think we need to make one of the people in the project who have admin rights an admin on the repos and they can do the transfer.

Want to just make PRs to request those changes?

I can initiate the transfer whenever needed

@srl295
Copy link
Member

srl295 commented Apr 22, 2021

What's the latest on this?

@bnb
Copy link
Contributor

bnb commented Apr 26, 2021

CC @obensource got an update?

@obensource
Copy link
Member Author

@srl295 @bnb thanks for your patience, I've blocked out some time to work on this today / this week. @srl295 I'll ping you as I go and let's shoot to get the transfer finalized this week! 🎉

@obensource
Copy link
Member Author

@srl295 @bnb adding the missing docs now + adding the github templates that @mhdawson mentioned "should also be set up so that the DCO is displayed when a PR is created".

I'll have some PRs in for your review in a bit @srl295. 👍

@srl295
Copy link
Member

srl295 commented May 7, 2021

@obensource you may already be doing this, but please link them here (can probably just reference this issue) for reference

@srl295
Copy link
Member

srl295 commented May 7, 2021

would include these two packages also:

what's the procedure for changing NPM module ownership?

@obensource
Copy link
Member Author

@srl295 you got it, forked and working on them here at the moment:

I'm currently adding the docs, and I will submit PRs to the upstream repos for each.

@obensource
Copy link
Member Author

obensource commented May 7, 2021

As far as changing module ownership, I'm running with what @mhdawson said at the moment as far as the repositories are concerned:

Once we've validated that then I think we need to make one of the people in the project who have admin rights an admin on the repos and they can do the transfer.

Regarding the packages, I haven't looked into it yet – but I'm sure there's a way to do this type of transfer between the orgs as long as it's facilitated by people who have the admin privileges. I'm sure @mhdawson @bnb could tell us in the meantime if we don't get to it first. 😄

@srl295
Copy link
Member

srl295 commented May 7, 2021

Ah right, I am glad to simply add https://www.npmjs.com/~obensource as a maintainer if that is sufficient?

@obensource
Copy link
Member Author

@srl295 that should be fine! Thanks a million Steven! 🙌

@srl295
Copy link
Member

srl295 commented May 7, 2021

^ added you as maintainer

@obensource
Copy link
Member Author

@srl295 So here's where rubber meets the road: I'm blowing away the Unicode License, and adding the Node.js License – which transitions it to MIT, but also keeps the ICU License, and provisions for locale data (of which you added to the Node.js license). Does that sound correct, or in your opinion – is there a strict set of licenses that this should be subject to as owned by the node-org?

@srl295
Copy link
Member

srl295 commented May 7, 2021

@srl295 So here's where rubber meets the road: I'm blowing away the Unicode License, and adding the Node.js License – which transitions it to MIT, but also keeps the ICU License, and provisions for locale data (of which you added to the Node.js license). Does that sound correct, or in your opinion – is there a strict set of licenses that this should be subject to as owned by the node-org?

That might be OK, but maybe it would be better/safer to rename LICENSE to unicode-license.txt and just note somewhere, "portions from full-icu-test | full-icu-npm | icu4c-data-npm from Unicode, see unicode-license.txt" ? Then it kind of covers both the old and new world, and then deduplicate the license once it lands on the Node side?

@obensource
Copy link
Member Author

@srl295 That sounds good to me for now – I think for our sake it covers each side of the fence. If there's an issue with that, please feel free to advise us @mhdawson @bnb, et al. 👍

@obensource
Copy link
Member Author

@srl295 Adding MIT makes this repository comply with the OpenJSF IP Policy.

The only thing I'm uncertain about is if retaining any existing Unicode licenses as well makes it subject to what @mhdawson called an 'exception':

"license needs to be compatible with OpenJS IP policy approved licenses or we need to request an exception"

@obensource
Copy link
Member Author

I don't think so, but please advise @mhdawson. 😄

@obensource
Copy link
Member Author

obensource commented May 7, 2021

@srl295
Copy link
Member

srl295 commented May 7, 2021

Approved… would be nice to get a review from @mhdawson || @bnb before merging and initiating transfer?

@srl295
Copy link
Member

srl295 commented May 8, 2021

@srl295 Adding MIT makes this repository comply with the OpenJSF IP Policy.

The only thing I'm uncertain about is if retaining any existing Unicode licenses as well makes it subject to what @mhdawson called an 'exception':

"license needs to be compatible with OpenJS IP policy approved licenses or we need to request an exception"

well, icu itself has been pulled into node before many times… and, Unicode-DFS-2016 is OSI approved:

https://github.com/unicode-org/full-icu-npm/blob/master/package.json#L16

@obensource
Copy link
Member Author

@srl295 100%. We should golden then! ☀️😎

@obensource
Copy link
Member Author

@srl295 do I need to be added as a Unicode Consortium member (or be given write access to these repositories) in order to merge the changes, or will someone else from the UC need to review and then merge? No problem either way, and thanks! 😄

@srl295
Copy link
Member

srl295 commented May 8, 2021

@srl295 do I need to be added as a Unicode Consortium member (or be given write access to these repositories) in order to merge the changes, or will someone else from the UC need to review and then merge? No problem either way, and thanks! 😄

I'll merge

@srl295
Copy link
Member

srl295 commented May 8, 2021

All transfers requested!
I set the team owners to: collaborators + i18n .. please fix as needed

@obensource
Copy link
Member Author

@srl295 will do, thanks a million! 🙌

@mhdawson @bnb, et al: if there are no issues with the current state of this transfer, I consider this issue to be closed. 👍

Thanks everyone! 🍻

@obensource
Copy link
Member Author

Closing the issue

Given that all of the three repositories to be transferred have now been transferred and meet the governance requirements of Node.js & the OpenJSF, I'm closing this issue.

Welcome to node, ICU modules! 👏👏👏

New Locations

New locations of the repos:

Thank you! 🙏

Thanks a million to everyone who made this transition possible (@srl295, @mhdawson, @bnb, @ryzokuken, @jasnell, @mcollina). Y'all are the best! 🍻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants