diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a1fdc5b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Angais and Minedit contributors + +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 76ceb82..9f3d1fa 100644 --- a/README.md +++ b/README.md @@ -336,11 +336,13 @@ Model output is still imperfect. Use `/reset build` and world backups while test - Built with the NeoForge MDK template. The template files are MIT licensed by the NeoForged project; see `TEMPLATE_LICENSE.txt`. - Uses NeoForge for Minecraft mod loading and APIs. -- Bundles Mozilla Rhino `1.8.0` as the JavaScript runtime through NeoForge Jar-in-Jar. Rhino is licensed under the Mozilla Public License 2.0: https://www.mozilla.org/MPL/2.0/ +- Bundles Mozilla Rhino `1.8.0` as the JavaScript runtime through NeoForge Jar-in-Jar. Rhino remains licensed under the Mozilla Public License 2.0; its corresponding source and license details are listed in `THIRD_PARTY_NOTICES.md`. - Uses OpenRouter's OpenAI-compatible chat completions API. - Optionally uses the OpenAI Codex app-server through the local `bridge/` helper. - Optionally uses Cursor CLI through the local `bridge/` helper. ## License -Minedit is currently published as All Rights Reserved unless a separate license is added later. NeoForge MDK template files keep their original MIT license, documented in `TEMPLATE_LICENSE.txt`. +Minedit's original code, documentation, and assets are open source under the [MIT License](LICENSE). + +Third-party components keep their original licenses. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) and [TEMPLATE_LICENSE.txt](TEMPLATE_LICENSE.txt) for details. diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md new file mode 100644 index 0000000..e6afd5c --- /dev/null +++ b/THIRD_PARTY_NOTICES.md @@ -0,0 +1,43 @@ +# Third-Party Notices + +Minedit is licensed under the MIT License. The following third-party +components and services are not relicensed under Minedit's MIT License. + +## NeoForge MDK template + +Some project scaffolding originated from the NeoForge MDK template and remains +available under the MIT License from the NeoForged project. Its original +license notice is preserved as `TEMPLATE_LICENSE.txt` in the source repository +and `META-INF/LICENSE-NEOFORGE-MDK.txt` in the distributable JAR. + +Source: https://github.com/NeoForgeMDKs/MDK-1.21-ModDevGradle + +## Mozilla Rhino 1.8.0 + +Minedit's distributable JAR embeds Mozilla Rhino 1.8.0 as its JavaScript +runtime. Rhino is licensed under the Mozilla Public License 2.0. + +License: https://www.mozilla.org/MPL/2.0/ + +Corresponding source: https://github.com/mozilla/rhino/tree/Rhino1_8_0_Release + +Minedit does not modify Rhino. Rhino remains governed by the MPL-2.0, and +Minedit's MIT License does not restrict the rights granted for Rhino by that +license. + +## Gradle Wrapper + +The Gradle wrapper scripts and wrapper JAR are distributed under the Apache +License 2.0 by their respective copyright holders. The scripts retain their +original license headers, and the wrapper JAR retains its embedded notices. + +License: https://www.apache.org/licenses/LICENSE-2.0 + +Source: https://github.com/gradle/gradle + +## External platforms + +NeoForge, Minecraft, OpenRouter, OpenAI Codex, and Cursor are separate +projects, products, or services governed by their own terms. Their names and +APIs are referenced for interoperability; they are not relicensed as part of +Minedit. diff --git a/bridge/package.json b/bridge/package.json index 89d2835..7dec64d 100644 --- a/bridge/package.json +++ b/bridge/package.json @@ -2,6 +2,7 @@ "name": "minedit-codex-bridge", "version": "0.1.0", "private": true, + "license": "MIT", "type": "module", "scripts": { "start": "node minedit-codex-bridge.mjs" diff --git a/build.gradle b/build.gradle index a022e3a..d1c7830 100644 --- a/build.gradle +++ b/build.gradle @@ -184,6 +184,20 @@ tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation } +tasks.named('jar', Jar).configure { + from('LICENSE') { + into 'META-INF' + rename { 'LICENSE-MINEDIT.txt' } + } + from('THIRD_PARTY_NOTICES.md') { + into 'META-INF' + } + from('TEMPLATE_LICENSE.txt') { + into 'META-INF' + rename { 'LICENSE-NEOFORGE-MDK.txt' } + } +} + // IDEA no longer automatically downloads sources/javadoc jars for dependencies, so we need to explicitly enable the behavior. idea { module { diff --git a/gradle.properties b/gradle.properties index fa14be1..8eeb6e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,8 +23,8 @@ neo_version=26.1.2.73 mod_id=minedit # The human-readable display name for the mod. mod_name=Minedit -# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. -mod_license=All Rights Reserved +# SPDX license identifier for Minedit's original code and assets. +mod_license=MIT # The mod version. See https://semver.org/ mod_version=1.5.1 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. diff --git a/src/main/templates/META-INF/neoforge.mods.toml b/src/main/templates/META-INF/neoforge.mods.toml index 2ffa9e9..454b613 100644 --- a/src/main/templates/META-INF/neoforge.mods.toml +++ b/src/main/templates/META-INF/neoforge.mods.toml @@ -4,8 +4,7 @@ # Note that there are a couple of TOML lists in this file. # Find more information on toml format here: https://github.com/toml-lang/toml -# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. -# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. +# SPDX identifier for the license covering Minedit's original code and assets. license="${mod_license}" # A URL to refer people to when problems occur with this mod