On this site

Go back to the homepage
Development information
Build Reproducibility
Supported Hardware
Formal Verification
User support and documentation
Code of Conduct
About this site

External links

Savannah site
Git development repository
Mailing lists

Thanks for considering contributing to Ironclad, it means a lot.

There are several ways one can help the Ironclad project, from writing and correcting documentation to contributing source code. A great way to help Ironclad as well is sharing it with people that may find it interesting!

Testing changes

For testing changes to Ironclad itself, one will need a system running Ironclad. Our recommendation is using Gloire in a virtual machine or real hardware to test modifications. For a guide on how to modify Gloire's Ironclad, building images with custom kernels, and testing them, please check this article.

Submitting changes

One can send a patch to any of the Ironclad's Patch Manager (create an item) or the project's mailing lists as well.

When submitting contributions, only contributions licensed under the GPL, or alternatively, a GPL-compatible license, will be accepted.

In order to ensure this is the case, submitted patches will need to certify their work by accepting the project's Developer Certificate of Origin (DCO). This is done by either adding Signed-off-by to the patch, either manually or using git's -s flag, or by stating compliance in the patch submission.

This is not the same as a CLA, no copyright assignment is done, and the contributor keeps each and every right over their contribution. Individual contributor copyright is one of the core pillars of free software. This process only ensures that legal code is submitted, and gives a bit of legal shielding for the project if that is not the case.

Development contact

Ironclad has several mailing lists and official servers and services for users as well as developers to talk with each other and coordinate, feel free to check them out at the community page.

Open Tasks and Wishes

Ironclad has a long list of open tasks remaining to be done. Some of these are big several-week endeavours, others are small one day non-urgent features that have not been done on the spot for one reason or another, all of them extremely good to have. Some of them are programming related, others are not.

Big programming endeavours

Small programming endeavours

Non-Programming tasks

Userland development

A kernel is really dependent on its user programs. Here is a list of projects that are a great option to get involved with, without having to do kernel development: