<p align="center">
<img src="./rlvgl-logo.png" alt="rlvgl" />
</p>
# Notices & Third-Party Licenses
This repository contains third-party materials. Unless otherwise noted, **Softoboros-authored code** is under the top-level **MIT** license (`LICENSE`). Materials listed below retain their **original licenses** and attribution requirements.
---
## STM32 Open Pin Data (BSD-3-Clause)
**Upstream project:** STMicroelectronics — “STM32_open_pin_data”
**License:** BSD-3-Clause (see `chips/stm/STM32_open_pin_data/LICENSE`)
**Copyright:** © 2020 STMicroelectronics
**Provenance (fill when pinned):**
- Upstream commit: `3d64b1076ac7f0bf0f74acf89b9578b530f37ed7`
- Retrieved via: Git submodule at `chips/stm/STM32_open_pin_data` (read-only)
- Reference : CubeMX DBVersion `6.15.0`
**Local paths covered by this notice:**
- `chips/stm/STM32_open_pin_data/` — **verbatim upstream** content.
- `chips/stm/mcu/` — **derived** canonicalized MCU pin/AF data generated from the upstream.
- `chips/stm/boards/` — **derived** board-level descriptions constructed from the upstream MCU data and public board docs.
- [`chips/stm/bsps/`](chips/stm/bsps/README.md) — **generated** Rust BSP sources that incorporate/express upstream-derived mappings.
- [`chipdb/rlvgl-chips-stm/assets/`](chipdb/rlvgl-chips-stm/assets/README.md) — **embedded** compressed database artifacts (e.g., `*.tar.zst`) built from the upstream data.
- `chipdb/rlvgl-chips-stm/db/` — **intermediate/derived** JSON or similar records produced from upstream.
- `chipdb/rlvgl-chips-stm/src/` — crate code that **accesses** the embedded upstream-derived data.
**How this material is used here:**
- Upstream XML/CSV is normalized into canonical JSON (AF/pin/signals).
- Those canonical records are packaged into compressed artifacts for use at build/run time.
- BSP code is generated (HAL and PAC forms) that **expresses** pinmux/AF selections; these files include attribution headers.
**Attribution in generated files:**
All generated files that include or express upstream-derived content carry an SPDX header similar to:
```text
/* Auto-generated by rlvgl-creator
* SPDX-FileCopyrightText: 2020 STMicroelectronics
* SPDX-FileCopyrightText: 2025 Softoboros Technology, Inc.
* SPDX-License-Identifier: BSD-3-Clause AND MIT
* Provenance: STM32_open_pin_data ( commit 3d64b1076ac7f0bf0f74acf89b9578b530f37ed7 ), build <build-hash>.
*/
```
> Notes:
> - “AND MIT” appears when the generated file also includes Softoboros code elements (helpers/shims) licensed under MIT in this repository.
> - Redistribution of any package or artifact containing these files must retain the **BSD-3-Clause** notice from ST and the **MIT** notice from Softoboros.
**Trademarks / endorsement:**
STM32 and related marks are trademarks of STMicroelectronics. Use here is descriptive only and does **not** imply endorsement.
---
## Softoboros Additions / Code Generators
**Projects:** rlvgl-creator, templates, and helper code
**License:** MIT (see top-level `LICENSE`)
**Copyright:** © 2025 Softoboros Technology, Inc.
These components transform publicly available STM data into canonical databases and generate BSP code (HAL/PAC). Where they combine with upstream-derived content in a single distributed artifact, that artifact is effectively **MIT AND BSD-3-Clause**.
---
## How to add a new vendor notice (for future additions)
When adding vendor-specific data:
1. Place the vendor’s license text in the relevant subtree (e.g., `vendor_data/<vendor>/LICENSE.*`).
2. Add a section like the STM one above with:
- Upstream name, license, and copyright
- Provenance (source URL/commit, version)
- Local paths covered
- How it’s used/derived
3. Ensure generated files that include vendor-derived content carry an appropriate SPDX header:
```
// SPDX-FileCopyrightText: <year> <Vendor or Copyright Holder>
// SPDX-FileCopyrightText: 2025 Softoboros Technology, Inc.
// SPDX-License-Identifier: <Vendor-License> AND MIT
```
4. Include the vendor license text in any published crate that **embeds** the derived data (e.g., under `LICENSES/` in the crate package).
---
## Summary (current state)
- **Top-level code:** MIT
- **STM-related subtrees:** BSD-3-Clause (ST) for upstream and derived data; Softoboros additions under MIT; distributed artifacts may therefore be **MIT AND BSD-3-Clause**.
- **Crates to check when publishing:**
- `chipdb/rlvgl-chips-stm` → should include BSD-3 text and this `NOTICES.md` in the crate package.
- Any crate that ships generated BSP modules under [`chips/stm/bsps`](chips/stm/bsps/README.md) should do the same.
---
> Keep this file in sync with the submodule commit and any new generated artifacts that include upstream-derived content.