diff --git a/.github/workflows/license_check.yml b/.github/workflows/license_check.yml new file mode 100644 index 000000000000..ecc12811bb7e --- /dev/null +++ b/.github/workflows/license_check.yml @@ -0,0 +1,25 @@ +name: license check + +on: [push, pull_request] + +defaults: + run: + shell: bash + +jobs: + licensecheck: + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Update Submodules + run: | + git submodule update --init --recursive + + - name: Check License Header + uses: apache/skywalking-eyes@main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.licenserc.yaml b/.licenserc.yaml new file mode 100644 index 000000000000..e4a74305279a --- /dev/null +++ b/.licenserc.yaml @@ -0,0 +1,74 @@ +header: + license: + spdx-id: Apache-2.0 + copyright-owner: Apache Software Foundation + + paths-ignore: + - 'dist' + - 'licenses' + - '**/*.md' + - '**/*.ipynb' + - 'LICENSE' + - 'NOTICE' + - '3rdparty' + - '.gitignore' + - '.codecov.yml' + - '.gitattributes' + - '.github' + - '.gitmodules' + - '.licenserc.yaml' + - '.asf.yaml' + - 'CODEOWNERS' + - 'DISCLAIMER' + - 'KEYS' + - 'python/mxnet/_cy3/README' + - 'tools/dependencies/LICENSE.binary.dependencies' + # files not distributed in source archive (listed in tools/source-exclude-artifacts.txt) + - 'docs' + # files licensed under apache-2.0 license but do not include full license headers recognized by skywalking-eyes + - 'python/mxnet/cython/ndarray.pyx' + - 'python/mxnet/cython/symbol.pyx' + - 'src/operator/deformable_convolution-inl.h' + - 'src/operator/deformable_convolution.cc' + - 'src/operator/deformable_convolution.cu' + - 'src/operator/contrib/deformable_psroi_pooling-inl.h' + - 'src/operator/contrib/deformable_psroi_pooling.cc' + - 'src/operator/contrib/deformable_psroi_pooling.cu' + - 'src/operator/contrib/multi_proposal-inl.h' + - 'src/operator/contrib/multi_proposal.cc' + - 'src/operator/contrib/multi_proposal.cu' + - 'src/operator/contrib/psroi_pooling.cc' + - 'src/operator/contrib/psroi_pooling.cu' + - 'src/operator/nn/mkldnn/mkldnn_base-inl.h' + # files licensed under boost license + - 'cmake/Modules/FindJeMalloc.cmake' + # files licensed under bsd 3-clause + - 'cmake/upstream/FindBLAS.cmake' + - 'cmake/upstream/FindCUDAToolkit.cmake' + - 'cmake/upstream/select_compute_arch.cmake' + - 'src/operator/contrib/erfinv-inl.h' + - 'src/operator/numpy/np_einsum_op-inl.h' + - 'src/operator/numpy/np_einsum_op.cc' + - 'src/operator/numpy/np_einsum_path_op-inl.h' + # files licensed under caffe/mit license + - 'src/operator/modulated_deformable_convolution-inl.h' + - 'src/operator/modulated_deformable_convolution.cc' + - 'src/operator/modulated_deformable_convolution.cu' + - 'src/operator/contrib/nn/deformable_im2col.cuh' + - 'src/operator/contrib/nn/deformable_im2col.h' + - 'src/operator/contrib/nn/modulated_deformable_im2col.cuh' + - 'src/operator/contrib/nn/modulated_deformable_im2col.h' + - 'src/operator/nn/im2col.cuh' + - 'src/operator/nn/im2col.h' + - 'src/operator/nn/pool.cuh' + - 'src/operator/nn/pool.h' + # symlinks + - 'include/dlpack' # symlink to 3rdparty/dlpack/include/dlpack + - 'include/dmlc' # symlink to 3rdparty/dmlc-core/include/dmlc + - 'include/mshadow' # symlink to 3rdparty/mshadow/mshadow + - 'include/onednn' # symlinks to 3rdparty/onednn + # test/build data + - 'tests/python/mkl/data/test_mkldnn_test_mkldnn_model_model1.json' + + + comment: on-failure diff --git a/LICENSE b/LICENSE index d70e5ed6f419..795130c0e597 100644 --- a/LICENSE +++ b/LICENSE @@ -220,21 +220,39 @@ 3rdparty/ctc_include 3rdparty/dlpack + include/dlpack (header symlinks to 3rdparty/dlpack/include/dlpack) 3rdparty/dmlc-core + include/dmlc (header symlinks to 3rdparty/dmlc-core/include/dmlc) 3rdparty/mshadow + include/mshadow (header symlinks to 3rdparty/mshadow/mshadow) 3rdparty/tvm 3rdparty/tvm/3rdparty/dmlc-core 3rdparty/tvm/3rdparty/dlpack + include/nnvm (header symlinks to 3rdparty/tvm/nnvm/include/nnvm) 3rdparty/ps-lite 3rdparty/onednn + include/onednn (header symlinks to 3rdparty/onednn) 3rdparty/googletest/googlemock/scripts/generator 3rdparty/onnx-tensorrt/third_party/onnx/third_party/benchmark + 3rdparty/onnx-tensorrt/third_party/onnx/tools/protoc-gen-mypy.py 3rdparty/onednn/tests/benchdnn (Copy of the License available at top of current file) src/operator/special_functions-inl.h Cephes Library Functions (Copy of the License available at top of current file) 3rdparty/onednn/doc/assets/mathjax (Copy of the License available at top of current file) docs/python_docs/themes/mx-theme/mxtheme/static/material-design-icons-3.0.1 (Copy of the License available at top of current file) docs/python_docs/themes/mx-theme/mxtheme/static/font/Roboto (Copy of the License available at top of current file) 3rdparty/tvm/3rdparty/bfloat16/bfloat16.cc (Copy of the License available at top of current file) + src/operator/deformable_convolution-inl.h + src/operator/deformable_convolution.cc + src/operator/deformable_convolution.cu + src/operator/contrib/deformable_psroi_pooling-inl.h + src/operator/contrib/deformable_psroi_pooling.cc + src/operator/contrib/deformable_psroi_pooling.cu + src/operator/contrib/multi_proposal-inl.h + src/operator/contrib/multi_proposal.cc + src/operator/contrib/multi_proposal.cu + src/operator/contrib/psroi_pooling.cc + src/operator/contrib/psroi_pooling.cu + src/operator/nn/mkldnn/mkldnn_base-inl.h ======================================================================================= MIT license @@ -270,8 +288,12 @@ 3rdparty/googletest/googlemock 3rdparty/googletest/googletest cmake/upstream/FindCUDAToolkit.cmake + cmake/upstream/FindBLAS.cmake cmake/upstream/select_compute_arch.cmake src/operator/contrib/erfinv-inl.h + src/operator/numpy/np_einsum_op-inl.h + src/operator/numpy/np_einsum_path_op-inl.h + src/operator/numpy/np_einsum_op.cc ======================================================================================= 2-clause BSD license @@ -314,9 +336,6 @@ python/mxnet/onnx/mx2onnx/_export_onnx.py python/mxnet/onnx/mx2onnx/_op_translations/_op_translations_opset12.py python/mxnet/onnx/mx2onnx/_op_translations/_op_translations_opset13.py - src/operator/numpy/np_einsum_op-inl.h - src/operator/numpy/np_einsum_path_op-inl.h - src/operator/numpy/np_einsum_op.cc ======================================================================================= Apache-2.0 license + MIT License @@ -324,18 +343,7 @@ src/serialization/cnpy.h (Copy of the AL2 License available at the top of this file, MIT License available at licenses/MIT) src/serialization/cnpy.cc (Copy of the AL2 License available at the top of this file, MIT License available at licenses/MIT) - 3rdparty/onnx-tensorrt/third_party/onnx/tools/protoc-gen-mypy.py (Copy of the referenced AL2 License available at top of current file) src/operator/nn/layer_norm.cc (function LayerNormCPUKernel is adapated from MIT-licensed code) - (Source repository for below deformable conv operators - https://github.com/msracver/Deformable-ConvNets/tree/master/DCNv2_op) - src/operator/deformable_convolution-inl.h - src/operator/deformable_convolution.cc - src/operator/deformable_convolution.cu - - ======================================================================================= - Apache-2.0 license + Boost Software License, Version 1.0 - ======================================================================================= - - cmake/Modules/FindJeMalloc.cmake ======================================================================================= Boost Software License, Version 1.0 @@ -343,6 +351,7 @@ 3rdparty/intgemm/test/3rd_party/catch.hpp (Copy of the License available at licenses/BOOST1_0) 3rdparty/onednn/src/common/primitive_hashing.hpp + cmake/Modules/FindJeMalloc.cmake ======================================================================================= LLVM Release License diff --git a/rat-excludes b/rat-excludes index 12f7ca6ac8fc..83e2e0c83481 100644 --- a/rat-excludes +++ b/rat-excludes @@ -53,6 +53,7 @@ clipboard.js # Licenses licenses/* LICENSE.binary.dependencies +.licenserc.yaml # Generated files during build .buildinfo @@ -123,6 +124,9 @@ FindCUDAToolkit.cmake FindBLAS.cmake FindJeMalloc.cmake select_compute_arch.cmake +np_einsum_op-inl.h +np_einsum_op.cc +np_einsum_path_op-inl.h # Incorporated third-party source files from Microsoft that carry Apache 2.0 license, captured in licenses/ deformable_psroi_pooling.cu diff --git a/src/operator/contrib/krprod.cc b/src/operator/contrib/krprod.cc index 7a4e8bfda371..f4fadaa238a8 100644 --- a/src/operator/contrib/krprod.cc +++ b/src/operator/contrib/krprod.cc @@ -5,7 +5,7 @@ * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance -n * with the License. You may obtain a copy of the License at + * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * diff --git a/src/operator/numpy/np_einsum_op-inl.h b/src/operator/numpy/np_einsum_op-inl.h index 4aa8200cf8a7..5525b9209fc1 100644 --- a/src/operator/numpy/np_einsum_op-inl.h +++ b/src/operator/numpy/np_einsum_op-inl.h @@ -1,22 +1,3 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - /* * Copyright (c) 2005-2019, NumPy Developers. * diff --git a/src/operator/numpy/np_einsum_op.cc b/src/operator/numpy/np_einsum_op.cc index 486bb81599f9..afdb49b0f564 100644 --- a/src/operator/numpy/np_einsum_op.cc +++ b/src/operator/numpy/np_einsum_op.cc @@ -1,22 +1,3 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - /* * Copyright (c) 2005-2019, NumPy Developers. * All rights reserved. diff --git a/src/operator/numpy/np_einsum_path_op-inl.h b/src/operator/numpy/np_einsum_path_op-inl.h index bfdf081c5352..7471385bda59 100644 --- a/src/operator/numpy/np_einsum_path_op-inl.h +++ b/src/operator/numpy/np_einsum_path_op-inl.h @@ -1,22 +1,3 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - /* * Copyright (c) 2005-2019, NumPy Developers. * All rights reserved. diff --git a/src/operator/subgraph/tensorrt/nnvm_to_onnx-inl.h b/src/operator/subgraph/tensorrt/nnvm_to_onnx-inl.h index 727718a38885..80ae22583fa8 100644 --- a/src/operator/subgraph/tensorrt/nnvm_to_onnx-inl.h +++ b/src/operator/subgraph/tensorrt/nnvm_to_onnx-inl.h @@ -1,5 +1,3 @@ -#ifndef MXNET_OPERATOR_SUBGRAPH_TENSORRT_NNVM_TO_ONNX_INL_H_ -#define MXNET_OPERATOR_SUBGRAPH_TENSORRT_NNVM_TO_ONNX_INL_H_ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -25,6 +23,9 @@ * \author Marek Kolodziej, Clement Fuji Tsang */ +#ifndef MXNET_OPERATOR_SUBGRAPH_TENSORRT_NNVM_TO_ONNX_INL_H_ +#define MXNET_OPERATOR_SUBGRAPH_TENSORRT_NNVM_TO_ONNX_INL_H_ + #if MXNET_USE_TENSORRT #include diff --git a/src/operator/subgraph/tensorrt/onnx_to_tensorrt.h b/src/operator/subgraph/tensorrt/onnx_to_tensorrt.h index 3a9f316b470e..c2b1dd215937 100644 --- a/src/operator/subgraph/tensorrt/onnx_to_tensorrt.h +++ b/src/operator/subgraph/tensorrt/onnx_to_tensorrt.h @@ -1,5 +1,3 @@ -#ifndef MXNET_OPERATOR_SUBGRAPH_TENSORRT_ONNX_TO_TENSORRT_H_ -#define MXNET_OPERATOR_SUBGRAPH_TENSORRT_ONNX_TO_TENSORRT_H_ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -25,6 +23,9 @@ * \author Marek Kolodziej, Clement Fuji Tsang */ +#ifndef MXNET_OPERATOR_SUBGRAPH_TENSORRT_ONNX_TO_TENSORRT_H_ +#define MXNET_OPERATOR_SUBGRAPH_TENSORRT_ONNX_TO_TENSORRT_H_ + #if MXNET_USE_TENSORRT #include diff --git a/src/operator/subgraph/tensorrt/tensorrt-inl.h b/src/operator/subgraph/tensorrt/tensorrt-inl.h index 4f0896e7cf26..564401b08391 100644 --- a/src/operator/subgraph/tensorrt/tensorrt-inl.h +++ b/src/operator/subgraph/tensorrt/tensorrt-inl.h @@ -1,5 +1,3 @@ -#ifndef MXNET_OPERATOR_SUBGRAPH_TENSORRT_TENSORRT_INL_H_ -#define MXNET_OPERATOR_SUBGRAPH_TENSORRT_TENSORRT_INL_H_ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -25,6 +23,9 @@ * \author Marek Kolodziej, Clement Fuji Tsang */ +#ifndef MXNET_OPERATOR_SUBGRAPH_TENSORRT_TENSORRT_INL_H_ +#define MXNET_OPERATOR_SUBGRAPH_TENSORRT_TENSORRT_INL_H_ + #if MXNET_USE_TENSORRT #include diff --git a/tests/python/gpu/test_numpy_op.py b/tests/python/gpu/test_numpy_op.py index 5b31045e1abe..a72947dea1f6 100644 --- a/tests/python/gpu/test_numpy_op.py +++ b/tests/python/gpu/test_numpy_op.py @@ -13,6 +13,7 @@ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations +# under the License. import sys import numpy as onp