From 3c3e9401a36c323ce27d7eeecd7a77a9143ee086 Mon Sep 17 00:00:00 2001 From: DataTriny Date: Sat, 15 Apr 2023 20:01:31 +0200 Subject: [PATCH 1/4] Dual-license --- CITATION.cff | 4 +++- Cargo.toml | 2 +- LICENSE => LICENSE-APACHE | 0 LICENSE-MIT | 23 +++++++++++++++++++++++ README.md | 4 +++- pyo3-build-config/Cargo.toml | 2 +- pyo3-ffi/Cargo.toml | 2 +- pyo3-macros-backend/Cargo.toml | 2 +- pyo3-macros/Cargo.toml | 2 +- 9 files changed, 34 insertions(+), 7 deletions(-) rename LICENSE => LICENSE-APACHE (100%) create mode 100644 LICENSE-MIT diff --git a/CITATION.cff b/CITATION.cff index ced61193f5e..dfba0701666 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -7,4 +7,6 @@ type: software authors: - name: PyO3 Project and Contributors website: https://github.com/PyO3 -license: Apache-2.0 +license: + - Apache-2.0 + - MIT diff --git a/Cargo.toml b/Cargo.toml index e457e9f5026..0e392a6ce81 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ homepage = "https://github.com/pyo3/pyo3" repository = "https://github.com/pyo3/pyo3" documentation = "https://docs.rs/crate/pyo3/" categories = ["api-bindings", "development-tools::ffi"] -license = "Apache-2.0" +license = "MIT OR Apache-2.0" exclude = ["/.gitignore", ".cargo/config", "/codecov.yml", "/Makefile", "/pyproject.toml", "/noxfile.py", "/.github", "/tests/test_compile_error.rs", "/tests/ui"] edition = "2021" rust-version = "1.56" diff --git a/LICENSE b/LICENSE-APACHE similarity index 100% rename from LICENSE rename to LICENSE-APACHE diff --git a/LICENSE-MIT b/LICENSE-MIT new file mode 100644 index 00000000000..31aa79387f2 --- /dev/null +++ b/LICENSE-MIT @@ -0,0 +1,23 @@ +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 804fd41095e..a6b84a3192e 100644 --- a/README.md +++ b/README.md @@ -248,8 +248,10 @@ If you don't have time to contribute yourself but still wish to support the proj ## License -PyO3 is licensed under the [Apache-2.0 license](https://opensource.org/licenses/APACHE-2.0). (The PyO3 project is in the process of collecting permission from past contributors to additionally license under the [MIT license](https://opensource.org/license/mit/), see [#3108](https://github.com/PyO3/pyo3/pull/3108). Once complete, PyO3 will additionally be licensed under the MIT license, the same as the Rust language itself is both Apache and MIT licensed.) +PyO3 is licensed under the [Apache-2.0 license](LICENSE-APACHE) or the [MIT license](LICENSE-MIT), at your option. Python is licensed under the [Python License](https://docs.python.org/3/license.html). +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in PyO3 by you, as defined in the Apache License, shall be dual-licensed as above, without any additional terms or conditions. + Deploys by Netlify diff --git a/pyo3-build-config/Cargo.toml b/pyo3-build-config/Cargo.toml index 79278cab679..1af7c115e71 100644 --- a/pyo3-build-config/Cargo.toml +++ b/pyo3-build-config/Cargo.toml @@ -7,7 +7,7 @@ keywords = ["pyo3", "python", "cpython", "ffi"] homepage = "https://github.com/pyo3/pyo3" repository = "https://github.com/pyo3/pyo3" categories = ["api-bindings", "development-tools::ffi"] -license = "Apache-2.0" +license = "MIT OR Apache-2.0" edition = "2021" [dependencies] diff --git a/pyo3-ffi/Cargo.toml b/pyo3-ffi/Cargo.toml index 8c218014caf..62112841e99 100644 --- a/pyo3-ffi/Cargo.toml +++ b/pyo3-ffi/Cargo.toml @@ -7,7 +7,7 @@ keywords = ["pyo3", "python", "cpython", "ffi"] homepage = "https://github.com/pyo3/pyo3" repository = "https://github.com/pyo3/pyo3" categories = ["api-bindings", "development-tools::ffi"] -license = "Apache-2.0" +license = "MIT OR Apache-2.0" edition = "2021" links = "python" diff --git a/pyo3-macros-backend/Cargo.toml b/pyo3-macros-backend/Cargo.toml index 8cd1116f921..eb4417bd118 100644 --- a/pyo3-macros-backend/Cargo.toml +++ b/pyo3-macros-backend/Cargo.toml @@ -7,7 +7,7 @@ keywords = ["pyo3", "python", "cpython", "ffi"] homepage = "https://github.com/pyo3/pyo3" repository = "https://github.com/pyo3/pyo3" categories = ["api-bindings", "development-tools::ffi"] -license = "Apache-2.0" +license = "MIT OR Apache-2.0" edition = "2021" # Note: we use default-features = false for proc-macro related crates diff --git a/pyo3-macros/Cargo.toml b/pyo3-macros/Cargo.toml index f8304926b10..5e4177fa372 100644 --- a/pyo3-macros/Cargo.toml +++ b/pyo3-macros/Cargo.toml @@ -7,7 +7,7 @@ keywords = ["pyo3", "python", "cpython", "ffi"] homepage = "https://github.com/pyo3/pyo3" repository = "https://github.com/pyo3/pyo3" categories = ["api-bindings", "development-tools::ffi"] -license = "Apache-2.0" +license = "MIT OR Apache-2.0" edition = "2021" [lib] From 0ef626177cf9fac4e891f5f72afb5ab0e11a762a Mon Sep 17 00:00:00 2001 From: DataTriny Date: Wed, 19 Apr 2023 20:19:10 +0200 Subject: [PATCH 2/4] Add copyright holders to the MIT license file --- LICENSE-MIT | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LICENSE-MIT b/LICENSE-MIT index 31aa79387f2..cd0ad009a8b 100644 --- a/LICENSE-MIT +++ b/LICENSE-MIT @@ -1,3 +1,5 @@ +Copyright (c) 2023-present PyO3 Project and Contributors. https://github.com/PyO3 + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the From b222dbbbccf9eebf9d1e0947c95426588aebaecd Mon Sep 17 00:00:00 2001 From: DataTriny Date: Wed, 19 Apr 2023 20:37:05 +0200 Subject: [PATCH 3/4] Add a release note entry --- newsfragments/3108.changed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/3108.changed.md diff --git a/newsfragments/3108.changed.md b/newsfragments/3108.changed.md new file mode 100644 index 00000000000..e9b76ca4651 --- /dev/null +++ b/newsfragments/3108.changed.md @@ -0,0 +1 @@ +Dual-license PyO3 under either the Apache 2.0 OR the MIT license. This makes the project GPLv2 compatible. \ No newline at end of file From 5782aca636254574166f785488359a2f12ba1543 Mon Sep 17 00:00:00 2001 From: DataTriny Date: Tue, 15 Aug 2023 23:56:07 +0200 Subject: [PATCH 4/4] Update the pull request template --- .github/pull_request_template.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 02c0d5d5c90..90b85998ca0 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,8 +1,6 @@ Thank you for contributing to PyO3! -By submitting these contributions you agree for them to be licensed under PyO3's [Apache-2.0 license](https://github.com/PyO3/pyo3#license). - -PyO3 is currently undergoing a relicensing process to match Rust's dual-license under `Apache-2.0` and `MIT` licenses. While that process is ongoing, if you are a first-time contributor please add your agreement as a comment in [#3108](https://github.com/PyO3/pyo3/pull/3108). +By submitting these contributions you agree for them to be dual-licensed under PyO3's [MIT OR Apache-2.0 license](https://github.com/PyO3/pyo3#license). Please consider adding the following to your pull request: - an entry for this PR in newsfragments - see [https://pyo3.rs/main/contributing.html#documenting-changes]