L i n u x   N e w s

      A summary of the goings-on of the Linux community

         Issue #3, October 18 through 26, 1992


              "The nightmare continues"




**** Highlights in this issue

- Kernel 0.98.pl2 is out, but not very usable due to new error trapping
- ed is here, editor wars are over
- man pages for SLS
- Pirates BBS v1.9 available
- new RaWrite available
- xv 2.21 available
- Newspak available
- Kernel 0.98.pl3 is also out, with NULL pointer fixes
- more magazine articles
- Wizardly interview


**** Editorial

As you may have noticed, it isn't Saturday, which means that this issue
is a bit late.  Sorry about that.  The reason (but not an aplogoy, I
told you this was going to happen!) is that I decided I'd better keep
deadlines for studies instead.  (Incidentally, the same thing happened
to Linus, which caused 0.98.pl3 to be a few days late.)

Because of the lateness, and because I was somewhat busy and tired
during the weekend (up for 32 hours Sunday to Monday, returned the
report on the school project 5 minutes before deadline), I have probably
not been able to catch many announcements.  I have also not been very
motivated today to write extensive summaries, so some of the
announcements are very short (I slept for about 13 hours, but I'm still
sleepy).

For those waiting for a typeset version of Linux News: you'll have to
wait some more.  I have made typeset versions of issues 1 and 2, but the
look is not necessarily what I want: it doesn't particularly look like a
newsletter, nor is it particularly inviting.  I will see if I can get
some expert help in designing a better look (if you have experience with
making a layout for newsletters, I'd like to hear from you).

Issue 2 added an section that lists magazine articles that mention
Linux.  This issue adds an interview section.  Hopefully this section
will be appearing again, if I can get the energy to do a new interview
(not that this one was particularly tiresome), and can find new victims.


**** Notices

Linux News is only a summary, if you want more information about a
given subject, please see the source that is referenced at the end of
each note (for Usenet articles, the reference is the Message-ID of the
article).  I try to include all the relevant information, including
ftp sites and filenames, as given in the announcements (I probably
won't have the time or energy to check filenames, or to find pointers
to other ftp sites).  If possible, I will try to indicate directories
with a trailing /, e.g. ``pub/linux/SLS/''.

I won't include announcements on mailing lists or testing releases,
only things that are meant to be used generally (I admit that the line
can be somewhat difficult to draw, since the whole system is
pre-release).


**** News section


October 18.  Linus released kernel version 0.98 patchlevel 2.  He made
available both the full source and diffs from patchlevel 1.  New in
this version:
   * The new version contains a new FPU-emulator by Bill Metzenthen.
Bigger than the old one by Linus, but instead of only doing a few of
the most important instructions, it emulates the whole 387 instruction
set.  It is also much faster than the old emulator + the soft math
library.  The new emulator will make a separate soft-float library
unnecessary, which should simplify GCC distribution a bit.
   * Minor memory management fixes.  Actually, one of the minor fixes,
the trapping of kernel NULL dereferences, proved to break a lot code.
While this is normally a bad thing, in this case it is very good,
since it made a lot of kernel or driver bugs show up.  Unfortunately,
0.98.pl2 is not necessarily usable on many computers, since the kernel
bugs creep up too often.
   * SCSI driver changes by Eric Youngdale.  Mostly bug-fixes.
   * Some TCP/IP patches.  TCP/IP is still alpha, has not been
extensively tested, and is probably not up to real use yet.
   * Psaux mouse patches by Dean Troyer.
   Starting with this version, Linus will no longer be making
bootdisks.  That task will be taken over by H.J. Lu and Jim Winstead.
   Note: 0.98.pl3 was also announced, see later in this issue.
   FTP: nic.funet.fi: pub/OS/Linux/testing/Linus/  (you need to cd to
it blindly, since testing is unreadable).
   (Source: <1992Oct18.144546.28249@klaava.Helsinki.FI>)


October 19.  Peter Williams announced a debugged version of ed, the
Unix line editor, courtesy of Bill Metzenthen.  ed is used mostly by
patch and shell scripts.  In the early days of Unix (when paper
teletypes were common) ed was used as the primary editor (these are
referred to as ``the good old times'').  Actually, that was the editor
that the Linux News editor used when his modem was 1200 bps and his
terminal program didn't work (these are not referred to as TGOT).
   FTP: archsci.arch.su.edu.au (129.78.66.1): pub/linux/apps/ed.tar.Z
(both source and binary).
   (Source: <1992Oct19.232055.29209@ucc.su.OZ.AU>)


October 20.  Peter MacDonald announced an update to SLS.  It contains
manual pages that were accidentally removed in a previous release.
   FTP: tsx-11.mit.edu: disk b5 (presumably under pub/linux/SLS/)
   (Source: <1992Oct20.021600.28568@athena.mit.edu>)


October 20.  David Black announced Pirates BBS v1.9 for Linux.  It is
a multiuser bulletin board system.  Working kernel TCP/IP is required,
and 10 MB of disk space is recommended.
   FTP: sunsite.unc.edu:/pub/Linux/Incoming: pbbs-1.9.tar.Z
   (Source: <dbu102yi26St01@JUTS.ccc.amdahl.com>)


October 20.  Olaf Erb announced Wampes with Linux support.  The
announcement didn't describe what it was.
   FTP: ucsd.edu:/hamradio/packet/tcpip/incoming/wampes-921019.tar.Z
   (Source: <1992Oct20.180014.13048@rz.uni-karlsruhe.de>)


October 20.  Thomas Dunbar announced a port of GNU's free-standing
info file reader.  This package allows you to read the GNU on-line
documentation, instead of doing it from within GNU Emacs.  Also
included are makeinfo and texindex, used for formatting info files
from texinfo source code.
   FTP: tsx-11.mit.edu: /pub/linux/packages/TeX/Info.tar.Z (source
code), Info.Z and makeinfo.Z (binaries).
   (Source: <8489@vtserf.cc.vt.edu>)


October 21.  Mark Becker, the author of RaWrite, announced a new
version.  The new version is supposed to run on ``nearly everything
claiming to be compatible with the original IBM-PC''.
   RaWrite is an MS-DOS utility that is used to write out disk images
(e.g. bootdisks) onto floppies.  Under Linux the equivalent command is
``dd if=diskimage of=/dev/fd0'' (if you want to write to the first
floppy).  It is not possible to just copy the floppy image file to the
floppy under MS-DOS, since that will require the floppy to have the
DOS filesystem on it, which means that the disk will have extraneous
stuff on it, not just the parts in the image file.
   FTP: ftp.ai.mit.edu: pub/mbeck/rawrite3.zip
   (Source: <29679@life.ai.mit.edu>)


October 21.  Larry Butler announced an upload of xv 2.21 binaries.  There
was trouble with his first upload (compiled with debugging and hence
very large binaries), but that got fixed quickly.
   xv is a program for X that displays pictures in several different
formats.
   FTP: sunsite.unc.edu: /pub/Linux/Incoming/
   (Source: <1992Oct21.045610.5294@cs.tulane.edu>)


October 23.  Matthew Lewis announced an upload of dclock, an X clock
with alarm.
   FTP: sunsite.unc.edu: /pub/Linux/Incoming/dclock.taz
   (Source: <1ca2b1INN1ht@usenet.INS.CWRU.Edu>)


October 25.  Toomas Losin announced tvgalib, a graphics library for
Trident 8900C cards.  This is based on the vgalib library, which is for
generic VGA.  Neither requires or has anything to do with X or other
windowing systems.
   FTP: tsx-11.mit.edu (final pathname not given)
   (Source: <16746@mindlink.bc.ca>)


October 26.  Qi Xia announced a new program cksum, a (mostly) Posix
conforming checksum program (not compatible with Unix sum).
   FTP:  sunsite.unc.edu:/pub/Linux/Incoming
   (Source: <1992Oct26.172852.23913@sol.ctr.columbia.edu>)


October 26.  Vince Skahan announced an upload of Newspak v1.0.  It is a
package of programs related to Usenet news ported to Linux.  The
included programs are: C-news (12/22/91), tin (1.1pl4), trn (2.2), smail
(3.1.28).
   Newspak uses programs from Mailpak (by Ed Carp), which provided uucp
and mail for Linux.  (You don't necessarily need Mailpak, if you have
equivalent programs otherwise, e.g. from SLS.)
   FTP: sunsite.unc.edu:/pub/Linux/Incoming/newspak/ (probably moved
elsewhere by the time you read this)
   (Source: <1992Oct26.153845.215@victrola.sea.wa.us>)


October 26.  Thomas Dunbar announced TeX packaged as an SLS package.
   FTP: tsx-11.mit.edu: /pub/linux/packages/SLS/t[1-5]
   (Source: <8748@vtserf.cc.vt.edu>)


October 27.  Linus Torvalds (a.k.a. the Grand Wizard) announced patches
for kernel 0.98.3.  No complete sources as of this writing (should come
up soon).
   The new version should correct most of the kernel NULL pointer
reference problems (see earlier announcement).
   FTP: nic.funet.fi: pub/OS/Linux/testing/Linus/linux-0.98.patch3.Z
   (Source: <1992Oct27.040101.28497@klaava.Helsinki.FI>)


**** Xref section

Last week I had compiled a list of magazines that mention Linux.  I
have since then received a couple of updates, listed below.  I will
make a complete list in some future issue.

If you know of any additional articles, please send me a note that
tells which magazine and issue the article is in.  Page numbers would be
nice too.

I am usually unable to verify the information, since I have access
only to a rather small number of magazines.


CVu, the magazine of the C User Group (UK), has had regular articles (or
columns) about Linux for about the last six months.  I received an
e-mailed copy of one article, which contained updates about various
parts of and projects around Linux (TCP/IP, distributions, etc).

The Computer Journal, a small American magazine, has also mentioned
Linux in several issue.  The magazine was described to me in a way that
made it sound very much oriented towards hackers: one recent article
described how to build an IDE disk controller for CP/M.  (They obviously
cover more than CP/M.)


*** Interview

Why is Linux News better than BYTE, CACM, the National Inquirer, and
sliced bread?  We interview Linus!  In this first-ever, breathtaking,
revealing interview, the Grand Wizard Linus tells it all!  Well,
almost...


LN: Tell us a bit of yourself and your background.  Age,
    education, occupation, family, pets, hobbies, computing
    history, etc.

Linus:  Hmm.  I'm 22 (as some avid kernel source readers have already
    found out: there is a hidden clue in there somewhere...), and am
    (slowly) working my way towards a fil.kand (MSc? whatever) in
    computer science at the University of Helsinki.  I'm currently
    in my fourth year (hmm..  fifth, but one was spent in the army)
    of studies, and I expect to sit here studying for a long time to
    come.

    I still live at home (which is why I can afford to work on Linux
    and study at the same time without working too) with my (100%
    white) cat (Mithrandir, but it's called everything from "randi"
    to "klomppen" depending on my mood) and my sister and mother.
    The fun never ends.

    I started with computers (a VIC-20) when I was about 11, first
    with BASIC, then learning 6502 machine code (assemblers are for
    wimps).  I looked on with envy while my friends got their C-64's
    (I didn't have any more money then than I have now), but was
    eventually able to get a Sinclair QL and get some real
    programming done under a multitasking (albeit somewhat weird)
    system.

    On the sinclair QL I continued to program in assembly (The QL
    BASIC (SuperBasic) was ok, but I wasn't interested), and I wrote
    various more-or-less useless programs (ranging from a FORTH
    compiler and an editor-assembler system of my own to pac-man to
    a msdos compatible floppy disk driver).  The QL was a fun
    machine, but there weren't very many of them in Finland, and
    although I was generally happy to write my own programs (still
    am), it did teach me to buy hardware that actually is supported.

LN: When and why did you start writing Linux?

Linus:  I took this course on UNIX and C at the university in the fall
    of 1990, and I got hooked.  I had naturally seen some of the
    PC-contemptibles running msdos, and I was relatively happy with
    my QL, although some of the 386's were a lot faster.  But one of
    the books we read during the course was "Operating Systems,
    Design and Implementation" by Tanenbaum, and that way I learnt
    about Minix.  I wanted my home machine to have a similar setup
    to the suns at the university, and Minix seemed like a good
    candidate.

    So when I had scrounged up enough money, I bought myself an
    AT-386 compatible machine (well..  I didn't have enough money,
    so I'm still paying on it, but it seems I'll get enough money
    for Linux to finally pay off the last rates).  I had long since
    decided that anything less than a 386 wasn't worth it, and with
    Minix on it, I thought I'd have a nice enough system.

    As it turned out, Minix wasn't available in Finland (at least I
    wasn't able to find it easily), so while I got my machine on
    January 5th 1991 (easy date to remember due to the monthly
    payments :-), I was forced to run DOS on it for a couple of
    months while waiting for the Minix disks.  So Jan-Feb was spent
    about 70-30 playing "Prince of Persia" and getting aquainted
    with the machine.

    When Minix finally arrived, I had solved "PoP", and knew a
    smattering of 386 machine code (enough to be able to get the
    machine into protected mode and sit there looping).  So I
    installed Minix (leaving some room for "PoP" on a DOS
    partition), and started hacking.

    Getting Minix wasn't altogether a pleasant experience: the
    keyboard bindings were wrong, and it didn't exactly act like the
    suns I was used to (ugghh.  I *hate* the bourne shell for
    interactive work).  The keyboard was easy to correct (although I
    didn't like the Minix keyboard driver code), and applying Bruce
    Evans' 386-patches made the system a bit more "real".

    So somewhere around March-91, I had a 386 system running
    Minix-386, and I was able to install awb's gcc-1.37.1 port.
    After that, I was able to port bash to the resulting mess, and
    things looked a bit better.  I also spent my time generally
    fooling around (porting gcc-1.40 and various other programs),
    and kept on learning about the 386 while doing so (writing small
    boot-disks that would set up a protected mode environment and
    print out various inane messages).

    I had noticed by that time that Minix wasn't enough even with
    the 386 patches (various troublesome problems: no job control,
    ugly memory management, no fpu support etc).  So I slowly
    started to try to make something out of my protected mode
    trials, and the result is Linux.

LN: Please give a short summary of the history of Linux.

Linus:  Difficult.  "Linux" didn't really exist until about August-91 -
    before that what I had was essentially just a very basic
    protected mode system that had evolved from a glorified "Hello
    world" program into a even more glorified terminal emulator.
    Linux stopped for quite a while at the terminal emulator stage:
    I played around with Minix, and used my protected mode program
    to read news from the univerity machine.  No down/upload, but it
    did a fair vt100 emulation, and did it by using two tasks which
    communicated from keybodard->modem and modem->screen.

    By mid-summer -91, "Linux" was able to read the disk (joyful
    moment), and eventually had a small and stupid disk driver and a
    simple buffer cache.  So I started out trying to make a
    filesystem, and used the Minix fs for simple practical reasons:
    that way I already had a file layout I could test things on.
    After some more programming (talk about glossing things over), I
    had a very simple UNIX that had some of the basic
    functionalities of the real thing: I could run small
    test-programs under it.

    By that time I looked around for some standards texts - I
    decided early on that I didn't want to write the user-level
    programs, and that in order to easily port things I'd either
    have to make the new system compatible with Minix (ugghh) or
    follow some other kind of standard.  What I wanted was a POSIX
    guide, not so much to be 100% posix, but in order not to do
    anything really stupid I'd regret later.

    My quest for the posix standards failed, as the posix standard
    committee sells the standard to feed itself as I found out, but
    I did get a good pointer to the (then very alpha and
    unsupported) GNU libc.a, which had an early manual accompanying
    it.  The manual was of some help, but the biggest help was
    actually the contact to the person who pointed it out to me:
    arl@sauna.hut.fi.  He was/is the organizer of the pub/OS
    subdirectory at nic.funet.fi, and was interested in giving Linux
    a home at nic.

    Back then, I was only idly thinking about making my system
    available (and I had no real time-table), but arl happily
    created a pub/OS/Linux subdirectory at nic, and thus also gave
    the system it's name.  I wasn't really ready for a release yet,
    so the directory contained just a README for about a month
    ("this directory is for the freely distributable Minix clone" or
    something like that).  Arl probably thought the project wouldn't
    come to anything.

    Anyway, around the end of August-91 or so, I had a system that
    actually worked somewhat: I was able to run the Minix shell
    (recompiled with new libraries) under it, and some other things
    also worked.  I released Linux-0.01 in September, telling about
    it by mail to those who had shown interest in it when I asked
    around on the minix newsgroup.  0.01 was a source-only release,
    and I don't think anybody actually compiled it, but it was a
    statement of intent, and people could look at the sources if
    they wished.  I don't think more than about 5-10 people ever
    looked at it - I wasn't yet too happy about it, so I didn't
    announce it publically anywhere.

    A few weeks later (October 5th by the minix news-archives), I
    had gotten my act together sufficiently to release 0.02, along
    with a couple of binaries you could run under Linux (bash, gcc,
    update and sync, I believe).  It still needed minix-386 to
    compile the kernel, as the harddisk parameters were hardcoded
    into the hd driver, but I know some people had it up and
    running: arl even sent me some ftp-statistics about it (which
    I've sadly deleted by now).  Gcc wasn't reliable under linux
    yet: it couldn't compile big files due to various buffer-cache
    problems, but you could get small programs going even under
    0.02.

    Not much later, I released 0.03, which actually worked pretty
    well - the buffer cache mostly worked, as did most other things.
    Heady with my unexpected success, I called the next version
    0.10, and by that time I already got comments from early
    beta-testers, as well as actual patches.  The linux community
    wasn't much: maybe 10-20 minix users who enjoyed hacking a new
    kernel.

    After 0.10 came 0.11, and things were pretty much plain sailing.
    The system was stable enough to be used for further
    developement, and it was "just" a matter of correcting bugs and
    extending the system.  I added swapping to the system in three
    days just before X-mas 91, and was finally able to say that I
    was no longer playing catch-up with Minix.  The swapping code
    was ugly and not very well tested: it actually had bad bugs in
    it until I needed it myself when X11 came around, but it was
    something of a milestone.  The next version (0.12) came out
    exactly (?)  one year after I bought my computer (Jan 5th -92),
    and it was the version that finally got popular: by that time it
    was a very much valid alternative to Minix, and people started
    getting interested.

    Later versions (0.95 etc) have had a lot of new features, and
    quite a few bug-fixes.  There have also been major re-writes
    (first the fs was slowly changed to have a vfs layer, then the
    kernel sleep/wakeup primitives got rewritten, and then the mm
    got restructured).  In spite of that, I think 0.12 was what
    might have been called 1.0 - it had the basic features, and
    worked.

LN: Have you enjoyed the past year and a half?  Have you liked some
    things especially, have there been things you haven't liked?

Linus:  It's definitely been fun.  Things have changed pretty radically:
    the early couple of months were solitary hacking runs with 5-10
    reboots a day to check out bugfixes/features - seeing the system
    evolve noticeably in a relatively short time.  Now, most of my
    Linux hacking time goes into design (new features do take some
    more thought now) and/or administrative things like keeping up
    with linux mails etc - it's seldom a question of 40+ hours a
    week of pure hacking.

    Getting mail (within limits) is fun: especially if it's 99%
    positive, as it has been.  And people have been generally
    enthusiastic, sending patches, ideas, requests for features,
    etc.  There are downsides: before the newsgroup got founded, I
    often got more than 70 mails a day.  Things have calmed down
    significantly: while I still get 20-40 mails per day, many of
    them are from the mailing-lists and not to me personally, so
    that I can essentially ignore them if they aren't interesting.

    Negative things have been mostly due to driver problems: while
    people have been very nice about it, it's still not fun getting
    mail about "the system from hell that ate all their files".
    Especially if I haven't had a clue about what could be wrong.
    Other problems have included just lack of time and different
    priorities: some people have gotten impatient when I haven't
    included some special feature or other.  I usually need some
    kick-starting if it's not something I'm especially interested
    in.

LN: Why is Linux copylefted?  The copyright was different in the
    early versions.  Why did it change?  Do you support the GNU view
    of software in general?  What are your feelings about freeware,
    shareware, and commercial software?

Linus:  One of the basic principles has always been being that it should
    be freely distributable without any money-begging.  I generally
    dislike shareware: I feel guilty about not paying, so I don't
    use it, but on the other hand it is irritating to know that it's
    there.  Illogical, but that's how I feel.

    Early versions of Linux had a very strict copyright: it
    disallowed any payments at all (not even copying costs etc),
    while otherwise being similar to the GNU copyleft (ie freely
    distributable assuming full source is made available).  It was
    probably an over-reaction to the dislike I felt against the way
    Minix had been set up: I thought (and still do) that Minix would
    have been better off had it been freely available by ftp or
    similar.

    The copyright got changed with version 0.12, as there were a
    couple of mails even back then asking about the possibility of a
    copying service or similar.  After removing that clause from the
    copying conditions, I essentially had the GNU copyleft (without
    the legal verbiage), so I decided I might as well use the
    copyleft as-is.  And as Linux depended (still does) heavily on
    copylefted programs, it's only natural that the kernel should be
    copylefted as well.

LN: When are you planning the 1.0 release, and what do you expect it
    to include?

Linus:  I've planned the 1.0 release for a long time, and I've always
    waited just a bit longer.  Right now my final deadline is
    "before X-mas", but I hope it would be ready before December.
    No major new features: I want some cleanups and to get rid of
    bugs, but it's nothing special I'm waiting for right now.

LN: How do you feel about Minix, 386BSD, and Hurd and their authors?
    Are they rivals, or or allies?

Linus:  386BSD and Hurd are most definitely allies - I'll be happy to
    help them any way I can (for 386BSD I was already able to help
    with the math-emulator, and I've been in contact with some
    others re: vm86 etc).  If 386BSD had been available a year
    earlier, I would probably never have started on Linux, but as it
    is, I'm happy to say that 386BSD didn't automatically mean that
    Linux wasn't worth it.  Both 386BSD and Linux have their points,
    and I naturally think Linux is more fun.

    As to Hurd, I don't know when it will be ready nor what it will
    look like.  But it will be different enough that I don't think
    there is any point in considering it a rival.  I doubt Linux
    will be here to stay, and maybe Hurd is the wave of the future
    (and maybe not), but at the very least it's an interesting
    project.

    Minix...  Hmm.  It's no longer a rival, unless ast does
    something really unexpected with it - the niches are simply too
    different.  Linux won't work on many machines that Minix runs
    happily on (x86, x<3, amiga, mac etc), and even on a 386, Minix
    is still probably preferable as a teaching tool due to the book.
    But for anybody who used Minix to actually get a UNIX
    environment at home, I don't see any reason to stay with it, as
    both 386BSD and Linux are free and give much better features.

    On the other hand, I have to admit to a very unbecoming (but
    understandable, I hope) feeling of glee when I saw that
    c.o.linux had finally more readers than c.o.minix.  There was a
    heated discussion about Linux on the Minix newsgroup back when
    c.o.linux (actually, alt.os.linux at that time) had just begun,
    and ast tried to ridicule it (one of his comments on c.o.minix
    being that I wouldn't have passed his course in OS design with
    such a bad system..).  Ast and I mailed about it, and it left a
    slightly bitter after-taste.

LN: The Jolitzes suggested a while ago a contest between 386BSD and
    Linux, what do you think about it?

Linus:  I don't necessarily think it would be a good idea: I cannot
    imagine how it would be "judged" or whatever.  The only contact
    Linux and 386BSD has had has been only positive (aside from
    occasional flame-wars, but it's a religious argument..), and I
    don't think there is any need to try to get any kind of rivalry
    going.  The argument seems to have been that such a contest
    would make both systems better, but I frankly doubt that is the
    case: both 386BSD and Linux will evolve even without any special
    contest held between them, and a contest would just result in
    more rivalry and flame-wars.

    Linux and 386BSD have totally different goals - 386BSD wants to
    be BSD, while Linux just is whatever we make of it.  386BSD was
    helpful in giving me some ideas (I read the Jolitz column in DDJ
    with interest), and while it's a bit scary to have a big and
    well known UNIX kernel that fills a similar niche as Linux,
    there is no reason to choose one over the other on a larger
    scale.  People will prefer one or the other, and if either shows
    itself to be much better/popular, so be it.

LN: What about the future?  Are you planning to support Linux, or do
    you intend to retire and let it survive by itself?

Linus:  I'm most certainly going to continue to support it, until it
    either dies out or merges with something else. That doesn't
    necessarily mean I'll make weekly patches for the rest of my
    life, but hopefully they won't be needed as much when things
    stabilize.

LN: Are you going to write a book about Linux?  Or a detailed
    history, > with all the gory details revelead?

Linus:  I don't like writing documentation, and writing a book is
    certainly not planned.  There is some pressure for me to write a
    history, hope this interview will server at least partly as one.
    And there certainly won't be any gory details: if there were,
    I've already forgotten them (or flushed them: I have sadly
    deleted my correspondence with ast along with all other old
    mail.  I simply don't have room for it, and I'm too lazy to back
    it up.)

LN: Is Linux your dream operating system?  Are there things that you
    dislike, or would like to do differently, if you would start
    over from scratch?

Linus:  There are things I'd like to change - but then it wouldn't be
    UNIX any more.  There are good points to a microkernelish design
    and distributed systems: I just haven't got the resources to do
    anything about it.  I'd like to do a more exotic system, with
    better support for pending I/O, distribution of processes etc,
    but with just one 386 at home, I'm not likely to do anything
    about it in the next few years.  And maybe I'll have found a new
    area of interest by then anyway..

    But in general, I think Linux does what I was looking for pretty
    well.  There are details I dislike in the kernel, but the basic
    ideas have worked well, and there are no major ugly warts in the
    Linux design.  So in that way it is kind of a dream system -
    just enough problems to keep up the interest, and keep it
    evolving.  No program is ever perfect, and operating systems are
    interesting programs: there are a lot of things you have to keep
    track of, and a lot of different ways you can solve the
    problems.  Linux does it one way: 386BSD has many basic
    similarities in design, but some major differences in
    implementation.  Then there are OS's like Hurd (well, Mach right
    now) and Amoeba which have a totally different design strategy,
    giving different problems and solutions.  There may be one right
    way of doing things, but I doubt it: and Linux doesn't do too
    badly.