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

OpenMP License Update v1.8x #19439

Closed
wants to merge 3 commits into from
Closed

OpenMP License Update v1.8x #19439

wants to merge 3 commits into from

Conversation

Zha0q1
Copy link
Contributor

@Zha0q1 Zha0q1 commented Oct 28, 2020

@mxnet-bot
Copy link

Hey @Zha0q1 , 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: [centos-cpu, windows-cpu, website, miscellaneous, sanity, centos-gpu, unix-gpu, windows-gpu, edge, unix-cpu, clang]


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.

@Zha0q1
Copy link
Contributor Author

Zha0q1 commented Oct 28, 2020

@samskalicky @leezu Could you review thanks!

@lanking520 lanking520 added the pr-awaiting-testing PR is reviewed and waiting CI build and test label Oct 28, 2020
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.

You're attaching a bunch of licenses under the keyword "OpenMP", but it's not clear to what files the apply. We need to specify the licenses with respect to the files (subfolders) they apply to.
Sometimes, multiple licenses may apply to a particular code and we should state if the users can choose one of the or what their relation is

@Zha0q1
Copy link
Contributor Author

Zha0q1 commented Oct 28, 2020

You're attaching a bunch of licenses under the keyword "OpenMP", but it's not clear to what files the apply. We need to specify the licenses with respect to the files (subfolders) they apply to.
Sometimes, multiple licenses may apply to a particular code and we should state if the users can choose one of the or what their relation is

Those licenses are from the master License.txt in the root directory. There they do not specify to which submodules those license apply to. In fact there is no clear submodule by the way they structure the directories https://github.com/llvm-mirror/openmp/tree/b76842ed16984ae5edcbbc4b00a94fda20419431

@lanking520 lanking520 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 Oct 28, 2020
@leezu
Copy link
Contributor

leezu commented Oct 28, 2020

You need to read the license file. It states:

==============================================================================
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
==============================================================================

as well as

==============================================================================
Software from third parties included in the LLVM Project:
==============================================================================
The LLVM Project contains third party software which is under different license
terms. All such code will be identified clearly using at least one of two
mechanisms:
1) It will be in a separate directory tree with its own `LICENSE.txt` or
   `LICENSE` file at the top containing the specific license and restrictions
   which apply to that software, or
2) It will contain specific license and restriction terms at the top of every
   file.

Based on these instructions, you need to modify the MXNet LICENSE so that it separately lists

  • an entry for the LLVM openmp project together with a reference to the LICENSE.txt file in the openmp folder
  • an entry for each sub-project of the openmp project as identified by other LICENSE.txt files located someweher the openmp folders and subfolders
  • an entry for each set of files that "contain [the same] specific license and restriction terms at the top of every file." which are not already covered by the two points above

The latter may best be scripted.

@leezu
Copy link
Contributor

leezu commented Oct 28, 2020

The easiest option here is to delete the 3rdparty/openmp folder as it's unused by the default Makefile build and optional for the cmake build.

@Zha0q1
Copy link
Contributor Author

Zha0q1 commented Oct 28, 2020

You need to read the license file. It states:

==============================================================================
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
==============================================================================

as well as

==============================================================================
Software from third parties included in the LLVM Project:
==============================================================================
The LLVM Project contains third party software which is under different license
terms. All such code will be identified clearly using at least one of two
mechanisms:
1) It will be in a separate directory tree with its own `LICENSE.txt` or
   `LICENSE` file at the top containing the specific license and restrictions
   which apply to that software, or
2) It will contain specific license and restriction terms at the top of every
   file.

Based on these instructions, you need to modify the MXNet LICENSE so that it separately lists

* an entry for the LLVM openmp project together with a reference to the LICENSE.txt file in the openmp folder

* an entry for each sub-project of the openmp project as identified by other LICENSE.txt files located someweher the openmp folders and subfolders

* an entry for each set of files that "contain [the same] specific license and restriction terms at the top of every file." which are not already covered by the two points above

The latter may best be scripted.

I totally agree with this methodology but I checked all the file, and there was no mentioning of any license other than Apache 2.0. I tried to associate those extra licenses with specific files/submodules but I could not find any such links.

@leezu
Copy link
Contributor

leezu commented Oct 28, 2020

In that case you don't need to include them. Referencing the LICENSE.txt is sufficient. We don't need to copy the license text into our LICENSE file. We only need to ensure that we point to each file / set of files of a particular license and provide a pointer where the user can read their license

@Zha0q1
Copy link
Contributor Author

Zha0q1 commented Oct 28, 2020

In that case you don't need to include them. Referencing the LICENSE.txt is sufficient. We don't need to copy the license text into our LICENSE file. We only need to ensure that we point to each file / set of files of a particular license and provide a pointer where the user can read their license

Sounds good. I have deleted these licenses from our file. Given our discussion I think it suffices to update the copyright statement year

@lanking520 lanking520 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 Oct 28, 2020
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.

3rdparty/openmp/LICENSE.txt specifies Apache License v2.0 with LLVM Exceptions not MIT License

@Zha0q1
Copy link
Contributor Author

Zha0q1 commented Oct 28, 2020

@leezu Yeah sorry did not notice that. I moved it under the apache list and also attached the llvm exception at the bottom

@lanking520 lanking520 added pr-awaiting-review PR is waiting for code review and removed pr-awaiting-testing PR is reviewed and waiting CI build and test labels Oct 29, 2020
@Zha0q1 Zha0q1 closed this Oct 29, 2020
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