Credits

Cosmos Gen3 stands on the shoulders of other open-source projects. This page lists the third-party components that ship as part of Cosmos, with their licenses.

Vendored source code

Code copied into this repository (with local adaptations noted in a README.md next to the sources):

Project License Used for Location
BigGustave Unlicense PNG decoding (Cosmos.Kernel.System.Graphics.Png) src/Cosmos.Kernel.System/Graphics/Images/Png/
SharpZipLib MIT Managed DEFLATE/zlib decompression for the PNG decoder src/Cosmos.Kernel.System/IO/Compression/SharpZipLib/
LunarFonts MIT TrueType loading and rasterization (TrueTypeFont) src/Cosmos.Kernel.System/Graphics/Fonts/TrueType/LunarFonts/
Spleen BSD-2-Clause The default 16x32 console and canvas font src/Cosmos.Kernel.System/Graphics/Fonts/
Cosm3D MIT VMWareSVGAII Canvas driver (Cosmos.Kernel.HAL.Devices.Graphic.SVGAII)

The PNG integration follows CosmosPNG (Unlicense), which first brought BigGustave to Cosmos Gen2, and the TrueType integration follows CosmosTTF (MIT), which first brought LunarFonts there.

The SvgaII integration originates from a gen3 port of Cosm3D (an implementation of the 3D SvgaII spec by VMware), with the port itself based on the gen2 SvgaII driver.

Shipped binaries and dependencies

Project License Used for
Limine BSD-2-Clause The bootloader included in every kernel ISO
.NET Runtime MIT The base class libraries and NativeAOT compiler (ILC) the kernel is built on
Mono.Cecil MIT IL reading and rewriting in cosmos-patcher

Build and test tools

Not distributed with Cosmos, but required to build or test it: YASM, GNU binutils/GCC, xorriso and QEMU.