diff --git a/LICENSE b/LICENSE index aca8dfdad..88c3766f0 100644 --- a/LICENSE +++ b/LICENSE @@ -2,11 +2,11 @@ ## Overview -As of commit 25d5cc370207fd39e0c3bcaa69873b8fc6c60e68, the src/client directory of the OpenFront.io project has been relicensed from the MIT License to the GNU General Public License (GPL) version 3.0. The rest of the project remains under the MIT License unless otherwise specified. Assets in the `/non-commercial/` directory are licensed under CC BY-NC 4.0 with a commercial exemption for OpenFront LLC. Below are the details of all licenses and their applicability. +As of commit 25d5cc370207fd39e0c3bcaa69873b8fc6c60e68, the src/client directory of the OpenFront.io project has been relicensed from the MIT License to the GNU General Public License (GPL) version 3.0. The rest of the project remains under the MIT License unless otherwise specified. Below are the details of all licenses and their applicability. ## MIT License -**Applies to:** All parts of the OpenFront.io project except the src/client directory as of commit 25d5cc370207fd39e0c3bcaa69873b8fc6c60e68 (March 25 2025) and the `resources/non-commercial/` directory. +**Applies to:** All parts of the OpenFront.io project except the src/client directory as of commit 25d5cc370207fd39e0c3bcaa69873b8fc6c60e68 (March 25 2025). MIT License @@ -55,40 +55,16 @@ along with this program. If not, see . [Full text of the GPL v3.0 license can be found in src/client/LICENSE-GPL.txt, or at ] -## CC BY-NC 4.0 with Commercial Exemption - -**Applies to:** Assets in the `/non-commercial/` directory. - -CC BY-NC 4.0 with OpenFront LLC Commercial Exemption - -Copyright (c) 2025 OpenFront.io Team and Contributors - -This work is licensed under Creative Commons Attribution-NonCommercial 4.0 -International License with the following exception: - -**OpenFront LLC is granted unlimited commercial use rights for all purposes.** - -For all other parties, standard CC BY-NC 4.0 terms apply, which means: - -- **Attribution:** You must give appropriate credit -- **NonCommercial:** You may not use the material for commercial purposes -- **No additional restrictions:** You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits - -Full CC BY-NC 4.0 license text: https://creativecommons.org/licenses/by-nc/4.0/ - ## Important Notes - **MIT License:** A permissive license that allows users to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software with minimal restrictions, provided the copyright notice and permission notice are included. - **GPL v3.0:** A copyleft license that requires any derivative works or distributions of the src/client code to also be licensed under GPL v3.0 or later, ensuring that the source code remains open and freely available. -- **CC BY-NC 4.0 with Exemption:** Protects assets from commercial exploitation while allowing OpenFront LLC full commercial rights. Community use for non-commercial purposes is encouraged. - - **Mixed Licensing:** If you are combining code from src/client (GPL) with other parts of the project (MIT), the GPL's copyleft requirements may affect the licensing of the combined work. Consult a legal expert for specific guidance. - **Contributions:** - For contributions to src/client, ensure that all contributors agree to the GPL v3.0 terms. - - For contributions to `/non-commercial/`, contributors grant CC BY-NC rights to the public and commercial rights to OpenFront LLC as specified in our contribution guidelines. - For contributions to other directories, standard MIT terms apply. ## Contributing diff --git a/README.md b/README.md index 7aaa64991..96a41bc9b 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,6 @@ This project uses a multi-licensing approach: - Code in the `server/` and `core/` directory is licensed under MIT - Client code (in the `client/` directory) is licensed under GPL v3 -- Assets in resources/non-commercial are under CC BY-NC 4.0 with OpenFront LLC Commercial Exemption. By contributing assets to /non-commercial/, contributors agree that OpenFront LLC may use their contributions for commercial purposes while the contributions remain CC BY-NC 4.0 for all other parties. See LICENSE file for more details. diff --git a/resources/non-commercial/images/svg/MissileSiloIconWhite.svg b/resources/images/MissileSiloIconWhite.svg similarity index 100% rename from resources/non-commercial/images/svg/MissileSiloIconWhite.svg rename to resources/images/MissileSiloIconWhite.svg diff --git a/resources/non-commercial/images/svg/SamLauncherIconWhite.svg b/resources/images/SamLauncherIconWhite.svg similarity index 100% rename from resources/non-commercial/images/svg/SamLauncherIconWhite.svg rename to resources/images/SamLauncherIconWhite.svg diff --git a/resources/non-commercial/images/buildings/cityAlt1.png b/resources/images/buildings/cityAlt1.png similarity index 100% rename from resources/non-commercial/images/buildings/cityAlt1.png rename to resources/images/buildings/cityAlt1.png diff --git a/resources/non-commercial/images/buildings/factoryAlt1.png b/resources/images/buildings/factoryAlt1.png similarity index 100% rename from resources/non-commercial/images/buildings/factoryAlt1.png rename to resources/images/buildings/factoryAlt1.png diff --git a/resources/non-commercial/images/buildings/fortAlt2.png b/resources/images/buildings/fortAlt2.png similarity index 100% rename from resources/non-commercial/images/buildings/fortAlt2.png rename to resources/images/buildings/fortAlt2.png diff --git a/resources/non-commercial/images/buildings/fortAlt3.png b/resources/images/buildings/fortAlt3.png similarity index 100% rename from resources/non-commercial/images/buildings/fortAlt3.png rename to resources/images/buildings/fortAlt3.png diff --git a/resources/non-commercial/images/buildings/port1.png b/resources/images/buildings/port1.png similarity index 100% rename from resources/non-commercial/images/buildings/port1.png rename to resources/images/buildings/port1.png diff --git a/resources/non-commercial/images/buildings/silo1.png b/resources/images/buildings/silo1.png similarity index 100% rename from resources/non-commercial/images/buildings/silo1.png rename to resources/images/buildings/silo1.png diff --git a/resources/non-commercial/images/buildings/silo4.png b/resources/images/buildings/silo4.png similarity index 100% rename from resources/non-commercial/images/buildings/silo4.png rename to resources/images/buildings/silo4.png diff --git a/resources/non-commercial/LICENSE b/resources/non-commercial/LICENSE deleted file mode 100644 index 1ace40d42..000000000 --- a/resources/non-commercial/LICENSE +++ /dev/null @@ -1,48 +0,0 @@ -Creative Commons Non-Commercial License Agreement - -With Commercial Exemption for OpenFront LLC -This License Agreement (“Agreement”) is entered into by and between the Licensor and the public users of the Licensed Work, subject to the terms described below. - -1. Definitions - (a) “Licensor” means Evan Ray Pellegrini, on behalf of OpenFront LLC. - (b) “Licensee” means any natural or legal person who receives the Licensed Work under this Agreement. - (c) “Licensed Work” refers to the creative assets including but not limited to images, sounds, and music created by or for OpenFront LLC and distributed under this Agreement. - (d) “Non-Commercial” means not primarily intended for or directed toward commercial advantage or monetary compensation. - (e) “Commercial Use” means use of the Licensed Work for monetary compensation, financial gain, or other commercial advantage. - (f) “Exempt Commercial Use” means use of the Licensed Work by OpenFront LLC or its authorized agents, licensees, or contractors for any commercial purpose. - -2. License Grant (Non-Commercial Use) - Subject to the terms and conditions of this Agreement, Licensor hereby grants to Licensee a worldwide, royalty-free, non-exclusive, revocable license to use, copy, distribute, publicly perform, publicly display, and create derivative works of the Licensed Work solely for Non-Commercial purposes, provided that proper attribution is given as required under Section 4. - -3. Commercial Use Exemption for OpenFront LLC - Notwithstanding Section 2, OpenFront LLC, including its owners, employees, contractors, sublicensees, and assigns, is expressly exempt from the Non-Commercial restriction. OpenFront LLC is granted an unrestricted, irrevocable, worldwide, royalty-free, exclusive right to use, copy, modify, distribute, sublicense, and commercially exploit the Licensed Work, including in derivative or combined works. - -4. Attribution - Licensee must provide proper attribution to the Licensor as follows: - “Asset created by Evan Ray Pellegrini for OpenFront LLC – used under Creative Commons Non-Commercial License (CC NC) with Commercial Exemption in favor of OpenFront LLC.” - Attribution must be included in any reasonable manner, but not in any way that suggests the Licensor endorses the Licensee or its use. - -5. Restrictions - Licensee shall not: - (a) use the Licensed Work for Commercial Use unless specifically authorized by Licensor in writing; - (b) sublicense or assign the Licensed Work for Commercial Use; - (c) remove, obscure, or modify any copyright, trademark, or attribution notice. - -6. No Warranties - The Licensed Work is provided “AS IS,” without warranty of any kind. Licensor disclaims all warranties, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement. - -7. Termination - This license terminates automatically if Licensee breaches any of its terms. Upon termination, Licensee must cease all use and destroy any copies of the Licensed Work in their possession. - -8. Governing Law - This Agreement shall be governed by and construed in accordance with the laws of the State of California, without regard to its conflict of law principles. - -9. Entire Agreement - This Agreement constitutes the entire understanding between the parties and supersedes all prior agreements regarding the subject matter hereof. - -IN WITNESS WHEREOF, this Creative Commons Non-Commercial License Agreement is made effective as of the date the Licensed Work is first used or accessed. -Licensor: -Evan Ray Pellegrini -on behalf of OpenFront LLC -2108 N ST STE N -SACRAMENTO CA 95816 diff --git a/resources/non-commercial/svg/MissileSiloIconWhite.svg b/resources/non-commercial/svg/MissileSiloIconWhite.svg deleted file mode 100644 index d55a9d6d8..000000000 --- a/resources/non-commercial/svg/MissileSiloIconWhite.svg +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - diff --git a/resources/non-commercial/svg/SamLauncherIconWhite.svg b/resources/non-commercial/svg/SamLauncherIconWhite.svg deleted file mode 100644 index 7d127b47d..000000000 --- a/resources/non-commercial/svg/SamLauncherIconWhite.svg +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/client/graphics/layers/BuildMenu.ts b/src/client/graphics/layers/BuildMenu.ts index 9399218e9..46adc3367 100644 --- a/src/client/graphics/layers/BuildMenu.ts +++ b/src/client/graphics/layers/BuildMenu.ts @@ -5,12 +5,12 @@ import cityIcon from "../../../../resources/images/CityIconWhite.svg"; import factoryIcon from "../../../../resources/images/FactoryIconWhite.svg"; import goldCoinIcon from "../../../../resources/images/GoldCoinIcon.svg"; import mirvIcon from "../../../../resources/images/MIRVIcon.svg"; +import missileSiloIcon from "../../../../resources/images/MissileSiloIconWhite.svg"; import hydrogenBombIcon from "../../../../resources/images/MushroomCloudIconWhite.svg"; import atomBombIcon from "../../../../resources/images/NukeIconWhite.svg"; import portIcon from "../../../../resources/images/PortIcon.svg"; +import samlauncherIcon from "../../../../resources/images/SamLauncherIconWhite.svg"; import shieldIcon from "../../../../resources/images/ShieldIconWhite.svg"; -import missileSiloIcon from "../../../../resources/non-commercial/svg/MissileSiloIconWhite.svg"; -import samlauncherIcon from "../../../../resources/non-commercial/svg/SamLauncherIconWhite.svg"; import { translateText } from "../../../client/Utils"; import { EventBus } from "../../../core/EventBus"; import { diff --git a/src/client/graphics/layers/StructureLayer.ts b/src/client/graphics/layers/StructureLayer.ts index f999edf09..b4d056979 100644 --- a/src/client/graphics/layers/StructureLayer.ts +++ b/src/client/graphics/layers/StructureLayer.ts @@ -4,12 +4,12 @@ import { EventBus } from "../../../core/EventBus"; import { TransformHandler } from "../TransformHandler"; import { Layer } from "./Layer"; -import cityIcon from "../../../../resources/non-commercial/images/buildings/cityAlt1.png"; -import factoryIcon from "../../../../resources/non-commercial/images/buildings/factoryAlt1.png"; -import shieldIcon from "../../../../resources/non-commercial/images/buildings/fortAlt3.png"; -import anchorIcon from "../../../../resources/non-commercial/images/buildings/port1.png"; -import missileSiloIcon from "../../../../resources/non-commercial/images/buildings/silo1.png"; -import SAMMissileIcon from "../../../../resources/non-commercial/images/buildings/silo4.png"; +import cityIcon from "../../../../resources/images/buildings/cityAlt1.png"; +import factoryIcon from "../../../../resources/images/buildings/factoryAlt1.png"; +import shieldIcon from "../../../../resources/images/buildings/fortAlt3.png"; +import anchorIcon from "../../../../resources/images/buildings/port1.png"; +import missileSiloIcon from "../../../../resources/images/buildings/silo1.png"; +import SAMMissileIcon from "../../../../resources/images/buildings/silo4.png"; import { Cell, UnitType } from "../../../core/game/Game"; import { euclDistFN, isometricDistFN } from "../../../core/game/GameMap"; import { GameUpdateType } from "../../../core/game/GameUpdates"; diff --git a/src/client/graphics/layers/UnitDisplay.ts b/src/client/graphics/layers/UnitDisplay.ts index 970653487..7cc669313 100644 --- a/src/client/graphics/layers/UnitDisplay.ts +++ b/src/client/graphics/layers/UnitDisplay.ts @@ -4,8 +4,8 @@ import portIcon from "../../../../resources/images/AnchorIcon.png"; import cityIcon from "../../../../resources/images/CityIconWhite.svg"; import factoryIcon from "../../../../resources/images/FactoryIconWhite.svg"; import missileSiloIcon from "../../../../resources/images/MissileSiloUnit.png"; +import samLauncherIcon from "../../../../resources/images/SamLauncherIconWhite.svg"; import defensePostIcon from "../../../../resources/images/ShieldIconWhite.svg"; -import samLauncherIcon from "../../../../resources/non-commercial/svg/SamLauncherIconWhite.svg"; import { EventBus } from "../../../core/EventBus"; import { UnitType } from "../../../core/game/Game"; import { GameView } from "../../../core/game/GameView"; diff --git a/src/client/styles.css b/src/client/styles.css index 6afaafe46..25ca065e4 100644 --- a/src/client/styles.css +++ b/src/client/styles.css @@ -396,13 +396,13 @@ label.option-card:hover { } #helpModal .missile-silo-icon { - mask: url("../../resources/non-commercial/svg/MissileSiloIconWhite.svg") - no-repeat center / cover; + mask: url("../../resources/images/MissileSiloIconWhite.svg") no-repeat + center / cover; } #helpModal .sam-launcher-icon { - mask: url("../../resources/non-commercial/svg/SamLauncherIconWhite.svg") - no-repeat center / cover; + mask: url("../../resources/images/SamLauncherIconWhite.svg") no-repeat + center / cover; } #helpModal .atom-bomb-icon {