apache / mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
https://mxnet.apache.org
Apache License 2.0
20.78k stars 6.79k forks source link

[RFC] 1.7.0 Release Postmortem #19029

Open ciyongch opened 4 years ago

ciyongch commented 4 years ago

As the 1.7.0 release is near completion, I would like to recall some important items and the time-consuming issues we encountered during the process, hope this will help the succeeding release. Comments are welcome to make the release process more smoothly.

1. License issue

Details: having license issue could result in -1 vote in the past several releases, so it's important to check and fix the potential license issues as well as those known issues. Some license issue will take a long time to be addressed.

Time for 1.7.0: ~2 months

Retrospect 1) general guideline: https://www.apache.org/legal/src-headers.html 2) license header missing: this is easy to handle, inform/contact the author/contributor(s) of the file to add it. 3) license issue is related to the third-party package, which requires version/code change, contact the module/file owner for the fix schedule.
4) third-party work: major modifications/additions to third-party should be dealt with on a case-by-case basis by the PMC. Raise the issue earlier as it will take some time to discuss and finalize the solution. 5) dual license header: with both ASF license and other license in the file header, which is similar to the above item which need to be dealt with case-by-case. 6) keep improving the license checker tool, to identify and expose more potential issues.

Suggestions: Involving experienced members who can help to double check the code base or providing guidelines on how to improve the license checker tool will be helpful, to expose as much as potential issues in the early stage of release process.

2. Legal issue

Details: Check if there's any existing legal issues, get the help from community and fix them before the release

Time for 1.7.0: ~0.5 month

Retrospect: 1) Code donation to MXNet like Mshadow: completing IP clearance process is a mandatory requirement for the release. 2) Trademark/branding issues: it's required to be clear that MXNet is an incubating project at Apache, so use Apache MXNet (Incubating) for the first time.

Suggestions: Check with PMC or general@ community to see if they're blocker or not and get the help/guideline to fix them.

3. Numpy compatible interface in v1.x release

Details: Numpy compatible interface is in a heavy development status in current master branch and mainly targeting in 2.0 release, so only partial features goes into v1.x branches which might be unstable.

Time for 1.7.0: ~0.5 month

Retrospect: 1) Identified several numpy operator issues after code freeze especially the time before rc0, and some of the fix introduced lots of code changes as well as new features.

Suggestions: Finalize the necessary numpy features in the early stage of release and try to minimize the impact when backport the those big PRs, or postpone the buggy feature to the next version. The downstream project's (like GluonCV/GluonNLP, etc.) feedback is also important to expose the potential bug in the current code base.

4. Voting process

Details: including vote in dev@ and general@ community

Time for 1.7.0: ~1 month

Retrospect: 1) It took ~1 week to achieve the voting quota for each round of vote on dev@, two release candidates took ~2 weeks. 2) It took ~2 weeks to achieve the voting quota for the vote on general@.

Suggestions: Need the help from the community to active participate the verification and voting process.

5 Additional important items need to be tracked during the process

1) Code freeze Inform the community code freeze date in advance. Generally only bug fixes but no new features will be acceptable after code freeze date.

2) Nightly test and nightly binary test pipeline on Jenkins Make sure they're correctly enabled on Jenkins, and are able to be triggered automatically or manually (which need permission , committers have the privilege).

marcoabreu commented 4 years ago

Great idea!

pengzhao-intel commented 4 years ago

Good job, @ciyongch !

pengzhao-intel commented 4 years ago

cc @mli @sandeep-krishnamurthy

sandeep-krishnamurthy commented 4 years ago

Thank you very much @ciyongch .

ciyongch commented 4 years ago

Here's another item I would like to mention as below:

6 Release Process Guidelines Update

Currently, several sections of the release process on MXNet Confluence wiki is out of date, in order to provide a clear instructions to the release manger, I would suggest to keep updating the document if there's any change in the process.

szha commented 4 years ago

Thanks for bringing this to our attention. Since you & Tao were instrumental in releasing v1.7 while Przemek & Co. led efforts for v1.6, it would be great to have the Release Process wiki updated; especially now since me, Sam & Joe work on v1.8 release.

Let us know once it's updated by you'll.

Thanks Chai

On Sun, 13 Sep 2020 at 21:01, ciyong notifications@github.com wrote:

Here's another item I would like to mention as below:

6 Release Process Guidelines Update

Currently, several sections of the release process on MXNet Confluence wiki is out of date, in order to provide a clear instructions to the release manger, I would suggest to keep updating the document if there's any change in the process.

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

https://github.com/apache/incubator-mxnet/issues/19029#issuecomment-691796976

-- Chaitanya Prakash Bapat +1 (973) 953-6299

[image: https://www.linkedin.com//in/chaibapat25] https://github.com/ChaiBapchya[image: https://www.facebook.com/chaibapat] https://www.facebook.com/chaibapchya[image: https://twitter.com/ChaiBapchya] https://twitter.com/ChaiBapchya[image: https://www.linkedin.com//in/chaibapat25] https://www.linkedin.com//in/chaibapchya/

ciyongch commented 4 years ago

I've updated the contents mainly related to the license and website section, and leave a comments for "Manual Docs Build" in section 1.6 which I'm not sure whether we need to keep it or not.