←back to thread

358 points ofalkaed | 2 comments | | HN request time: 0.488s | source

Just curious and who knows, maybe someone will adopt it or develop something new based on its ideas.
Show context
renehsz ◴[] No.45557467[source]
The Plan 9 operating system.

It's the closest thing to a Unix successor we ever got, taking the "everything is a file" philosophy to another level and allowing to easily share those files over the network to build distributed systems. Accessing any remote resources is easy and robust on Plan9, meanwhile on other systems we need to install specialized software with bad interoperability for each individual use case.

Plan9 also had some innovative UI features, such as mouse chording to edit text, nested window managers, the Plumber to run user-configurable commands on known text patterns system-wide, etc.

Its distributed nature should have meant it's perfect for today's world with mobile, desktop, cloud, and IoT devices all connected to each other. Instead, we're stuck with operating systems that were never designed for that.

There are still active forks of Plan9 such as 9front, but the original from Bell Labs is dead. The reasons it died are likely:

- Legal challenges (Plan9 license, pointless lawsuits, etc.) meant it wssn't adopted by major players in the industry.

- Plan9 was a distributed OS during a time when having a local computer became popular and affordable, while using a terminal to access a centrally managed computer fell out of fashion (though the latter sort of came back in a worse fashion with cloud computing).

- Bad marketing and posing itself as merely a research OS meant they couldn't capitalize on the .com boom.

- AT&T lost its near endless source of telephone revenue. Bell Labs was sold multiple times over the coming years, a lot of the Unix/Plan9 guys went to other companies like Google.

replies(6): >>45558324 #>>45558491 #>>45558512 #>>45559869 #>>45563257 #>>45565752 #
tjchear ◴[] No.45558324[source]
What’s stopping other Unix-like systems from adopting the everything is a file philosophy?
replies(4): >>45558390 #>>45558434 #>>45559955 #>>45561352 #
c0balt ◴[] No.45558390[source]
Probably that not everything can be cleanly abstracted as a file.

One might want to, e. G., have fine control over a how a network connection is handled. You can abstract that as a file but it becomes increasingly complicated and can make API design painful.

replies(1): >>45559237 #
Someone ◴[] No.45559237[source]
> Probably that not everything can be cleanly abstracted as a file.

I would say almost nothing can be cleanly abstracted as a file. That’s why we got ioctl (https://en.wikipedia.org/wiki/Ioctl), which is a bad API (calls mean “do something with this file descriptor” with only conventions introducing some consistency)

replies(1): >>45561244 #
1. naasking ◴[] No.45561244[source]
Everything can be abstracted as a file, it just may not be most efficient interface.
replies(1): >>45561666 #
2. vacuity ◴[] No.45561666[source]
If everything can be represented as a Foo or as a Bar, then this actually clears up the discussion, allowing the relative merits of each representation to be discussed. If something is a universal paradigm, all the better to compare it to alternatives, because one will likely be settled on (and then mottled with hacks over time; organic abstraction sprawl FTW).