From 0714bd4d5175c8d6abcd088eb34c633333e0becf Mon Sep 17 00:00:00 2001 From: gentlegiantJGC Date: Thu, 9 Sep 2021 14:59:16 +0100 Subject: [PATCH 1/6] Added a licence and contributing file --- LICENCE | 25 +++++++++++++++++++++++++ contributing.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 LICENCE create mode 100644 contributing.md diff --git a/LICENCE b/LICENCE new file mode 100644 index 000000000..d4ff06e04 --- /dev/null +++ b/LICENCE @@ -0,0 +1,25 @@ +This is not a licence but is guidance on what the final licence will and will not allow. + +Definitions +Amulet-NBT - A low level NBT editing library. +PyMCTranslate - A data translation library for Minecraft data. +Amulet-Core - The world editing library. +Minecraft-Model-Reader - A library to parse the resource pack model format. +Amulet-Map-Editor - The repository containing the user facing program. +Amulet Map Editor - The above repositories combined into a standalone user facing program. + + +"Amulet" refers to a number of codebases that make up Amulet Map Editor. +These include Amulet-Map-Editor, Amulet-Core, Amulet-NBT, PyMCTranslate and Minecraft-Model-Reader + +Can I redistribute or rehost any part of your code? + No. Unless the code is explicitly licensed to allow otherwise, you cannot redistribute or rehost any code from Amulet. + This includes the code in both source and compiled forms. + The only exception to this is forking the original repository with the aim to modify or improve on the code. + Imports and API calls are not included as part of this because they are necessary for external code to work. +Can I use any part of Amulet as part of another program? + Personal non-commercial projects are allowed to use any part of Amulet's codebase. +Can I modify any part of Amulet? + You are allowed to modify Amulet however you like. + If you want to make improvements we accept code submissions through pull requests. + Note that by submitting code you are giving us permission to host, distribute and use the code under the licence in its final form. diff --git a/contributing.md b/contributing.md new file mode 100644 index 000000000..e0c839901 --- /dev/null +++ b/contributing.md @@ -0,0 +1,44 @@ +## Contributing + +If you wish to report a bug in the program or suggest a feature please first [search the existing bugs and features](https://github.com/Amulet-Team/Amulet-Core/issues) to see if it already exists. +If not [create a new issue](https://github.com/Amulet-Team/Amulet-Core/issues/new/choose). + +### Licence +In order to contribute to the project you must agree that your submission can be used, hosted +and redistributed for use by others under the terms of the [licence](LICENCE) for the project. +Upon creating a pull request you will be asked to confirm that you acknowledge this. + +### Branch Naming +A branch must be created in order to contribute code to the project. +Unless you have permissions to create branches in Amulet-Team you will first need to [fork the repository](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo). +You must then create a branch with an identifiable name using the following convention: + +* For features, use: `impl-` +* For bug fixes, use: `bug-` +* For improvements/rewrites, use: `improv-` +* For prototyping, use: `proto-` + +### Tests +There are a number of tests to make sure that the code behaves correctly. +If you are making changes to the code these should be run before creating the pull request. + +### Code Formatting +For code formatting, we use the formatting utility [black](https://github.com/ambv/black). +To run it on a file, run the following command from your favorite terminal after installing: `black ` + +While formatting is not strictly required for each commit, we ask that after you've finished your +code changes for your Pull Request to run it on every changed file. + +The following command will run it on all files. `black .` + +### Pull Requests +Once you have added the desired changes and run tests and formatting you will need to [create a pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request). +We ask that submitted Pull Requests give moderately detailed notes about the changes and explain +any changes that were made to the program outside of those directly related to the feature/bug-fix. + +Once a Pull Request is submitted, we will mark the request for review. +Once that is done, we will review the changes and may provide feedback on things to change. +Once all additional changes have been made, we will merge the request. + +The tests and code formatting will be run automatically when the pull request is created to verify that everything is okay. +This can be seen at the bottom of the pull request page. From 807714fb50951ff3a70acc114f893b86a91e8af2 Mon Sep 17 00:00:00 2001 From: gentlegiantJGC Date: Wed, 15 Sep 2021 10:51:02 +0100 Subject: [PATCH 2/6] Switched licence to license --- LICENCE => LICENSE | 4 ++-- amulet/level/formats/sponge_schem/varint/VARINT_LICENSE | 4 ++-- amulet/libs/leveldb/LICENSE-LEVELDB | 2 +- contributing.md | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) rename LICENCE => LICENSE (91%) diff --git a/LICENCE b/LICENSE similarity index 91% rename from LICENCE rename to LICENSE index d4ff06e04..0346cc738 100644 --- a/LICENCE +++ b/LICENSE @@ -1,4 +1,4 @@ -This is not a licence but is guidance on what the final licence will and will not allow. +This is not a license but is guidance on what the final license will and will not allow. Definitions Amulet-NBT - A low level NBT editing library. @@ -22,4 +22,4 @@ Can I use any part of Amulet as part of another program? Can I modify any part of Amulet? You are allowed to modify Amulet however you like. If you want to make improvements we accept code submissions through pull requests. - Note that by submitting code you are giving us permission to host, distribute and use the code under the licence in its final form. + Note that by submitting code you are giving us permission to host, distribute and use the code under the license in its final form. diff --git a/amulet/level/formats/sponge_schem/varint/VARINT_LICENSE b/amulet/level/formats/sponge_schem/varint/VARINT_LICENSE index 3cd19e4a4..f6256ab79 100644 --- a/amulet/level/formats/sponge_schem/varint/VARINT_LICENSE +++ b/amulet/level/formats/sponge_schem/varint/VARINT_LICENSE @@ -1,9 +1,9 @@ -This licence applies to this varint package only. +This license applies to this varint package only. Code sourced from the link below with modifications. https://github.com/fmoo/python-varint -# original licence +# original license The MIT License (MIT) diff --git a/amulet/libs/leveldb/LICENSE-LEVELDB b/amulet/libs/leveldb/LICENSE-LEVELDB index 2d4fa16e3..f5543013d 100644 --- a/amulet/libs/leveldb/LICENSE-LEVELDB +++ b/amulet/libs/leveldb/LICENSE-LEVELDB @@ -1,4 +1,4 @@ -The following licence applies to the included leveldb-mcpe binaries +The following license applies to the included leveldb-mcpe binaries (libleveldb.so, LevelDB-MCPE-32.dll, LevelDB-MCPE-64.dll) only: Copyright (c) 2011 The LevelDB Authors. All rights reserved. diff --git a/contributing.md b/contributing.md index e0c839901..ff56f0a44 100644 --- a/contributing.md +++ b/contributing.md @@ -3,9 +3,9 @@ If you wish to report a bug in the program or suggest a feature please first [search the existing bugs and features](https://github.com/Amulet-Team/Amulet-Core/issues) to see if it already exists. If not [create a new issue](https://github.com/Amulet-Team/Amulet-Core/issues/new/choose). -### Licence +### License In order to contribute to the project you must agree that your submission can be used, hosted -and redistributed for use by others under the terms of the [licence](LICENCE) for the project. +and redistributed for use by others under the terms of the [license](LICENSE) for the project. Upon creating a pull request you will be asked to confirm that you acknowledge this. ### Branch Naming From 2493705bb94440a473f2616848677f99a94c0520 Mon Sep 17 00:00:00 2001 From: gentlegiantJGC Date: Wed, 15 Dec 2021 11:27:33 +0000 Subject: [PATCH 3/6] Added a licence based on PolyForm Sheild and Noncommercial --- LICENSE | 209 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 184 insertions(+), 25 deletions(-) diff --git a/LICENSE b/LICENSE index 0346cc738..8e2d17b73 100644 --- a/LICENSE +++ b/LICENSE @@ -1,25 +1,184 @@ -This is not a license but is guidance on what the final license will and will not allow. - -Definitions -Amulet-NBT - A low level NBT editing library. -PyMCTranslate - A data translation library for Minecraft data. -Amulet-Core - The world editing library. -Minecraft-Model-Reader - A library to parse the resource pack model format. -Amulet-Map-Editor - The repository containing the user facing program. -Amulet Map Editor - The above repositories combined into a standalone user facing program. - - -"Amulet" refers to a number of codebases that make up Amulet Map Editor. -These include Amulet-Map-Editor, Amulet-Core, Amulet-NBT, PyMCTranslate and Minecraft-Model-Reader - -Can I redistribute or rehost any part of your code? - No. Unless the code is explicitly licensed to allow otherwise, you cannot redistribute or rehost any code from Amulet. - This includes the code in both source and compiled forms. - The only exception to this is forking the original repository with the aim to modify or improve on the code. - Imports and API calls are not included as part of this because they are necessary for external code to work. -Can I use any part of Amulet as part of another program? - Personal non-commercial projects are allowed to use any part of Amulet's codebase. -Can I modify any part of Amulet? - You are allowed to modify Amulet however you like. - If you want to make improvements we accept code submissions through pull requests. - Note that by submitting code you are giving us permission to host, distribute and use the code under the license in its final form. +Amulet Library License 1.0.0 +# This is a combination of PolyForm Sheild and Noncommercial + +## Acceptance + +In order to get any license under these terms, you must agree +to them as both strict obligations and conditions to all +your licenses. + +## Copyright License + +The licensor grants you a copyright license for the +software to do everything you might do with the software +that would otherwise infringe the licensor's copyright +in it for any permitted purpose. However, you may +only distribute the software according to [Distribution +License](#distribution-license) and make changes or new works +based on the software according to [Changes and New Works +License](#changes-and-new-works-license). + +## Distribution License + +The licensor grants you an additional copyright license +to distribute copies of the software. Your license +to distribute covers distributing the software with +changes and new works permitted by [Changes and New Works +License](#changes-and-new-works-license). + +## Notices + +You must ensure that anyone who gets a copy of any part of +the software from you also gets a copy of these terms or the +URL for them above, as well as copies of any plain-text lines +beginning with `Required Notice:` that the licensor provided +with the software. For example: + +> Required Notice: Copyright Yoyodyne, Inc. (http://example.com) + +## Changes and New Works License + +The licensor grants you an additional copyright license to +make changes and new works based on the software for any +permitted purpose. + +## Patent License + +The licensor grants you a patent license for the software that +covers patent claims the licensor can license, or becomes able +to license, that you would infringe by using the software. + +## Noncommercial Purposes + +Any noncommercial purpose is a permitted purpose. + +## Personal Uses + +Personal use for research, experiment, and testing for +the benefit of public knowledge, personal study, private +entertainment, hobby projects, amateur pursuits, or religious +observance, without any anticipated commercial application, +is use for a permitted purpose. + +## Noncommercial Organizations + +Use by any charitable organization, educational institution, +public research organization, public safety or health +organization, environmental protection organization, +or government institution is use for a permitted purpose +regardless of the source of funding or obligations resulting +from the funding. + +## Noncompete + +Any purpose is a permitted purpose, except for providing any +product that competes with the software or any product the +licensor or any of its affiliates provides using the software. + +## Competition + +Goods and services compete even when they provide functionality +through different kinds of interfaces or for different technical +platforms. Applications can compete with services, libraries +with plugins, frameworks with development tools, and so on, +even if they're written in different programming languages +or for different computer architectures. Goods and services +compete even when provided free of charge. If you market a +product as a practical substitute for the software or another +product, it definitely competes. + +## New Products + +If you are using the software to provide a product that does +not compete, but the licensor or any of its affiliates brings +your product into competition by providing a new version of +the software or another product using the software, you may +continue using versions of the software available under these +terms beforehand to provide your competing product, but not +any later versions. + +## Discontinued Products + +You may begin using the software to compete with a product +or service that the licensor or any of its affiliates has +stopped providing, unless the licensor includes a plain-text +line beginning with `Licensor Line of Business:` with the +software that mentions that line of business. For example: + +> Licensor Line of Business: YoyodyneCMS Content Management +System (http://example.com/cms) + +## Sales of Business + +If the licensor or any of its affiliates sells a line of +business developing the software or using the software +to provide a product, the buyer can also enforce +[Noncompete](#noncompete) for that product. + +## Fair Use + +You may have "fair use" rights for the software under the +law. These terms do not limit them. + +## No Other Rights + +These terms do not allow you to sublicense or transfer any of +your licenses to anyone else, or prevent the licensor from +granting licenses to anyone else. These terms do not imply +any other licenses. + +## Patent Defense + +If you make any written claim that the software infringes or +contributes to infringement of any patent, your patent license +for the software granted under these terms ends immediately. If +your company makes such a claim, your patent license ends +immediately for work on behalf of your company. + +## Violations + +The first time you are notified in writing that you have +violated any of these terms, or done anything with the software +not covered by your licenses, your licenses can nonetheless +continue if you come into full compliance with these terms, +and take practical steps to correct past violations, within +32 days of receiving notice. Otherwise, all your licenses +end immediately. + +## No Liability + +***As far as the law allows, the software comes as is, without +any warranty or condition, and the licensor will not be liable +to you for any damages arising out of these terms or the use +or nature of the software, under any kind of legal claim.*** + +## Definitions + +The **licensor** is the individual or entity offering these +terms, and the **software** is the software the licensor makes +available under these terms. + +A **product** can be a good or service, or a combination +of them. + +**You** refers to the individual or entity agreeing to these +terms. + +**Your company** is any legal entity, sole proprietorship, +or other kind of organization that you work for, plus all +its affiliates. + +**Affiliates** means the other organizations than an +organization has control over, is under the control of, or is +under common control with. + +**Control** means ownership of substantially all the assets of +an entity, or the power to direct its management and policies +by vote, contract, or otherwise. Control can be direct or +indirect. + +**Your licenses** are all the licenses granted to you for the +software under these terms. + +**Use** means anything you do with the software requiring one +of your licenses. From d5e485286df8cee031c83367d5b29c0b6c2d1d6c Mon Sep 17 00:00:00 2001 From: gentlegiantJGC Date: Wed, 15 Dec 2021 11:33:48 +0000 Subject: [PATCH 4/6] Added a clause to allow commercial educational purposes --- LICENSE | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/LICENSE b/LICENSE index 8e2d17b73..8bd7d3e44 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,6 @@ Amulet Library License 1.0.0 # This is a combination of PolyForm Sheild and Noncommercial +# Added a clause to allow commercial educational usage ## Acceptance @@ -52,6 +53,10 @@ to license, that you would infringe by using the software. Any noncommercial purpose is a permitted purpose. +## Commercial Educational Purposes + +Commercial use purely for educational purpose is a permitted purpose. + ## Personal Uses Personal use for research, experiment, and testing for From 1df2ff6025bf985cc5174ecf3543e08834be9f41 Mon Sep 17 00:00:00 2001 From: gentlegiantJGC Date: Wed, 26 Oct 2022 15:23:09 +0100 Subject: [PATCH 5/6] Modified licence terms --- LICENSE | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/LICENSE b/LICENSE index 8bd7d3e44..ae997455b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Amulet Library License 1.0.0 +Amulet Team License 1.0.0 # This is a combination of PolyForm Sheild and Noncommercial # Added a clause to allow commercial educational usage @@ -33,9 +33,9 @@ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided -with the software. For example: +with the software. -> Required Notice: Copyright Yoyodyne, Inc. (http://example.com) +> Required Notice: Copyright Amulet Team. (https://www.amuletmc.com/) ## Changes and New Works License @@ -43,6 +43,11 @@ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose. +## Third Party Agreements + +Use or modification of our code in a way that violates a third +party's licence, terms or copyright is not a permitted purpose. + ## Patent License The licensor grants you a patent license for the software that @@ -171,7 +176,7 @@ terms. **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all -its affiliates. +its affiliates. **Affiliates** means the other organizations than an organization has control over, is under the control of, or is @@ -186,4 +191,4 @@ indirect. software under these terms. **Use** means anything you do with the software requiring one -of your licenses. +of your licenses. \ No newline at end of file From 24dcc449f8453b02dc3d2470549e2ecea8894f47 Mon Sep 17 00:00:00 2001 From: gentlegiantJGC Date: Wed, 26 Oct 2022 15:43:44 +0100 Subject: [PATCH 6/6] Modified terminology --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index ae997455b..949068c0c 100644 --- a/LICENSE +++ b/LICENSE @@ -45,7 +45,7 @@ permitted purpose. ## Third Party Agreements -Use or modification of our code in a way that violates a third +Use or modification of the software in a way that violates a third party's licence, terms or copyright is not a permitted purpose. ## Patent License