Licensing of the code

This page explains the licensing model of the project, the motivation behind it, and details on all the open-source licenses used for code provided by the Ironclad project.

Kernel licensing

The Ironclad kernel is free software, licensed under the GNU General Public License (GPL) 3. This only applies to kernel code. Anything not statically linked with the kernel (like userland applications, or distributions) is not subject to this license.

The GPL is one of the most popular open-source licenses. One of its stipulations is that changes and “derived code” must again be licensed under the GPL to the users of the program, this does not include use without modification or distribution of the code to non-users, if Ironclad code is being used as part of a paid distribution.

This only applies to kernel code. We feel like the Linux syscall note for the GPL is not necessary as copyright legislation already implies it. Developers should proceed as if any use of syscalls or other Ironclad interfaces from userland does not constitute a derivative work of Ironclad, thus, no licensing requirements.

Some of our drivers are licensed under more liberal licenses than the GPL under the idea of them being of use to other embedded projects. For details on the licensing of the driver in question, consult the file headers on the code.

Why the GPL?

We intend for Ironclad to always be free, and for it to be always available for developers to study, use, modify, and share modifications, while making sure that no entity can just glob up our work and deny these rights to their users. The only license family that guarantees that in a legally tested way is the GPL.

Userland support software licensing

Userland support libraries and programs like util-ironclad are provided under more liberal licenses than the kernel, under the idea that such licenses will help their use and further the idea that only the kernel has licensing requirements, not the userland. The license we default to for these utilities is The MIT License.

Contributions

The code and documentation for the kernel and some userland utilities are available under the aforementioned licenses at our Codeberg Organization.

Due to Ironclad’s GPL, we can only accept contributions to Ironclad that comply with the base license. That is, GPL code itself, or more permissive, GPL-compatible licenses like the MIT, or most BSD varieties. The licensing status of contributions should be clearly delineated by using license headers.

We do not require a CLA or anything of the sort for Ironclad, we instead require a DCO for any major contribution.

The DCO is a statement created by the Linux Foundation in 2004 that shifts the responsibility for the licensing from the project to the user, as to protect the project from license fraud or legal repercusions. Unlike a CLA, this makes no copyright transfer, and the developer keeps their copyright and legal ownership permanently. The text of the DCO is:

Developer’s Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

Our version management software, git, provides an easy and convenient way to sign the DCO with the -s command-line switch.

Documentation licensing

The user manual of Ironclad and all other documentation we have is provided under the Free Documentation License (FDL) 1.3.