Linux distributions come and go by the dozens almost every day, and most of them live and die an unknown, irrelevant life, mostly because no, changing three icons and adding the suffix ‘-nix’ to any random word doesn’t make it different from Ubuntu. Anyway, sometimes, a new distribution is started that brings something new to the table. One such “distribution” is Glendix, which aims to combine the Linux kernel with the userpsace tools from Plan 9. Distribution is probably not the right term for this project.
We all know what Linux is, but what exactly is Plan 9? Plan 9, developed at Bell Labs, was supposed to become the successor to UNIX, also developed at Bell Labs. Plan 9 was written from scratch, and made many radical departures from standard UNIX conventions. For instance, in Plan 9, everything really is a file; even the window a program is running in is represented as a file in a hierarchical file system. Every program in Plan 9 sees every possible resource as a file. Plan 9 is also fully distributed, so that parts of the operating system can run on different machines. Plan 9 never made its way out of the research departments, and the reason is fairly simple: UNIX is good enough. It might not be exactly elegant, but it gets the job done.
The Glendix developers aim to combine the Plan 9 userspace tools with the Linux kernel. According to them, the Plan 9 kernel is limited when it comes to hardware support, and this is where Linux comes into play.
In this project, we decouple Linux from GNU utilities, and port Plan 9 user-space applications to run on the Linux kernel. In summary, we are combining the Plan 9 user-space with the Linux kernel-space – resulting in a hybrid operating system. We think this would oer the best of both worlds – great hardware support with a cutting-edge application development environment.
The primary goal of the project is to create a Linux based operating system that includes the most important user-space applications from Plan 9. For brevity, we restrict our work to only the Intel x86 architecture.
The project is obviously not done or ready for mass consumption, but you can already dive into the source code. There are also two papers you can read for more information.
The truth is, many people has been working into bringing Plan9 ideas to Linux. There’s 9P protocol support, FUSE can be used to implement userspace filesystems and there has been a lot of work into making possible per-user FS namespaces. Sure, it’s not so “pure” as Plan9, but the features are there.
IOW: it may not be worth to release a “Plan 9 Linux distro” – just work with the regular Linux distros to implement and use Plan9 features.