From f74478879362506525ceae3a686ceab97e565632 Mon Sep 17 00:00:00 2001 From: evanpelle Date: Sun, 28 Sep 2025 17:47:05 -0700 Subject: [PATCH] create proprietary directory (#2112) ## Description: Assets in the proprietary directory are copyrighted by OpenFront. ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced ## Please put your Discord username so you can be contacted if a bug or regression is found: evan --- LICENSE-ASSETS | 45 ++++++++++++++++++++++++++++++++++++--------- LICENSING.md | 17 +++++++++++++++++ proprietary/LICENSE | 43 +++++++++++++++++++++++++++++++++++++++++++ resources/LICENSE | 2 +- tsconfig.json | 1 + webpack.config.js | 5 +++++ 6 files changed, 103 insertions(+), 10 deletions(-) create mode 100644 proprietary/LICENSE diff --git a/LICENSE-ASSETS b/LICENSE-ASSETS index b16e74ece..97c70b2b4 100644 --- a/LICENSE-ASSETS +++ b/LICENSE-ASSETS @@ -1,6 +1,8 @@ -# Asset License - Creative Commons BY-SA 4.0 +# Asset License -This license applies to all non-code assets in this repository, including but not limited to: +## Open Assets (/resources) - Creative Commons BY-SA 4.0 + +Assets in the `/resources` directory are licensed under Creative Commons BY-SA 4.0, including but not limited to: - Graphics, sprites, and images (*.png, *.jpg, *.svg, etc.) - 3D models and textures (*.obj, *.fbx, *.blend, etc.) - Audio files (*.mp3, *.ogg, *.wav, etc.) @@ -8,12 +10,37 @@ This license applies to all non-code assets in this repository, including but no - Font files - Level/map data files -This license does NOT apply to: -- Source code files (*.js, *.ts, *.py, etc.) - see LICENSE for code licensing -- Configuration files that contain code -- Scripts and shaders - -Attribution required: "OpenFront.io" or "OpenFront LLC" +Attribution required: "OpenFront" or "OpenFront LLC" To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ -or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. \ No newline at end of file +or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. + +## Proprietary Assets (/proprietary) - All Rights Reserved + +Assets in the `/proprietary` directory are: +- Copyright © 2024-2025 OpenFront LLC and Contributors +- All Rights Reserved +- NOT licensed for use, modification, or redistribution outside of OpenFront +- May only be used as part of the complete OpenFront software package + +See `/proprietary/LICENSE` for full terms. + +## External/Proprietary Assets (Not in Repository) + +The following assets are NOT included in this repository and are NOT covered by any open source license: +- Assets hosted on our CDN/servers +- Assets stored in our database +- Premium skins, models, and textures accessed via API +- Sound effects and music accessed via API +- Any assets not explicitly included in this repository + +These external assets are proprietary property of OpenFront LLC. + +## Important Legal Notice + +- The CC BY-SA 4.0 license applies ONLY to assets in the `/resources` directory +- Assets in `/proprietary` are restricted use - see their specific LICENSE +- External assets not in this repository remain fully proprietary +- Accessing, downloading, extracting, or using proprietary assets without permission is prohibited + +For source code licensing, see LICENSE and LICENSING.md files. \ No newline at end of file diff --git a/LICENSING.md b/LICENSING.md index d23d6e029..cfb7b072e 100644 --- a/LICENSING.md +++ b/LICENSING.md @@ -39,6 +39,22 @@ This document provides comprehensive licensing information for the OpenFront.io - Added Creative Commons BY-SA 4.0 for all assets - All new code is AGPL v3.0 only +### Phase 4: Mixed Asset Licensing + +- **Starting After:** c2cf2ce65f74ac91859f68a84aec89aeda5722ee +- **Date:** September 28, 2025 +- **Licenses:** + - **Code:** AGPL v3.0 (unchanged from Phase 3) + - **Open Assets (/resources):** Creative Commons BY-SA 4.0 (unchanged from Phase 3) + - **Proprietary Assets (/proprietary):** All Rights Reserved +- **Copyright Holders:** OpenFront LLC and Contributors +- **Changes:** + - Added `/proprietary` directory for copyrighted assets + - Established dual-track asset licensing structure + - Open assets in `/resources` remain CC BY-SA 4.0 + - Proprietary assets override open assets during build process + - Contributors retain copyright while granting usage rights to OpenFront LLC + ## Important Notes ### For Code: @@ -69,6 +85,7 @@ All assets included in this repository (graphics, sounds, music, models) are lic - Premium skins, models, and textures - Sound effects and music accessed via API - Any assets not explicitly included in this repository +- Any asset in the proprietary/ folder These external assets are: diff --git a/proprietary/LICENSE b/proprietary/LICENSE new file mode 100644 index 000000000..0b565d802 --- /dev/null +++ b/proprietary/LICENSE @@ -0,0 +1,43 @@ +Copyright (c) 2025 OpenFront LLC and Contributors +All Rights Reserved. + +PROPRIETARY ASSET LICENSE + +The assets in this directory are proprietary and protected by copyright. +Copyright holders retain their individual copyrights. + +PERMITTED USE: +- You may use these assets for development, testing, and contribution purposes to OpenFront +- You may use these assets solely as part of the complete OpenFront software package +- You may view and study these assets for personal educational purposes +- You may run, compile, and test the software containing these assets + +RESTRICTIONS: +You may NOT: +- Extract, copy, or use these assets in any other project or work +- Modify, alter, or create derivative works of these assets for redistribution +- Redistribute, sublicense, sell, or transfer these assets separately from OpenFront +- Use these assets for any commercial purpose outside of running OpenFront +- Remove or alter any copyright notices or this license + +CONTRIBUTIONS: +By contributing assets to this directory, you: +- Retain copyright to your original work +- Grant OpenFront LLC a perpetual, worldwide, non-exclusive, royalty-free license to use, + modify, and distribute your contributions as part of OpenFront +- Agree that your contributions will be distributed under this restrictive license +- Warrant that you have the right to grant these permissions + +ATTRIBUTION: +Individual asset copyrights are held by their respective creators. +See CONTRIBUTORS.md for attribution details. + +NO WARRANTY: +THE ASSETS ARE 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 +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 ASSETS OR THE USE OR OTHER DEALINGS IN THE ASSETS. + +For questions regarding licensing or commercial use, contact: legal@openfront.io \ No newline at end of file diff --git a/resources/LICENSE b/resources/LICENSE index 3c22a2653..cfb507f3c 100644 --- a/resources/LICENSE +++ b/resources/LICENSE @@ -1,4 +1,4 @@ -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +This work in this directory is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 7c73290f3..01034daca 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,6 +26,7 @@ "include": [ "src/**/*", "resources/**/*", + "proprietary/**/*", "generated/**/*", "tests/**/*", "src/scripts" diff --git a/webpack.config.js b/webpack.config.js index bf929b3fa..8ad10dd62 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -138,6 +138,11 @@ export default async (env, argv) => { to: path.resolve(__dirname, "static"), noErrorOnMissing: true, }, + { + from: path.resolve(__dirname, "proprietary"), + to: path.resolve(__dirname, "static"), + noErrorOnMissing: true, + }, ], options: { concurrency: 100 }, }),