Tag Designs Firmware: Licenses
The project's firmware source is Copyright (c) 2018-2026 The Trustees of Indiana University and licensed under the MIT License. Some base-firmware files carry their own notice, "Copyright 2018 Geoffrey Brown, Licensed under the Apache License, Version 2.0", and remain under that license.
The firmware includes the third-party software listed below, each used under its own license. Every component has a notice file linked in the first column. That file gives its copyright, where it is used and where its source is, and holds its full license text or names the shared text in texts/.
Firmware images are distributed under the GNU GPL, version 3
Every tag and base-board firmware image links the ChibiOS/RT
kernel, which is licensed under the GPL, version 3 only. The firmware images
(.elf, .bin, .hex) are therefore distributed under the
GNU General Public License, version 3. The project's
own code in them remains available under the MIT License.
The external flash loaders contain no GPL code. They consist of the project's MIT code, the Apache-2.0 ChibiOS/HAL and CMSIS, and the ST device headers.
Source code. The complete corresponding source of every image is the Tag
Designs software repository, https://github.com/tag-designs/software, at the
release tag it was built from (fw-vX.Y for firmware, vX.Y for loaders).
The ChibiOS submodule is at the commit that tag records, which is also written
into each image's *-build-manifest.json; ChibiOS itself is at
https://github.com/ChibiOS/ChibiOS. The repository contains the build scripts,
linker scripts, and generated board and nanopb sources used to build the
images. This offer is valid for at least three years from the release date,
for anyone who receives the images.
Third-party software
| Component | Version | License | Used in |
|---|---|---|---|
| ChibiOS/RT kernel, OS library, Cortex-M ports | 2021.11.5 | GPL-3.0-only | tag and base firmware |
| ChibiOS/HAL, OSAL, STM32 ports, startup, streams | 9.1.0 | Apache-2.0 | all firmware and loaders |
| Arm CMSIS Core(M) | 5 | Apache-2.0 | all firmware and loaders |
| ST CMSIS device headers, STM32L4xx | — | BSD-3-Clause | STM32L432 tags and loaders |
| ST CMSIS device headers, STM32U3xx and STM32C0xx | 1.2.0, 1.3.0 | Apache-2.0 | STM32U375 tags and loaders; C071 base |
| ST CMSIS device headers, STM32F0xx | — | BSD-3-Clause | F042 base |
| nanopb runtime (pb_common.c, pb_decode.c, pb_encode.c) | 0.4.9.1 | Zlib | tag firmware; tag-breakout-base-l432-u375-1v8 |
| Bosch BMP5 SensorAPI | 1.5.0 | BSD-3-Clause | UIUCTag, IMUTagNandBmp581 |
| Bosch BMM350 SensorAPI (portions) | 1.10.0 | BSD-3-Clause | IMUTagNandBmp581 |
| stlink stlink.h | — | BSD-3-Clause | base firmware |
| Arm debug_cm.h | — | Apache-2.0 | base firmware |
| ST LL CRS headers | — | BSD-3-Clause | base firmware |
| newlib (memcpy, memset, memmove, strncpy) and libgcc | 14.2.Rel1 | BSD-3-Clause and newlib notice; GCC Runtime Library Exception | tag firmware |
License texts
| Text | File |
|---|---|
| MIT License (this project) | LICENSE |
| GNU General Public License v3 | texts/GPL-3.0-only.txt |
| Apache License 2.0 | texts/Apache-2.0.txt |
The BSD and Zlib licenses are reproduced in full, with their copyright notices, in each component's file.