Follow

Why Plan 9? 

This is a great question @ekaitz_zarraga

Think about pipes.

They let you compose independent programs so that you can build complex transformations of a data stream.
The power of pipes comes from the simple and uniform interface they use: file descriptors.
But on Unix file descriptors are not that simple (see ioctl if you are brave).

Plan 9 let you do the same with file systems: you can stack a file server on top of another. This means that while in Unix you are constrained to connect programs through a data stream, in Plan 9 you can compose local services and remote ones transparently. And your local programs can access the whole stack in an uniform way.

Let me give you an example of why this could replace the shitty architecture of the Web.

Suppose you want to use a remote Meteo service.

Now you basically open the browser, visit a Web page, execute any js they want you to execute and send them your GPS position.

With Plan 9 you could export to the Meteo service a file server that let them draw on your screen and read your GPS position.

What's the advantage?

Well you compose the fs you are going to export! You can decide your GPS position by writing a file. And you can lie!

Or you can replace your screen with a fs that write on a PNG.

Or you might add an overlay fs that transparently log any request before executing it on the underlying fs.

And this is just a trivial example.

Today we use a primitive architecture to build distributed applications and you can easily see how hard is to mesh even just contents between different websites. And we let strangers execute whatever they want on our machines just because we can't think of anything better.

Plan 9 let you think better distributed architectures.

That's why I think one day a system will free us from this mess.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.