<html>
<!--
Edit ./^$/,s/<table border=0 cellspacing=0 cellpadding=0 width=100%/<Table/g
Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
-->

<head>
<base href="http://swtch.com/plan9port/">
<title>Plan 9 from User Space - Download</title>
</head>
<body bgcolor=#ffffff>
<Table>
  <tr height=10><td width=20><td><td width=20>
  <tr><td><td>
    <center>
      <img src="dist/spaceglenda100.png" alt="Space Glenda">
    </center>
    <Table><tr height=10><td></table>
    <center>
      <font size=+1><b>Plan 9 from User Space - Download</b></font>
    </center>
    <Table><tr height=10><td></table>
    <center>
      <a href="man/man1/intro.html">overview</a>
      |
      <a href="screenshots/">screen shots</a>
      |
      <a href="man/">manual</a>
      |
      <a href="man/man1/install.html">install notes</a>
      |
      <a href="download.html">download</a>
      |
      <a href="man/man1/cvs.html">cvs</a>
      |
      <a href="unix/">unix</a>
    </center>
    <Table><tr height=10><td></table>
    Plan 9 from User Space (aka plan9port)
    is a port of many Plan 9 programs from their native
    <a href="http://plan9.bell-labs.com/plan9/">Plan 9</a>
    environment to Unix-like operating systems.

    <Table><tr height=20><td></table>
    <b>supported systems</b>
    <Table>
      <tr height=10><td width=20><td>
      <tr><td><td>
        Linux <font size=-1>(x86 and PowerPC)</font>,
        FreeBSD <font size=-1>(x86)</font>,
        Mac OS X <font size=-1>(Power PC)</font>,
        SunOS <font size=-1>(Sparc)</font>.
    </table>

    <Table><tr height=20><td></table>
    <b>getting started</b>
    <Table>
      <tr height=10><td width=20><td>
      <tr><td><td>
        Start with the overview in
        <a href="man/man1/intro.html"><i>intro</i>(1)</a>.
        <a href="man/man1/install.html"><i>Install</i>(1)</a>
        explains how to install the system.
    </table>

    <Table><tr height=20><td></table>
    <b>acknowledgements</b>
    <Table>
      <tr height=10><td width=20><td>
      <tr><td><td>
      
        Most obviously, plan9port derives from
        <a href="http://plan9.bell-labs.com/plan9">Plan 9 from Bell Labs</a>
        and would not exist without the work of the Plan 9 team over the
        past many years.
        
        <Table><tr height=10><td></table>
        
        Many people have provided help,
        ported programs, written bug reports, 
        sent useful patches, and gotten plan9port running on new
        operating systems.  A few have done far more than their fair share. 
        
        <Table><tr height=10><td></table>
        
        Rob Pike suggested the original X11 port of libdraw years ago,
        as part of drawterm, and strongly encouraged the Mac OS X work.
        He has also been a consistent source of good ideas to hide
        the ugliness of modern Unix.  
        
        <Table><tr height=10><td></table>

        William Josephson handled
        <a href="man/man1/troff.html"><i>troff</i>(1)</a>
        (with Taj Khattra) and many of
        the supporting programs.  He also inspired the recent thread library
        clean-up and has ported a handful of applications.
        
        <Table><tr height=10><td></table>
        
        Andrey Mirtchovski and Axel Belinfante have done significant
        work dealing with X11 corner cases and fine-tuning
        <a href="man/man1/rio.html"><i>rio</i>(1)</a>.
        Axel never tires of finding bugs in the SunOS port.
        
        <Table><tr height=10><td></table>
        
        Eric Van Hensbergen brought the system up on Linux/PowerPC.

        <Table><tr height=10><td></table>

        Thanks to all.
        
    </table>
    
    <Table><tr height=20><td></table>
    <b>contact</b>
    <Table>
      <tr height=10><td width=20><td>
      <tr><td><td>
        Russ Cox <font size=-1>(<a href="mailto:rsc@swtch.com">rsc@swtch.com</a>)
    </table>

    <Table><tr height=20><td></table>
    <b>unix extracts</b>
    <Table>
      <tr height=10><td width=20><td>
      <tr><td><td>
        The UTF-8 library, the formatted print library, 
        the buffered I/O library, the (Unicode-capable) regular expression
        library, and mk are available in packaging separate from plan9port.
    </table>
    
    <Table><tr height=20><td></table>
    <b>history</b>
    <Table>
      <tr height=10><td width=20><td>
      <tr><td><td>
        <a href="http://plan9.bell-labs.com/plan9dist/ureg.html">
          Sean Quinlan's 9pm
        </a> &#8722; a port of an earlier Plan 9 (including <a href="man/man1/sam.html"><i>sam</i>(1)</a>) to Windows
        <br>
        <a href="http://www.cs.usyd.edu.au/~matty/9term/">
          Matty Farrow's 9term
        </a> &#8722; a native X11 version that inspired <a href="man/man1/9term.html"><i>9term</i>(1)</a>
        <br>
        <a href="http://unauthorised.org/dhog/9wm.html">David Hogan's 9wm</a>
        and
        <a href="http://lists.cse.psu.edu/archives/9fans/1994-November/003081.html">Arnold Robbin's 9menu</a> &#8722; precursor to 
            <a href="man/man1/rio.html"><i>rio</i>(1)</a>
        <br>
        <a href="http://www.star.le.ac.uk/~tjg/rc/">Byron Rakitzis's rc</a> &#8722; a mostly-compatible clone of Plan 9's <a href="man/man1/rc.html"><i>rc</i>(1)</a>
        <br>
        <a href="http://www.cs.yorku.ca/~oz/wily/">Gary Capell's wily</a> &#8722; an <a href="man/man1/acme.html"><i>acme</i>(1)</a>-inspired editor
    </table>

    
  <tr height=10><td>
</table>

</body>
</html>
