{{subst:AfC submission/draftnew}}

{Userspace draftsource=ArticleWizard|date=December 2020}{Infobox OS
name =
| logo = Unikraft Logo.svg
| developer = [[NEC|NEC Laboratories Europe GmbH]]
| programmed in = [[C (programming language)|C]], [[Assembly language]]
| working state = Current
| source model = [[Open-source software|Open source]]
| released = {{Start date and age|2017|10|29
}
| latest release date = {Start date and age2024|06|07}
| repo = {URLhttps://github.com/unikraft/unikraft}
| marketing target = [[Cloud computing]], [[embedded device]]s, [[server (computing)|servers]]
| language = C
| supported platforms = [[x86]], [[ARM architecture|ARM]]
| kernel type = [[Unikernel]]
| userland = POSIX subset, custom
| license = [[BSD_licenses#3-clause license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License")|BSD 3-Clause]]<ref name="github-license">{cite weburl=https://github.com/unikraft/unikraft/blob/stable/COPYING.md|title=COPYING.md file|via=[[GitHub]]|accessdate=16 December 2020}</ref>
| website = {URLhttp://www.unikraft.org/}
}}

'''Unikraft''' is an [[open-source software]] project that offers a [[software development kit]] (SDK) for building specialized [[Unikernel|unikernels]] for [[Cloud computing|Cloud computing platforms]] and [[Internet of things|embedded devices]].

The SDK provides a [[Command-line interface|command line]] tool<ref name="kraft20">{cite web title=Tool to define, configure, build, and run Unikraft unikernel applications. |url=https://github.com/unikraft/kraft |accessdate=16 December2020 |via=[[GitHub]]}</ref> to interact with the creation and management of [[Operating system#Library|library Operating System]] components for a desired [[Computer architecture|architecture]] and [[Computing platform|platform]].

== History ==
Unikraft started as a [[Research|research project]] at [[NEC|NEC Laboratories Europe GmbH]] (NLE), [[Heidelberg]], [[Germany]] in 2017<ref name="SysMLUnikraft20">{cite web title=Automated Building of Specialized OSes and Unikernels |url=http://sysml.neclab.eu/projects/unikraft/ |accessdate=16 December 2020}</ref>. The goal of the project was to address the growing need for lightweight, specialized operating systems that could run efficiently on modern cloud infrastructure.

THe Unikraft was initially conceptualized in 2017 as a part of the [https://xenproject.org/developers/teams/unikraft/ Xen Project] under the Linux Foundation's umbrella. The project aimed to address the growing need for lightweight, specialized operating systems that could run efficiently on modern cloud infrastructure. Over the years, Unikraft has evolved, gaining contributions from a diverse global community of developers and researchers.

The first stable release of Unikraft was made available in 2020, marking a significant milestone in the project's development. Since then, Unikraft has continued to grow in popularity, particularly in academic and research settings, due to its flexibility and performance benefits.

During its development, it has received significant contributions from both core maintainers at NLE and research students at [[Politehnica University of Bucharest]], [[Lancaster University]], [[Manchester University]] and [[University of Liège]].

== Usecases ==
TODO

-> add information where Unikraft is used now

== Design ==
-> add information about native mode and binary compatibilty mode

-> add information about kraft toolkit

-> add information about modularity and libraries

-> make table with principal libraries of unikrafr (vfscore / syscall-shim / etc)

== Community ==
As of 29 august 2024, the project has over 2500 stars on [https://github.com/unikraft/unikraft Github] and over 100 contributors.

The community of Unikraft is organized on a Discord server, where there are channels for the main subsystems of the project. Furthermore, on the Discord server, there are multiple meetings (general ones - called "community meetings" and thematic ones, specific per each track of the roadmap), where any participant could attend.

Every month, a hackathon is organized, where members of the community gather together to progress on their tracks. The hackathons are hybrid, with the physical event being organized at [[Politehnica University of Bucharest|University POLITEHNICA of Bucharest]].

TODO

-> Add information about Google Summer of Code and Unikraft Summer of Code.

== Language support ==
TODO

-> Create a table in which list programming languages that could be run inside Unikraft

== Hypervisor support ==
TODO

-> add information about Firecracker, KVM, Xen

== Hardware support ==
The current version of Unikraft SDK may build unikernels that are capable of running on [[x86]] and [[ARM architecture family|ARM]] architectures. The support for [[RISC-V]] is currently under development.

== Tools ==
TODO

-> Add information about Kraft and make menuconfig

== References ==
{{Reflist}}

== External links ==

{{reflist}}

Select a repo