Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Operating Systems Open Source

Plan 9 From Bell Labs Operating System Now Available Under GPLv2 223

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."
This discussion has been archived. No new comments can be posted.

Plan 9 From Bell Labs Operating System Now Available Under GPLv2

Comments Filter:
  • Still holds up (Score:5, Insightful)

    by Anonymous Coward on Sunday February 16, 2014 @02:39AM (#46258405)

    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.

  • by Fri13 ( 963421 ) on Sunday February 16, 2014 @02:43AM (#46258421)

    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.

    • by Anonymous Coward on Sunday February 16, 2014 @02:45AM (#46258423)

      You're a file.

    • by icebike ( 68054 ) on Sunday February 16, 2014 @03:29AM (#46258545)

      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.

      • 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?

      • 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.

        • by lennier ( 44736 )

          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.

          Exactly. I'd like to see more exploration of something like Kahn process networks [wikipedia.org] as a fundamental programming abstraction; it seems to me that we need to be thinking of programs, filesystems and networks as examples of the same thing. Our networks are becoming software-defined (especially in virtualisation), our chipsets are compiled from languages like VHDL, our programs are becoming parallelised, and our filesystems are starting to grow virtual nodes and do processing. Seems dumb to be maintaining multip

      • 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
      • by lennier ( 44736 )

        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?

        • by icebike ( 68054 )

          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?

          At last someone who understands, unlike the other clowns posting replys to this thread.

          There are some things that just don't work as files, X11 being one obvious example, along with sockets, handles to data structures, entry points (methods) to loaded modules, etc.

          You can force these things into that mold, but you do so more as an intellectual exercise, at the expense of efficiency and speed, (and largely just to prove a point). There is no rational reason to carry the everything-is-a-file concept any furt

          • by fnj ( 64210 )

            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 s

        • by Rich0 ( 548339 )

          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?

          The problem with this is when does it end? How about menus? How about browser tabs? How about form fields in a browser? How about layers and pixels in gimp? How about paths in SVG?

          Why can't I just cp a tab from chrome to firefox and have the page magically open? Oh, with the forms filled out with the same data if I use -r.

          The problem is that this really only works if every application on the OS ends up being completely standardized, which means you can't add a feature to anything until you add it to e

    • I see your file, and raise you a redirection. Anyone who has had to write a simple ">" or "|> in JCL will know what I mean.

    • by suy ( 1908306 ) on Sunday February 16, 2014 @05:15AM (#46258749) Homepage

      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...

      • by fnj ( 64210 )

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

    • by Kjella ( 173770 ) on Sunday February 16, 2014 @07:10AM (#46259015) Homepage

      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.

    • I'd personally love it if everything is a void*
  • Hot grits (Score:5, Funny)

    by Hognoxious ( 631665 ) on Sunday February 16, 2014 @02:49AM (#46258437) Homepage Journal

    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!!!!

  • by phantomfive ( 622387 ) on Sunday February 16, 2014 @02:52AM (#46258451) Journal
    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 [github.com].
  • Was going to run the liveCD just cause, can't get in (too busy try again later).

  • And trying to put Everything in a box just makes Everything angry. Everything also doesn't like it when you anthromorphize it. For some value of Everything. I suppose some things might like it when you anthropomorphize them, but they're not Everything, are they?
  • Dead end (Score:2, Interesting)

    by countach ( 534280 )

    I'm by no means a plan 9 expert, but as far as I see, the paradigm that everything is a byte stream is a bit of a dead end idea. Something like everything is an object or some such paradigm is much more interesting. Sure, UNIX and it's ilk, with everything as a byte stream was a great advance on what came before. But a stream of bytes is inherently too low an abstraction to build everything on. Waiting for the day when an object database or something like it is at the heart of a modern popular OS.

    • You'll wait a long time: that's been tried and it doesn't work. There are simply too many conflicting demands placed on databases, and any OS that favors one over the other immediately makes itself irrelevant for a large chunk of possible applications.

    • Re:Dead end (Score:4, Insightful)

      by StripedCow ( 776465 ) on Sunday February 16, 2014 @06:53AM (#46258955)

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

    • 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.

    • by msobkow ( 48369 )

      Database at the heart of the OS?

      I think you're talking about IBM's approach with the AS/400.

    • 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.

    • by sjames ( 1099 )

      Objects can be serialized and the result looks like a file.

      More generally, everything is a namespace/filesystem.

      • by lennier ( 44736 )

        Objects can be serialized and the result looks like a file.

        More generally, everything is a namespace/filesystem.

        Yep. There's a very close connection between objects, dictionaries, relational tables, files/filesystems, and functions - all centred around binary relations, a fairly well-understood mathematical object - which seems well worth exploring. However, there haven't been (to my knowledge) many languages which attempt to explore this connection at a fundamental level.

        Here's a suggestion: we could fairly simply extend S-expressions so they allow for multiple lists or atoms after the dot in a dotted pair. This wou

        • by sjames ( 1099 )

          In a limited sense, the internet is already represented by /dev/tcp. For example, in bash do: cat

          That feature is part of bash itself and so only works within a bash script. A nice thing in plan9 is that a system daemon can be mounted as /dev/tcp and supply that service for any process that cares to use it (and has permission).

          I suspect (but do not know for a fact) that that is inspired by plan9. The concept could be expanded upon by adding persistence such that once it learned of a host it would show up

    • Agreed, Linux needs more CORBA.
    • by lennier ( 44736 )

      But a stream of bytes is inherently too low an abstraction to build everything on.

      How about taking it just one step forward to a stream of streams? Then we could at least create object-like structures but with minimal overhead. Plus, it would be a fully recursive definition that would lend itself to virtualisation.

      Of course, S-expressions are only 56 years old [wikipedia.org] so such a radical proposal isn't likely to be adopted any time soon.

    • Uhmm well you must not have been paying any attention over the years. The PICK OS [wikipedia.org]was just that. The OS was the database and the database was the OS.
  • my thoughts on plan9 (Score:2, Interesting)

    by Anonymous Coward

    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 w

    • The GPLv3 has the new patent licensing terms. I am speculating wildly, but whenever the GPLv3 is discussed a few people - and not always the same one or two - chime in and say that their employer won't work with GPLv3 for fear those terms would force them to give up the right to file a patent-infringement lawsuit under certain conditions. e.g. Alcatel-Lucent releases Plan9 under GPLv3, it grants implicit rights to some patent in source file X, and then Red Hat Linux puts source file X into OpenStack so th
      • The problem is worse than that, in my view. Suppose Bell has a patent on foo. Foo is not used in Plan 9. Microsoft wants the foo patent to go away. Microsoft puts a non-obvious reference to foo in their new raid card driver, then contributes a Plan 9 port of the driver. Alcatel is still distributing Plan 9, now with the reference to foo, at least for a few hours until they notice the problem. Alcatel has given up their patent on foo by briefly distributing Microsoft's code

    • Agreed on the license thing. I tend to view software development in terms of "raising the roof" vs "raising the floor". If something's new and unique, it's "raising the roof" and merits some protection. If something's old and not particularly special, it should be freely available (BSD/MIT free) so that it can form a new "base" level of performance that anyone and his dog can build on.

      Plan 9 is not new by any stretch of the imagination, and by trying to keep it restricted by GPL terms they've made it unattr

  • by tlambert ( 566799 )

    Unimpressed.

    I was involved in the genesis of no less than 5 major open source projects and 7 not so major. License is always a political thing. It has benefitted Samba, benefitted Linux less, Benefitted Hurd not at all, and benefitted Apache, OpenLDAP, and the BSD's to varying degrees.

    If they wanted to displace Mach in Hurd, they would have GPLv3'ed it (or done a "GPLv2 or later thing) so RMS could play daddy. They didn't. They're not going to displace Linux, which is the poster boy of GPL through v2, a

  • by stenvar ( 2789879 ) on Sunday February 16, 2014 @04:46AM (#46258693)

    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.

    • by stox ( 131684 )

      Plan 9 predates Linux, nobody was open sourcing a commercial product back then.

      The most commercial product, I can think of, that went open source, was Blender.

  • by stenvar ( 2789879 ) on Sunday February 16, 2014 @04:49AM (#46258701)

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

  • Licensing (Score:2, Interesting)

    by Zephiris ( 788562 )

    Unless I'm reading it wrong, it previously appears to've been released under a BSD-like license that is non-copyleft, allows commercial redistribution. The only reason it's GPL incompatible is because they describe the venue of law under which the agreement is binding.

    And they aren't dual-licensing, but simply relicensing from one to the other. That...is actually a step backwards. In general. I suppose for this particular code release, there's no difference of practical value, but in general it's still goin

  • 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.

  • Site doesn't seem to be accepting any connections to download this so here's a magnet uri:

    Magnet Link [magnet]

  • Had they published it under GPLv3 instead (Why Upgrade to GPLv3 [gnu.org], by rms), I would have been interested and been playing witht the code. Now, not. Your loss, Alcatel-Lucent.

Whoever dies with the most toys wins.

Working...