The GNU kernel was called GNU Hurd. The Hurd followed an ambitious "microkernel" design which proved unexpectedly difficult to implement early on. However, independently in 1991, Linus Torvalds released the first version of the Linux kernel. Early Linux developers ported GNU code, including the GNU C Compiler, to run on Linux, while the free software community adopted the use of the Linux kernel as the missing kernel for the GNU operating system. This work filled the remaining gaps in providing a completely free operating system.