FTL is a new operating system designed for cloud environments, created by the nuta project on GitHub. The project positions itself as "a new operating system aiming to be an alternative OS in cloud environments to Linux/BSDs/Illumos." [primary source]

GitHub repository thumbnail for nuta/ftl
Repository cover image for the FTL operating system project.github.com

A GitHub open‑graph image showcasing the FTL operating system repository, illustrating the project's presence in cloud‑OS research.

The defining characteristic of FTL's design is its "userspace OS" approach. Rather than implementing OS features like process management, virtual file system, and TCP in the kernel, FTL moves these to a userspace library called "userspace OS" [primary source]. This design is analogous to exokernels, where traditional monolithic kernel features are moved to a userspace library (library OS). The FTL kernel itself provides hypervisor-like primitives: vCPU (thread), virtual address space (vmspace), and virtual network, serving as a minimal interface that multiplexes hardware resources.

FTL aims to be a drop-in alternative to Linux in cloud environments. Its Linux compatibility layer is implemented as a userspace library rather than an in-kernel feature, meaning each FTL container has its own isolated Linux-like application kernel [primary source]. This approach differs from traditional kernel-level virtualization - FTL uses user-mode exception handling rather than hardware-accelerated virtualization. The project notes this technique appears in systems like WSL 1, FreeBSD's Linuxulator, and OSv, but FTL's implementation as a userspace library is distinctive.

The project states it will be "more similar to BSD than Linux," planning to bundle FTL with integrated userspace software [primary source]. It is dual-licensed under MIT and Apache 2.0 [primary source].

FTL is designed to be lightweight and suitable for constrained devices, with an "easy-to-understand and testable codebase" featuring TypeScript end-to-end testing and a quick edit-compile-run cycle [primary source]. Users can get started by installing the Rust toolchain, LLVM tools, and QEMU, then running ./run.sh to build and test [primary source].

The project acknowledges that its Linux ABI is "just one of OS interfaces available on FTL," with plans to add its own personality and system calls beyond Linux compatibility [primary source]. Planned "interceptor" features would allow runtime control of OS components for rate limiting, security auditing, network packet routing, and live patching [primary source].