Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[CI] Add Simple GitHub-Action Based License Checker #20617

Merged
merged 9 commits into from
Sep 29, 2021

Conversation

barry-jin
Copy link
Contributor

Description

Add a simple license checker based on github action(apache/skywalking-eyes)

Note: For config file, I just copied rat-excludes into .licenserc.yaml. Will complete the config later.

Checklist

Essentials

  • PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage
  • Code is well-documented

Changes

  • Feature1, tests, (and when applicable, API doc)
  • Feature2, tests, (and when applicable, API doc)

Comments

  • If this change is a backward incompatible change, why must this change be made.
  • Interesting edge cases to note here

@mxnet-bot
Copy link

Hey @barry-jin , Thanks for submitting the PR
All tests are already queued to run once. If tests fail, you can trigger one or more tests again with the following commands:

  • To trigger all jobs: @mxnet-bot run ci [all]
  • To trigger specific jobs: @mxnet-bot run ci [job1, job2]

CI supported jobs: [clang, miscellaneous, edge, sanity, windows-gpu, windows-cpu, unix-cpu, centos-cpu, centos-gpu, unix-gpu, website]


Note:
Only following 3 categories can trigger CI :PR Author, MXNet Committer, Jenkins Admin.
All CI tests must pass before the PR can be merged.

@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-work-in-progress PR is still work in progress and removed pr-awaiting-testing PR is reviewed and waiting CI build and test labels Sep 28, 2021
@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-work-in-progress PR is still work in progress and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels Sep 28, 2021
@barry-jin barry-jin mentioned this pull request Sep 28, 2021
4 tasks
@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test and removed pr-work-in-progress PR is still work in progress labels Sep 28, 2021
@mseth10 mseth10 added pr-work-in-progress PR is still work in progress and removed pr-awaiting-testing PR is reviewed and waiting CI build and test labels Sep 29, 2021
@barry-jin
Copy link
Contributor Author

@mxnet-bot run ci [centos-gpu, unix-cpu, unix-gpu, website]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [centos-gpu, unix-cpu, unix-gpu, website]

@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-work-in-progress PR is still work in progress and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels Sep 29, 2021
@barry-jin
Copy link
Contributor Author

@mxnet-bot run ci [website]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [website]

@mseth10 mseth10 added pr-awaiting-testing PR is reviewed and waiting CI build and test pr-awaiting-review PR is waiting for code review and removed pr-work-in-progress PR is still work in progress pr-awaiting-testing PR is reviewed and waiting CI build and test labels Sep 29, 2021
Copy link
Contributor

@leezu leezu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed you remove the ASF header from the np files. Could you explain the rational?

The term "third-party work" refers to a work not submitted directly to the ASF by the copyright owner or owner's agent. This includes parts of a work submitted directly to the ASF for which the submitter is not the copyright owner or owner's agent.
Do not modify or remove any copyright notices or licenses within third-party works.
Make sure that every third-party work includes its associated license, even if that requires adding a copy of the license from the third-party download site into the distribution.
Do not add the standard Apache License header to the top of third-party source files.
Minor modifications/additions to third-party source files should typically be licensed under the same terms as the rest of the third-party source for convenience.
The project's PMC should deal with major modifications/additions to third-party source files on a case-by-case basis.

https://www.apache.org/legal/src-headers.html#3party

As there are major modifications/additions to the source files to integrate with MXNet, ASF header was previously added. Of course we can revisit this decision and relicense. Can you document why?

@barry-jin
Copy link
Contributor Author

I noticed you remove the ASF header from the np files. Could you explain the rational?

The term "third-party work" refers to a work not submitted directly to the ASF by the copyright owner or owner's agent. This includes parts of a work submitted directly to the ASF for which the submitter is not the copyright owner or owner's agent.
Do not modify or remove any copyright notices or licenses within third-party works.
Make sure that every third-party work includes its associated license, even if that requires adding a copy of the license from the third-party download site into the distribution.
Do not add the standard Apache License header to the top of third-party source files.
Minor modifications/additions to third-party source files should typically be licensed under the same terms as the rest of the third-party source for convenience.
The project's PMC should deal with major modifications/additions to third-party source files on a case-by-case basis.

https://www.apache.org/legal/src-headers.html#3party

As there are major modifications/additions to the source files to integrate with MXNet, ASF header was previously added. Of course we can revisit this decision and relicense. Can you document why?

As stated in the MXNet1.9.0 rc7 voting thread, np_einsum_op.cc, np_einsum_op-inl.h and np_einsum_path_op-inl.h are adapted from numpy and they should stay under original license.

https://www.apache.org/legal/src-headers.html#3party
...
3. Do not add the standard Apache License header to the top of third-party source files.
...

@barry-jin
Copy link
Contributor Author

This pull request is also addressing some additional license issues listed in #20616

@leezu
Copy link
Contributor

leezu commented Sep 29, 2021

It depends on what you mean by significant, usually changes made to 3rd party files stay under the original license. See [1] on this, note that "Do not add the standard Apache License header to the top of third-party source files.”. If the license was to change, and the headers replaced then that needs to be noted in NOTICE. Please make sure that the license is noted in LICENSE.

https://lists.apache.org/thread.html/r4010c53f976819c94f3450469db8b936f7c15cb046a61f0d488674d3%40%3Cgeneral.incubator.apache.org%3E

@leezu leezu merged commit f25b92e into apache:master Sep 29, 2021
@szha
Copy link
Member

szha commented Sep 29, 2021

Nice work!

@barry-jin barry-jin deleted the skywalking-eyes branch September 29, 2021 19:12
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
pr-awaiting-review PR is waiting for code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants