diff --git a/LICENSE.md b/LICENSE.md index 2f38931c..802d14ab 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,52 +1,95 @@ Serial Studio License -===================== +===================== This software is dual-licensed under the GNU General Public License v3 (GPLv3) for open-source users and a Commercial License for business and professional -users. See below for details. +users. See below for details. -GNU General Public License v3 (GPLv3) -===================================== +GNU General Public License v3 (GPLv3) +===================================== This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later -version. +version. -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -more details. +This program is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program. If not, see . +this program. If not, see . -### GPLv3 Limitations -- Users of the GPLv3 license may only use this software for personal or - open-source projects in compliance with the GPLv3 terms. -- Under the GPLv3 license, the software must be restarted every 30 minutes - to continue working. -- The number of dashboard widgets may be limited for GPLv3 users. -- MQTT streaming is not available for GPLv3 users. +### GPLv3 Features +Under the GPLv3 license, you may: +- Use the software for personal, educational, or open-source projects, in + compliance with the GPLv3 terms. +- Access the core functionality of Serial Studio without feature restrictions. -Commercial License -================== -For business or professional use, a Commercial License is required. -Commercial users benefit from: -- Unlimited usage of the software without time restrictions. -- Access to MQTT streaming and unrestricted dashboard widgets. -- Priority support, including email, GitHub, and video call assistance. +#### Additional Notice for GPLv3 Users: +- **Session Continuity Beyond 30 Minutes:** Once the dashboard is displayed, the + software will prompt the user every 30 minutes to restart the application to + continue using it. This is a user notification to encourage consideration of + the Commercial License and does not impose technical restrictions. + Users are free to modify the source code to remove this prompt in compliance + with the GPLv3. +- **MQTT Functionality:** MQTT integration is available exclusively under the + Commercial License and is not included in the GPLv3 version. -### Commercial License Limitations +**Value-Added Services**: These optional features are enhancements that go +beyond the core functionality of Serial Studio. They are offered as part of the +Commercial License to provide additional integrations, better user experience, +or specialized support. + +Commercial License +================== +For business or professional use, purchasing a Commercial License is required. + +#### Benefits for Commercial Users: +- Full access to **MQTT functionality**. +- Unlimited session continuity (no 30-minute restart reminders). +- Priority support via email, GitHub, and video calls. + +#### Scope of Use: +Commercial users may use the software in business, enterprise, or proprietary +applications while complying with the restrictions outlined below. + +#### Commercial License Limitations: - Commercial users may not repackage, modify, rebrand, or redistribute the - software under a different name or identity without explicit, written - permission from the original author. -- Commercial users may use the software in their business or enterprise - applications, provided they comply with the above restrictions. + software under a different name or identity without explicit, written + permission from the original author. +- Modifications and redistributions under the Commercial License must respect + the original author's intellectual property and trademarks. -For details on the Commercial License or to purchase a license, visit the -official website (https://serial-studio.com). +Additional Notes +================ -Contact -======= -For questions, licensing inquiries, or support, contact: -alex@serial-studio.com. +- **Trademark Notice:** The name "Serial Studio" and its logo are trademarks of + the author. Use of these trademarks in modified versions or derivative works + requires explicit permission. +- **Technical Support:** Support is exclusively available for Commercial License + users. Open-source users are encouraged to consult the documentation, + and the community forums (issues & discussions) available in the GitHub + repository. +- **Modifications under GPLv3:** Users modifying the software under the GPLv3 + license are responsible for ensuring compatibility with future updates or + feature stability. + +Examples of Permitted and Prohibited Use +======================================== + +**Permitted under GPLv3:** +- Running Serial Studio for an university research project. +- Including it in an open-source IoT platform. +- Using it for personal and non-commercial projects. + +**Prohibited without a Commercial License:** +- Using Serial Studio as part of a commercial product offered to customers. +- Deploying Serial Studio in an enterprise environment without purchasing the + Commercial License. + +### For More Information + +To learn more about the Commercial License or purchase a license, visit the +official website: . + +For questions, licensing inquiries, or support, email: diff --git a/README.md b/README.md index 428b9312..144c3368 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Serial Studio - + diff --git a/app/src/main.cpp b/app/src/main.cpp index d1b330eb..d09e4968 100644 --- a/app/src/main.cpp +++ b/app/src/main.cpp @@ -207,27 +207,23 @@ static void setupAppImageIcon(const QString &appExecutableName, const QString pixmapFile = pixmapPath + appExecutableName + ".png"; // clang-format on - // Check if the icon file already exists to avoid redundant copying - if (!QFileInfo::exists(pixmapFile)) + // Ensure the directory exists; create it if it doesn't + QDir dir; + if (!dir.exists(pixmapPath) && !dir.mkpath(pixmapPath)) + return; + + // Copy the icon from resources to the destination + QFile resourceFile(iconResourcePath); + if (resourceFile.open(QIODevice::ReadOnly)) { - // Ensure the directory exists; create it if it doesn't - QDir dir; - if (!dir.exists(pixmapPath) && !dir.mkpath(pixmapPath)) - return; - - // Copy the icon from resources to the destination - QFile resourceFile(iconResourcePath); - if (resourceFile.open(QIODevice::ReadOnly)) + QFile localFile(pixmapFile); + if (localFile.open(QIODevice::WriteOnly)) { - QFile localFile(pixmapFile); - if (localFile.open(QIODevice::WriteOnly)) - { - localFile.write(resourceFile.readAll()); - localFile.close(); - } - - resourceFile.close(); + localFile.write(resourceFile.readAll()); + localFile.close(); } + + resourceFile.close(); } } #endif diff --git a/doc/assets/README.md b/doc/assets/README.md index 4182c75c..c729589b 100644 --- a/doc/assets/README.md +++ b/doc/assets/README.md @@ -4,7 +4,7 @@ This folder contains design assets, including the featured `icon_scaled.svg` fil ## Icon Preview -![icon_scaled.svg preview](icon_scaled.svg) + ## Credits & License