Open dan-servita-team opened 2 months ago
// This project uses the FastLED library. // FastLED is licensed under the MIT License. // Copyright (c) 2013 FastLED // For more information, visit https://github.com/FastLED/FastLED
When you use LGPL-3.0 libraries in your project, the licensing requirements depend on how you use those libraries. Here are the key points for static linking:
If you statically link to LGPL-3.0 libraries, the combined work (your application and the library) must comply with LGPL-3.0. This has the following implications:
README.md Example:
# My Project
This project is licensed under the CC BY-NC License. However, it includes certain third-party libraries that are licensed under the LGPL-3.0.
## Third-Party Libraries
### AsyncTCP
AsyncTCP is a library for asynchronous TCP communication for ESP32, created by Me-No-Dev. It is licensed under the LGPL-3.0 License.
For more information, visit the [AsyncTCP GitHub repository](https://github.com/me-no-dev/AsyncTCP).
### ESPAsyncWebServer
ESPAsyncWebServer is an asynchronous web server library for ESP8266 and ESP32, created by Me-No-Dev. It is licensed under the LGPL-3.0 License.
For more information, visit the [ESPAsyncWebServer GitHub repository](https://github.com/me-no-dev/ESPAsyncWebServer).
## Licensing Information
- **My Project**: Licensed under the CC BY-NC License.
- **AsyncTCP and ESPAsyncWebServer**: Licensed under the LGPL-3.0 License.
For the full license texts, see the `LICENSE` directory.
LICENSE Directory Structure:
LICENSE/
├── CC_BY_NC.txt
├── LGPL-3.0-AsyncTCP.txt
└── LGPL-3.0-ESPAsyncWebServer.txt
Attribution in Source Code:
// File: network_module.cpp
// This file uses the AsyncTCP library.
// AsyncTCP is licensed under the LGPL-3.0 License.
// Copyright (c) 2017 Me-No-Dev
// For more information, visit https://github.com/me-no-dev/AsyncTCP
#include <AsyncTCP.h>
By dynamically linking LGPL-3.0 libraries or properly managing static linking requirements, you can use LGPL-3.0 libraries in your project without forcing your entire codebase under LGPL-3.0. Instead, you can keep your primary codebase under CC BY-NC while ensuring compliance with LGPL-3.0 for the sections of your project that use these libraries. Proper documentation and clear separation of licenses are crucial in maintaining this compliance.
// File: main.cpp
// This project uses the AsyncTCP library. // AsyncTCP is licensed under the LGPL-3.0 License. // Copyright (c) 2017 Me-No-Dev // For more information, visit https://github.com/me-no-dev/AsyncTCP
We need to attribute any libraries which require it in the code, along with insert our copyright statement which I will get together.