Skip to content

Commit

Permalink
Relicense IREE under the LLVM license (iree-org#6020)
Browse files Browse the repository at this point in the history
To facilitate easy movement between IREE and upstream LLVM, we are
relicensing under the same license: the Apache 2.0 License with LLVM
Exceptions (https://llvm.org/LICENSE.txt, SPDX-License-Identifier:
Apache-2.0 WITH LLVM-exception).

In addition, we are moving to a Copyright header format that attributes
copyright to "The IREE Authors" and uses a separate AUTHORS file to
keep track of contributions. For this PR, I am just listing Google, but
I will send follow-ups to list Fraunhofer IML and Nod Labs (keeping it
separate so I can get those folks approval for the precise wording).

Note that the change to the header format is to recognize the valuable
contributions from our external collaborators and as always copyright is
retained by the author.

See the announcement at
https://groups.google.com/g/iree-discuss/c/NJohLQ5rOBg

The script I used to update (almost) all the headers is at
https://gist.github.com/GMNGeoffrey/8e85e1a088f59822ab61eff01f8d4ef6

The updates from that script are all in one commit. I recommend
reviewing the other commits separately from that one. You can also see
the raw diff from that change at
https://github.com/google/iree/commit/bdb5800ea51.diff

As part of this, I had to manually fiddle with ipynb files (actually
that was the most time-consuming aspect). I changed the format of the
license headers there to just be a block of markdown text rather than
something that was for some reason executable. Also had to manually give
the cells IDs, which hopefully will have worked.

To resolve the inevitable merge conflicts, I will likely drop the
changes from the script and rerun.

Tested:
```
$ grep -r --exclude-dir=third_party "Google LLC" . | grep -v website/site
./AUTHORS:Google LLC
```
  • Loading branch information
GMNGeoffrey authored May 26, 2021
1 parent 9c364e9 commit 552d3f8
Show file tree
Hide file tree
Showing 1,622 changed files with 6,559 additions and 19,486 deletions.
16 changes: 4 additions & 12 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Ignore 'experimental' folders. These builds are not regularly maintained.
# If you wish to build/run a target under experimental/, you must remove this
Expand Down
16 changes: 4 additions & 12 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Import the main bazelrc config. This is in a separate file so that it's
# possible to turn off some or all user and system bazelrc options by specifying
Expand Down
16 changes: 4 additions & 12 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# All of IREE is in the Google style except for iree/compiler/, which follows
# mostly LLVM style (for naming/etc) but the Google formatting (because internal
Expand Down
16 changes: 4 additions & 12 deletions .github/workflows/copybara_fixup.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Edits the HEAD commit if it is tagged with the Copybara tag to use the
# submodule state specified in SUBMODULE_VERSIONS.txt and merge from the
Expand Down
16 changes: 4 additions & 12 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Lint

Expand Down
16 changes: 4 additions & 12 deletions .github/workflows/update_llvm_dependent_submodules.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2020 Google LLC
# Copyright 2020 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Creates a PR to update all LLVM-dependent submodules to the current LLVM
# commit in the repo.
Expand Down
16 changes: 4 additions & 12 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2020 Google LLC
# Copyright 2020 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

extends: default

Expand Down
10 changes: 10 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This is the list of IREE's significant contributors.
#
# This does not necessarily list everyone who has contributed code, especially
# since many employees of one corporation may be contributing. To see the full
# list of contributors, see the revision history in source control.
#
# Please only add individuals if they are not contributing on behalf of a
# company (who should be listed instead). Add new entries at the bottom of the
# file.
Google LLC
16 changes: 4 additions & 12 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Note that project-wide, bazel repo aliases are used. Various scripts and helpers operate on the
# following prefixes textually, so avoid doing any systematic construction that would break the
Expand Down
16 changes: 4 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

cmake_minimum_required(VERSION 3.13.4)
# Do not set MSVC warning flags like /W3 by default (since 3.15):
Expand Down
8 changes: 8 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,14 @@ and clang-tidy handle that for us). The compiler portion of the project follows
Improvements to code structure and clarity are welcome but please file issues to
track such work first.

## AUTHORS file

If you would like to receive additional recognition for your contribution, you
may add yourself (or your organization) to the AUTHORS file. This keeps track of
those who have made significant contributions to the project. Please add the
entity who owns the copyright for your contribution. The source control history
remains the most accurate source for individual contributions.

## Code reviews

All submissions, including submissions by project members, require review. We
Expand Down
61 changes: 39 additions & 22 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.
1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
Expand Down Expand Up @@ -64,14 +63,14 @@
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
Expand All @@ -87,7 +86,7 @@
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
Expand Down Expand Up @@ -128,20 +127,20 @@
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
Expand All @@ -151,7 +150,7 @@
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
Expand All @@ -163,7 +162,7 @@
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
Expand All @@ -174,9 +173,9 @@
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.
APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
Expand All @@ -187,16 +186,34 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright [yyyy] [name of copyright owner]

Licensed 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
Licensed 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.
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.


--- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined
Software.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,5 @@ BuildKite | CMake | Android | arm64-v8a | Runtime |

## License

IREE is licensed under the terms of the Apache license. See [LICENSE](LICENSE)
for more information.
IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions.
See [LICENSE](LICENSE) for more information.
16 changes: 4 additions & 12 deletions WORKSPACE
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Copyright 2019 Google LLC
# Copyright 2019 The IREE Authors
#
# Licensed 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
#
# https://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.
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Workspace file for the IREE project.
# buildozer: disable=positional-args
Expand Down
Loading

0 comments on commit 552d3f8

Please sign in to comment.