Slashdot Mirror


Plan 9 From Bell Labs Operating System Now Available Under GPLv2

TopSpin writes "Alcatel-Lucent has authorized The University of California, Berkeley to 'release all Plan 9 software previously governed by the Lucent Public License, Version 1.02 under the GNU General Public License, Version 2.' Plan 9 was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002. Plan 9 has subsequently emerged as Inferno, a commercially supported derivative, and ports to various platforms, including a recent port to the Raspberry Pi. In Plan 9, all system interfaces, including those required for networking and the user interface, are represented through the file system rather than specialized interfaces. The system provides a generic protocol, 9P, to perform all communication with the system, among processes and with network resources. Applications compose resources using union file systems to form isolated namespaces."

39 of 223 comments (clear)

  1. Still holds up by Anonymous Coward · · Score: 5, Insightful

    A model for consistency and simplicity. It validated the concepts underlying Unix, and influenced modern Linux/BSD. It also didn't hurt that they had some category-1 geniuses working on it - Kernighan, Ritchie, Duff, etc.

  2. I find it interesting by Fri13 · · Score: 4, Insightful

    I like the idea how everything is a file etc. That is one reason why I originally became Linux user and now it feels Linux systems have become something totally different by new third/fourth generation "geeks" who don't care anymore about open file system and results are like systemd journalctl.

    1. Re:I find it interesting by Anonymous Coward · · Score: 5, Insightful

      You're a file.

    2. Re:I find it interesting by Anonymous Coward · · Score: 5, Funny

      Your mom is a bmp.

    3. Re:I find it interesting by icebike · · Score: 5, Interesting

      I like the idea how everything is a file etc. That is one reason why I originally became Linux user and now it feels Linux systems have become something totally different by new third/fourth generation "geeks" who don't care anymore about open file system and results are like systemd journalctl.

      Sad that they held on to it just long enough for it to become irrelevant. Anything unique that it had to offer has probably been done in other ways.

      I suspect that between various BSDs and Linux versions that the concept of everything being a file has pretty much reached its logical endpoint.
      Eventually you have to talk to highly interactive hardware with massively parallel threads and then the paradigm starts to become unhinged, and you spend more time trying to defend and extend the paradigm than anything else.

      --
      Sig Battery depleted. Reverting to safe mode.
    4. Re:I find it interesting by suy · · Score: 4, Informative

      I like the idea how everything is a file etc. That is one reason why I originally became Linux user and now it feels Linux systems have become something totally different by new third/fourth generation "geeks" who don't care anymore about open file system and results are like systemd journalctl.

      Funny that you mention that, because systemd exposes lots of features through cgroups and a nice filesystem on /sys. And to use systemd's journal's files, the documentaion already explains that you just open the files, memory map them, and use inotify, a classic notification API on files...

    5. Re:I find it interesting by drinkypoo · · Score: 2

      Eventually you have to talk to highly interactive hardware with massively parallel threads

      What does parallelism have to do with anything? The only argument against everything's-a-file is overhead, not complexity.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:I find it interesting by Kjella · · Score: 3, Interesting

      I like the idea how everything is a file (...) "geeks" who don't care anymore about open file system and results are like systemd journalctl.

      It's part good, part "when all you have is a hammer, everything looks like a nail". What happens is that you put a lot of very structured information into an unstructured format, then "reverse engineer" the structure on demand. To take a trivial example with log files, pretty much every log entry has a timestamp. Now we could store this in plaintext and use grep, or we could store this in a database and use "SELECT * FROM logentries WHERE timestamp BETWEEN '2014-01-14' AND '2014-01-15'". Particularly if you got other timestamps stored in the same file you start reinventing columns based on position or markers.

      On the good side we now have metadata, a language designed for structured queries, indexing, the ability to implement ACID compliance and an easy means to join information from different sources, on the bad side it's no longer plain text, we depend on a running database service and database corruption could potentially render everything unusable. But then again, so could file system corruption. From what I gather that's pretty much what systemd does and journalctl is kind of like SQL for systemd.

      That said, it seems like an "almost SQL" implementation with its own limited language, personally I'd rather go with a proper implementation like SQLite but maybe there's some gotchas there I haven't thought about, in particular it seems clients can define their own log fields on the fly which would require a little dynamic DDL but I don't see any showstoppers. In particular I notice they only have text and binary fields, you can't say that something is an integer or date field so you could filter on them more intelligently.

      --
      Live today, because you never know what tomorrow brings
    7. Re:I find it interesting by FithisUX · · Score: 2

      highly interactive hardware -> you mean NVIDIA ATI hardware? They do not comply to any specification like USB mass storage which can be provided as a file. A graphics card !IS! a file , the crap by vendors is not a GFX card. The systems you talk about, are co-processors. So they are not per-se files. But with some engineering from the part of vendors you can view them generally as files, one for each co-processor. Then you upload VM-images through this file and create dynamic files (endpoints) for RPC between host and each VM. The problem is that you cannot buy a graphics card (like a PCI / USB adapter) . You buy a GFX fused with a co-processor integrated in a very strange proprietary manner. I do not defend the paradigm, like pthreads it has standed the test of time. Vendors are morons.

    8. Re:I find it interesting by wonkey_monkey · · Score: 2

      With a sticky bit.

      --
      systemd is Roko's Basilisk.
    9. Re:I find it interesting by lennier · · Score: 2

      I suspect that between various BSDs and Linux versions that the concept of everything being a file has pretty much reached its logical endpoint.

      Not even close, unless you're thinking about Plan 9.

      A truly 'everything is a file' Unix would implement BSD sockets and X11 windows as files, just for a start. Can you do that on Linux yet?

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    10. Re:I find it interesting by fnj · · Score: 2

      There are some things that just don't work as files ... [for example] sockets ...

      Oh bullshit. Sockets (and named pipes and serial ports; heck, even anonymous pipes) are the best example of leveraging files. Sockets ARE files. Files with funny names, a necessarily special way to open, and what amount to a bunch of ioctls to tend to details. The main interaction is by read() and write(), exactly the same as files. Monitoring for data to appear is done by select(), the same as for any "file" whose input data shows up by "magic" - for example, serial ports.

      Curses is highly successful as a text character presentation mechanism where you can do random access by talking to a file. It is self evident to me that you could do similar things for graphics.

    11. Re:I find it interesting by fnj · · Score: 2

      And that's how you change minds. The more I learn about systemd and journald, the less my knee jerks against them.

  3. Hot grits by Hognoxious · · Score: 4, Funny

    I'm running Plan9 in a VM hosted on Hurd (sorry, that's GNU/Hurd) on a computer I made on a 3D printer that I bought with bitcoins.

    Meanwhile, in Soviet Russia Bennet Haselton is waiting for a long pompous article about how everyone else is wrong and beta is great written by ME!!!!

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Hot grits by Jane+Q.+Public · · Score: 3, Funny

      Easy to understand. He just had hip replacement surgery.

    2. Re:Hot grits by smittyoneeach · · Score: 3, Funny

      Where's Stephen King
      Pwning all your base
      Found dead, manscaping
      With soap on his face?
      Burma Shave

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  4. The link is a license by phantomfive · · Score: 4, Informative

    The link in the article links to the license. Kind of cool, I guess, but if you're actually looking for the source code, it's available at Github.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:The link is a license by Zontar+The+Mindless · · Score: 4, Informative

      Or if you're looking for a live image to play with...

      --
      Il n'y a pas de Planet B.
  5. Re:God's endorsement by Zontar+The+Mindless · · Score: 2

    God told him to write it (or so he says).

    --
    Il n'y a pas de Planet B.
  6. my thoughts on plan9 by Anonymous Coward · · Score: 2, Interesting

    I just want to note that I am surprised by how many useless troll comments there are on this topic.

    Little more than a decade ago I tried out Inferno, actually purchased a copy still have the box even. My take away was that it was interesting, but not very useful. I could not do very much with it. I learned the Limbo programming language that came with it for fun because I like learning new languages. But, after that I went back to Linux again.

    Then I needed a job after I graduated from university and there were more Windows jobs, so I my focus became that. I still use Linux for setting up servers or playing with at home, but nothing too serious. I am also a big gamer, so I have always had a Windows machine or dual/triple booted with various OS.

    I do not really have an opinion on the systemd debate. Or, even whether everything should be a file.

    I think they waited way too long to release plan9, it has definitely become irrelevant. Maybe worth looking at just to see a different perspective on OS design at the very least, it might be useful as a teaching too at universities.

    To be completely honest, I am kind of disappointed they decided to go with GPL v2. I mean in my opinion either you completely embrace Richard Stallman and his hatred of the proprietary world and use GPL v3 so proprietary software & drivers can never make use of your operating system, or you go the other route and choose BSD/MIT. Picking GPL v2 as a new license for new software releases is kind of strange to me. Maybe they were hoping it would be cannibalized by Linux and their concepts would eventually be used beyond plan9, but did not want direct commercial competition for their Inferno OS.

    It makes me wonder if they still make money on Inferno. Maybe this is a way of generating interest in it again, just like CentOS and Fedora generated interest in RedHat Linux's support and commercial offerings.

  7. Re:Nope. You must use systemd. by Hognoxious · · Score: 2

    Pry my init scripts from my cold, dead hands.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  8. too late by stenvar · · Score: 2

    It's a shame that this has come so late. If AT&T hat open source Plan 9 right when it was being developed, it might have saved FOSS from the mess of IPC and distributed computing tools it currently has.

  9. Plan 9 from User Space by stenvar · · Score: 3, Interesting

    Does this mean Plan 9 from User Space (an implementation of Plan 9 tools and libraries for UNIX and Linux) will be GPLv2 licensed too now?

  10. So how is it irrelevant? I don't get your point by dbIII · · Score: 2

    highly interactive hardware with massively parallel threads and then the paradigm starts to become unhinged

    How so?
    How would this abstraction fall down with cluster computing or GPU processing?
    Are you suggesting going back to addressing everything by memory location like we used to do or do you have a different suggestion?

  11. Re:Dead end by StripedCow · · Score: 3, Insightful

    "Those who don't understand Unix are condemned to reinvent it, poorly."

    --
    If Pandora's box is destined to be opened, *I* want to be the one to open it.
  12. been there by znrt · · Score: 2

    Waiting for the day when an object database or something like it is at the heart of a modern popular OS.

    been around for nearly 2 decades now: look up os/400 and os/2, two very fine and different implementations of what you just asked for.

    both got trampled into oblivion so, ok, you could argue about the "popular" thing. i'd say you really are asking to much.

    1. Re:been there by kefalonia · · Score: 2

      Add AIX into the mix of tried things; OO-DB at the heart of the OS... OMG!

  13. Re:Dead end by peragrin · · Score: 4, Insightful

    oddly enough Plan 9 is from the guys who invented Unix who were trying to reinvent it.

    --
    i thought once I was found, but it was only a dream.
  14. Re:Dead end by mrfrostee · · Score: 2

    Waiting for the day when an object database or something like it is at the heart of a modern popular OS.

    That is basically what Smalltalk was (except not that popular). When Apple went to Xerox they copied the look and made it popular, but they didn't really understand the implementation at the time.

  15. Re:On Debian that's allready done. by DarkOx · · Score: 2, Insightful

    As a fellow Slackware user I echo you sentiment but I kinda suspect we are going to end up with Systemd.

    Even some comments Volkerdi has made reflect that. Now that some big dominos like Debian have toppled its probably over. To much of the user land is ending up with Systemd as a hard dependency. Because of the Systemd spawns processes and tracks things the daemons themselves have to get modified which makes them all require Systemd. udev and udisks getting the shotgun wedding treatment to Systemd as well is yet another problem.

    The options for Slackware are looking more and more like (from what I can see):

    1) End up with a hopeless broken or obsolete set up packages
    2) Spend tons of time and energy maintaining forks of thins like udev and patches for everything else, which would take to many resources away for everything else.
    3) Move to more user land borrowed from BSD taking Slackware very far out of the Linux mainstream
    4) Accept that unlike other things such as Linux Pam its going to be to difficult to swim up stream on this one and just deal with Systemd, as its intended to be used.
    5) Come up with some really characteristically un-Slackware complex and kludgy solution like have Systemd call the existing init scripts or a patched init itself.

    I know Patrick will find a way through. He always has and I have confidence he and the people he keeps in the inner circle of Slackware development will find a way to stay on the projects mission and remain a top quality distribution. The reality though is Slackware is today probably among the smallest of what people would generally call a main line Linux distribution. Without some other majors players also not going Systemd I am not sure there is enough mind share out there to resist it.

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
  16. Re:On Debian that's allready done. by cduffy · · Score: 2, Insightful

    Pffft, arguing about changing something that hasn't broken. "Hey, my left arm works just fine, but I really think I should cut it off and get a shiny new model!"

    What world do you live in where modern SysV init isn't broken?

    Hell, the old approach, where everything went in inittab and then init(1) supervised processes, starting things up when they failed, was closer to right than the approach taken by "modern" distros is, where you have everyone trying their own mechanism at self-daemonization and absolutely nobody responding to SIGCHLD events.

    And then you have SysV init scripts. Look at the contents of your /etc/rc.d/* directory and then compare them to the examples at http://smarden.org/runit/runsc..., and tell me you really, honestly think they're the right way to do things.

    "Not broken"? Seriously, WTF.

  17. Re:Dead end by Half-pint+HAL · · Score: 5, Funny

    What about an OS where everything is a potato?

    I tried that once. Unfortunately when I ran it full multitasking on a multicore processor, the timeslicing just left me with a bag of chips....

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  18. unix multics by typo-lfm · · Score: 2

    The guys who invented unix were trying to reinvent multics for small computers.

  19. Re:but can it be 3d printed?! by plopez · · Score: 2

    And a Beowulf cluster.

    --
    putting the 'B' in LGBTQ+
  20. Coolest thing is learning sharing incorporating by mrflash818 · · Score: 2

    For me, the coolest thing about any software becoming GPL, or released GPL from the outset, is the immediate learning and sharing possible with anyone that reads it.

    Sometimes it allows other projects to say, "excellent idea, let's incorporate that, and give credit to them", which to my thinking, means all other GPL project(s) can potentially benefit each other synergistic-ly.

    --
    Uh, Linux geek since 1999.
  21. Re:Dead end by wwphx · · Score: 2

    I use the yam fork, the GUI is less gooey.

    --
    When you sympathize with stupidity, you start thinking like an idiot.
  22. Re:On Debian that's allready done. by sjames · · Score: 3, Insightful

    If you have daemons that keep falling over and needing restart, you're already at the hack stage.

    But going to something that can't decide if it's a dessert topping or a floor wax is not the right answer.

  23. Re:On Debian that's allready done. by marcosdumay · · Score: 2

    Err, sorry, but Debian people don't say things like that.

    It has indeed be decided. If you don't like it, you do apt-get install sysvinit yourself.

  24. Re:On Debian that's allready done. by lennier · · Score: 3, Insightful

    This is an incredibly basic problem in multiprocess systems. It's like saying IF your computer crashes and needs to be restarted... in a datacenter, it's a matter of WHEN.

    Except that in today's hostile Internet, WHEN that broken Internet-facing process crashes it WILL be because it was pwned by shellcode, and if that process had write access to core files, your entire server is now rooted. If that process also had any read or write credentials to your local network, your entire data center possibly just got rooted also.

    Are you _really_ saying that the appropriate thing to do in that situation is to simply restart the process and continue? You'd be better to flash-wipe and reinstall at least the entire server node, and probably also change all your internal administration passwords. Otherwise, you're an infosec disaster waiting to happen.

    You're fighting a full-scale hot cyberwar out there, don't forget. It's no longer 1970. You don't have the luxury of trusting that incoming packets come from universities and defense contractors with administrators you can chew out with a phone call when they misconfigure stuff by accident. NSA owns the wires and your packets come direct from the Russian Mafia and Syrian Electronic Army.

    It's not a hack, because machines are NEVER perfect.

    It's totally a hack, and _because_ machines are never perfect you'd better be 150% certain that every single step in your error-recovery process is double and triple checked and accounts for every possible side-effect of executing evil x86 machine code with root permissions.

    Look, we both agree that Murphy rules. And you're right to say 'because random stuff happens, I need an overseeing process to automatically fix it'. But auto-restarting pwned services is not that fix, anymore, and it really hasn't been since 1999.

    --
    You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC