6 ms·
Plan 9 is a uniquely complete operating system
- tylerchilds 2y agocache cause hugged: https://web.archive.org/web/20240728004832/https://posixcafe.org/blogs/2024/07/27/0/ https://web.archive.org/web/20240728004832/https://posixcafe...
- GianFabien 2y agoI've played with Plan9 several times, but never used it seriously. The aesthetics that puts me off. Would have been great if they had taken guidance from BeOS / Haiku-OS for the look and feel. Heck, even Windows 95 would have been an improvement.
- coreload 2y agoThat would have been difficult since Plan 9 predates each of those other systems. Also Plan 9 took place in Bell Labs as a research project, was based on their own UI research, and was not intended to be a commercially familiar UI. There are interesting ideas in the write ups about the UI that could be applied in nearly any UI today.
- Gualdrapo 2y agoNot an expert in OS development whatsoever but I do know that it's not intended for common usage, so how its UI looks is not something devs would take much care of. Though I do know that it puts some strong emphasis on mouse usage, something that for someone that grew to use the keyboard a lot like me (ironically, as a graphic designer) seems to be really awkward, to say the less. Its strengths seem to be its overlaying concepts and that it intended to be "the next gen Unix" - alas it won't take over for a myriad of reasons, and some would argue Unix-es have already borrowed some of its concepts for themselves.
- DaiPlusPlus 2y agoForgive my naïvety, but couldn’t X and CDE be ported over?
- yjftsjthsd-h 2y agoI thought there was an X server for Plan 9 (edit: yes; https://plan9.io/wiki/plan9/x11_installation/index.html https://plan9.io/wiki/plan9/x11_installation/index.html ), but it kinda defeats the point unless you use something like https://github.com/gerstner-hub/xwmfs https://github.com/gerstner-hub/xwmfs on it. CDE... something like CDE probably, but actual CDE would be painful and really defeat the point unless you ported its IPC to a Plan 9 native version.
- nrr 2y agoNot trivially. There's a lot in how Plan 9 is put together that makes this a monumental effort. (That said, there may have been an X server brought in at some point, but don't quote me on that. That's the least of anyone's problems in undertaking a CDE port though.)
- ori_b 2y agoYou could, but if you want Unix, you already know where to find it.
- linguae 2y agoPlan 9 was heavily influenced by the Xerox PARC Mesa/Cedar interface, which influenced Wirth’s Project Oberon. I forget whether Project Oberon directly influenced Plan 9, but I’ve heard people argue that Rob Pike, one of the leaders of the Plan 9 project at Bell Labs, was heavily influenced by Wirth when it came to programming language design, even if the syntax was closer to C instead of Wirth languages like Pascal, Modula-2, and Oberon. With that said, there are major similarities between the interfaces of Cedar/Mesa, Project Oberon, and Plan 9. A few years ago I thought about what it would take to implement a more conventional desktop GUI on top of Plan 9, but I’ve oscillated back and forth between wanting Plan 9 with a Mac-like desktop versus wanting a modern Lisp/Smalltalk machine (with object-oriented underpinnings instead of Plan 9’s “everything is a file” interfaces) with a Mac-like desktop.
- pjmlp 2y agoYou see Oberon's influence on how ACME editor works, and later the OS dynamism enjoyed by Inferno and Limbo, that everyone usually forgets about.
- akritid 2y agoInferno is not a successor. For example you can have Golang for Plan 9 but doesn’t make much sense on Inferno. You would even run Inferno on Plan 9 on some scenarios. I suspect most people who know about Plan 9 also know about Inferno, but it’s just a different thing, does not supersede it in general.
- pjmlp 2y agoPlan 9 => Inferno, which is still Plan Alef => Limbo => Go. Being able to backport Go into Plan 9, doesn't make sense in this context, that isn't how historical evolution works. Also even Inferno has the necessary C infrastructure to port Go, if someone hasn't done it already.
- akritid 2y agoI suspect you would have to port Go to run on Dis, the VM. C is for the OS. It’s a different design, without mmu. Plan 9 is still a classic OS with hardware isolation
- irusensei 2y agoThe UI is called Rio. It’s simple yet functional and the plumbing thing is kinda cool. The thing that irks me with Plan9 (I have tried 9front) is the lack of tab completion on the shell. It’s easy to input garbage on the screen and contrary to most modern shells where you can just skip a line you need to use your mouse to put the cursor back where the prompt is. Of course lots of it might be skill issue.
- ori_b 2y agoCtrl+f for completion, ctrl+b to warp the cursor back to the prompt.
- kccqzy 2y ago> The Plan 9 implementations tend to not be as feature rich as the proper upstream variants. This is IMO the biggest drawback. Why wouldn't any user want the software to be feature rich? In fact, looking at Plan 9, I often feel that the provided software is just a MVP.
- ori_b 2y agoFor the same reason people prefer languages like Python over Perl. Simplicity improves usability and understandability. It's pleasant to use a minimalist, viable product. 9front is not the only OS I use, but it is one of my daily drivers.
- sfpotter 2y agoPython isn't simple.
- ori_b 2y agoPerl is less simple. Though, I suppose lua would be a better comparison.
- 3np 2y agoI fail to see your point. To me, these three are all very close to each other in "simplicity" and any ordering seems arguable. If anything, isn't Perl simpler than Python and if not, why? Perhaps vast differences in ergonomics and language-culture-fit but that's orthogonal/unrelated?
- pxmpxm 2y agoPlan9 is the ycN equivalent of https://xkcd.com/739/ https://xkcd.com/739/
- lagniappe 2y agoThe year of the 9 desktop cometh!
- tbrownaw 2y agoSo is there something (social or technical) that makes it tricky to independently provide apps for plan 9, or is it just that the only people who care already have commit access?
- jazzyjackson 2y agoFor the uninitiated, Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Via "https://nelsonslog.wordpress.com/2019/06/01/wsl-access-to-linux-files-via-plan-9/ https://nelsonslog.wordpress.com/2019/06/01/wsl-access-to-li...": Plan 9’s filesystem is a very simple network filesystem protocol to share files between systems. They are specifically using 9P2000.L. They considered using Samba and SMB instead but can’t rely on Samba being installed and usable in the Linux guest OS and didn’t want to ship it because Samba is GPL licensed. They picked Plan 9 because it’s much simpler to implement. Also Microsoft already had Plan 9 server code for some other Linux container project they’d done. The \\wsl$\ path is handled in the Windows system by the MUP, an existing hook for network-like filesystems. They added a new one for Plan 9. The $ is in the name so that it can’t be confused with a computer whose hostname is wsl. The Plan 9 server in Linux communicates with the Windows Plan 9 client via a Unix socket. (Windows supports Unix sockets; who knew?) Windows can access your Linux files even if no Linux is instance is running. There’s a new Windows service called LXSManagerUser that mediates user identity and permissions.
- skissane 2y ago> (Windows supports Unix sockets; who knew?) Only since Windows 10 build 17063 (December 2017 pre-release) [0] [1], which was released as Windows 10 April 2018 Update. So for the first 25+ years of Windows' existence, it didn't. And although it does implement the basic functionality, it is missing features found on mainstream Unix-like platforms, e.g. file descriptor passing (SCM_RIGHTS) [0] https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ https://devblogs.microsoft.com/commandline/af_unix-comes-to-... [1] https://betawiki.net/wiki/Windows_10_build_17063 https://betawiki.net/wiki/Windows_10_build_17063
- ninkendo 2y ago> Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Same with other hypervisors, virtualbox etc do the same. If you have docker installed on macOS it also uses 9p to share data with the host. But IMO 9p is a terrible choice for this, particularly because it doesn’t support hard links. It breaks a lot of software like sccache etc which rely on hardlinks to work. The reply from the plan9 devs on why this is the case hits staggering levels of arrogance: > If you look at what a hard link is, you'll realize why they are not in Plan 9. https://groups.google.com/g/comp.os.plan9/c/24mMVoy6wXA/m/JWrrsPUOlmEJ https://groups.google.com/g/comp.os.plan9/c/24mMVoy6wXA/m/JW...
- pjmlp 2y agoSuperceded by Inferno as follow up project, where Limbo took the role of the abandoned Alef language for Plan 9. I always have the impression the discussion stops on a gas station the middle of the road, instead of on the destination.
- irusensei 2y agoI keep reading this but if you compare the latest version of the 9front fork with the source code with inferno there is no doubt 9front looks a lot more polished. FFS I had to download some guys amd64 fork because the vita nuova bit bucket only has i386 sources.
- pjmlp 2y agoA fork doesn't count, that isn't how the Plan 9 => Inferno evolution took place. Otherwise we could also go back to Windows NT with POSIX subsystem, fork it to a version where the UNIX experience was first class like on NeXTSTEP and macOS, and then praise Windows NT UNIX qualities, that weren't there in first place. (Naturally ignoring the access to source code issue).
- sillywalk 2y agoI'm curious if vita nuova is even still around. The website looks exactly the same as it did 20 years ago, before AMD released their x86-64, and still has Irix as a target.
- zokier 2y agoThe author is putting "upstream" on some weird pedestal. The whole point of foss is that any upstreams have very limited privileges compared to downstreams. > Put in another way, if someone wanted the ability to touch every line of code (in the upstream sense), they would have to be a member of some non trivial amount of communities. On a typical distro you can just download sources and start hacking, you don't need to be member of any community. While something like Debian might not be monorepo in the strictest sense, on a conceptual level it is very close. They still have all the sources under their control and are not dependent on anything outside. They are at full liberty to accept or reject any patches regardless of where they come from, from "upstream" or "downstream". This idea that distros are actually independent full-featured operating systems is an idea that I think is getting forgotten way too often. Distros are (or rather can be) much more than mere repackaging of upstream software.
- BSDobelix 2y ago>The whole point of foss is that any upstreams have very limited privileges compared to downstreams. I would say introducing a backdoor (xz) without downstream knowing is probably the biggest "privilege" you can have on a system or distribution no?
- moody__ 2y agoThere is a direct correlation between the amount of power exerted by a project like Debian over an upstream project, and the amount of effort and upkeep required in doing so. I think of this like a sliding scale between shipping things with zero patches and a full on fork. From my understanding distribution patches on top of upstream projects tend to be typically just bug or portability fixes and stop short of adding features. The point I was trying to communicate was that in order to fully interact with the software you either have to be part of the upstream community or essentially fork. The illustrate how I think Plan 9 is different in this regard. A patch for 9front could include a new feature for our compilers and then also show how useful it is by using it within other parts of our code. In plan 9 you can interact fully with every component.
- rcarmo 2y agoPlan9 is one of those things I go back to every Summer and that is somewhere between completely mind-blowing (check out the GIF at https://taoofmac.com/space/blog/2020/09/02/1900 https://taoofmac.com/space/blog/2020/09/02/1900 to see how fast it boots in real-time on a single-core Pi) and almost completely unfit for purpose because it just doesn’t integrate well (or easily enough) with modern systems (I also considered using it for a writing “appliance” - https://taoofmac.com/space/blog/2023/09/22/1230 https://taoofmac.com/space/blog/2023/09/22/1230 - but syncing data off it was a blocker, and three-button mouse chording GUIs are just not a thing I want to deal with). One of the “stupid” ideas I have in my back-burner is to rewrite rio so that it works like Mac OS 7 (the platinum look with window shading), which in my mind was always a very sane and efficient way to manage windows — but time is not on my side… I have one of my usual lists of resources for it on https://taoofmac.com/space/os/plan9 https://taoofmac.com/space/os/plan9 - comment here if it’s missing anything you particularly like.
- moody__ 2y agoYour link for 9front mentions that ssh2 is not included. This is because the code was rewritten and the program is now just called ssh(1). Other features of ssh are accessible through sshfs(4), and sshnet(4). The only difference in features compared to the original Plan 9 is that 9front does not currently have code for an ssh server. I know some users who are interested in this capability so it'll likely happen at some point.
- revskill 2y agoWhat does this file mean and used ? https://github.com/9front/9front/blob/front/lib/bullshit https://github.com/9front/9front/blob/front/lib/bullshit
- ck45 2y agohttps://github.com/9front/9front/blob/75ac2674deab8ca70924b84462c62fa1a24b3518/rc/bin/bullshit#L4 https://github.com/9front/9front/blob/75ac2674deab8ca70924b8... From the man page: bullshit - assemble a stream of bullshit from words in a file It will produce output like (ran it 3 times) persistence firewall markup realtime-java callback-scale generator virtual polling polling SQL out-scaling blockchain converged converged singleton property self-signing-based element polling just-in-time control
- teleforce 2y agoFun facts, the unpopularity of Plan 9 compared to Unix/Linux is what motivated Rob Pike writing the now infamous article Systems Software Research is Irrelevant (2000) [pdf]: [1] Systems Software Research is Irrelevant (2000) [PDF]: https://news.ycombinator.com/item?id=29709807 https://news.ycombinator.com/item?id=29709807
- deleted 2y ago[deleted]
- readmemyrights 2y agoI closely studied plan 9 many times, I unfortunately can't use it because of accessibility issues but from what I read and heard it feels more like a time capsule from the 90s, which is ironic considering it was meant to be a future path for os research. And even in the 90s there were developments in unix that the labs seemingly completely ignored, like DJB's daemon supervision. To talk about the article itself, the only reason plan 9 can achieve such a design is because it's developed and used by the same small group of people. If linux is a bazaar and BSDs are cathedrals, then 9front is a monastery's citadel. Another thing that isn't mentioned is that both linux and BSD (and pretty much anything based on posix) has a lot of third party software that would be hard to maintain along with the rest of the system, if the monks even include it to begin with. And that software could include something like jq which a lot of software depends on and would love to just assume it's there. And really, what more does someone get from something like this over, say, having a more or less formal standard on what a true plan9 system includes and waving it in someone's face when they choose to ignore it? This is pretty much what modern unices do and it works out great in cases when it's actually important. Most people don't care what commit your system is built from as long as it works as their programs expect it to.
- moody__ 2y agoI didn't directly mention third party software but when I talk about the various levels of default software the implication is that those with less built in typically rely more heavily on third party software. Even those who do ship a more batteries included base still have to provide mechanisms for using third party software given the ecosystem. > ... has a lot of third party software that would be hard to maintain along with the rest of the system This is the point that the article is trying to challenge. I think 9front proves that it's doable. > Most people don't care what commit your system is built from as long as it works as their programs expect it to. The former helps the later a lot. Everything is tested with each other and for a lot of functionality there is only one option.
- nopoolontheroof 2y agoI have a strong interest in different OS designs, and Plan 9 is one of the more interesting one. Having said that, it's only place is in a VM - it's not really cut out for everyday use. Pretty sure the people using it as such are doing so just to be 'different' - like BeOS back in the day.