Licenses
This document enumerates the components which are part of a BlocksDS toolchain and their licenses. This is useful if you want to release a binary built with BlocksDS and you aren’t sure about what copyright notices you need to add.
Note that this document does not constitute legal advice. It is a simplified enumeration of project licenses, not a grant of licensing terms in its own right. In no event will the BlocksDS project or its authors be held liable for any damages arising from errors or mistakes in this information.
These libraries are present in the BlocksDS source tree.
This is used in the default ARM7 binary.
MIT license. You must include the following copyright notice with your program, as well as the MIT license terms:
Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org
Copyright (c) 2006-2018 Dave Murphy (WinterMute)
Copyright (C) 2025 Antonio Niño Díaz
This is used in all programs that use the default crts, ARM7 binary, etc.
Zlib license. No copyright notice required in binary distributions.
FatFs uses a custom BSD/MIT/ISC-like license that doesn’t require attribution in binary files either.
This is only used if the user explicitly links it.
MIT license. You must include the following copyright notice with your program, as well as the MIT license terms:
Copyright (C) 2018 sverx
This is used in the default ARM7 binary.
ISC license. You must include the following copyright notice with your program:
Copyright (c) 2008, Mukunda Johnson (mukunda@maxmod.org)
This code is used in any program unless the user explicitly provides an alternative.
You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License.
The source code for crts is available here.
This is used in any project that doesn’t include source code for an ARM7 binary.
The core itself is licensed under the Zlib license. No copyright notice required in binary distributions.
However, the default ARM7 core uses DSWiFi and Maxmod, so you need to give credit according to their licenses. Other ARM7 cores use other combinations of libraries. For example, some use LibXM7 instead of Maxmod, and some don’t use DSWiFi at all. You need to only give credit for the libraries present in your core.
These libraries are not present in the BlocksDS source tree or packages, but are used when creating a BlocksDS application.
This library is always used unless you tell the compiler to not link libc at all.
picolibc is a fork of newlib licensed under a variety of MIT- and BSD-like licenses. Citing the README:
While much of the code comes from Newlib, none of the GPL-related bits used to build the library are left in the repository, so all of the source code uses BSD-like licenses, a mixture of 2- and 3- clause BSD itself and a variety of other (mostly older) licenses with similar terms.
For more information, take a look at COPYING.picolibc
in the picolibc
repository
here.
This library is used, by default, in any C++ program or program that is linked with a C++ library, unless you tell the compiler to not link default libraries at all.
It uses the GPL 3.0 license with a runtime library exception. This exception allows libstdc++ to be used in non-GPL-licensed binaries without infringing on the license; citing the FAQ:
The special exception permits use of the library in proprietary applications.
[…] what restrictions are there on programs that use the library? None.
One notable exception is using proprietary forks of GCC or proprietary tools which process GCC’s intermediary code; however, neither of these actions are done by a standard BlocksDS configuration.
For more information, read the license terms of the exception.
This library is used, by default, in any program compiled with GCC.
It uses the GPL 3.0 with the same runtime library exception as libstdc++.