A community developer has requested SpacemiT to release the source code of its modified OpenOCD required for K3 JTAG debugging, citing GPLv2 obligations. This highlights the broader importance of open-source compliance in the RISC-V ecosystem.
The developer noted that K3 JTAG debugging appears to require this specific modified version, as the patches have not yet been upstreamed to the official OpenOCD repository. Despite searching, no public source repository for SpacemiT's OpenOCD fork could be found.
The GNU General Public License v2 is clear: if you distribute a binary that includes GPLv2-licensed code, you must also provide or make available the corresponding source code. This is not optional -- it is a legal requirement of the license. Section 3 of the GPLv2 states that distributing object code without source code is a violation of the license terms.
For a company distributing modified open-source tools, compliance means:The SpacemiT K3 is an impressive SoC -- 8 X100 RISC-V cores at 2.4 GHz plus 8 A100 AI cores delivering 60 TOPS, with RVA23 compliance and Jetson pin compatibility. But for developers building on this platform, having proper debugging tools is essential.
Community members have already begun building DIY JTAG solutions using off-the-shelf components like the FT2232H Mini Module and SparkFun MicroSD breakout. However, these DIY approaches require a working OpenOCD with the necessary K3 target support patches.This situation is not unique to SpacemiT. As the RISC-V ecosystem grows, many vendors face the challenge of balancing proprietary optimizations with open-source license obligations. The key areas where source release matters include:
| Component | License | Impact |
|---|---|---|
| OpenOCD forks | GPLv2 | Debugging toolchain for all developers |
| U-Boot patches | GPLv2 | Bootloader customization |
| Linux kernel drivers | GPLv2 | Hardware support and driver development |
| LLVM/Clang patches | Apache 2.0 | Compiler optimization for RISC-V extensions |
For the CH32V series (CH32V003, CH32V208, CH32V307, CH32V317, CH32V407) and the CH32H417, this means developers have multiple paths to productive development -- either through the official IDE or through custom toolchain integration.
For the RISC-V ecosystem to thrive, vendors should:
smt.vmadot) instruction set is critical for AI workloads, and clear documentation enables community-driven optimization like the ORT MatMulNBits work.If you need K3 JTAG debugging and cannot find the modified OpenOCD source: