From: ast@cs.vu.nl (Andy Tanenbaum)
Subject: Unhappy campers
Date: 3 Feb 92 22:46:40 GMT
Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam
I've been getting a bit of mail lately from unhappy campers. (Actually 10
messages from the 43,000 readers may seem like a lot, but it is not really.)
There seem to be three sticking points:
1. Monolithic kernels are just as good as microkernels
2. Portability isn't so important
3. Software ought to be free
If people want to have a serious discussion of microkernels vs. monolithic
kernels, fine. We can do that in comp.os.research. But please don't sound off
if you have no idea of what you are talking about. I have helped design
and implement 3 operating systems, one monolithic and two micro, and have
studied many others in detail. Many of the arguments offered are nonstarters
(e.g., microkernels are no good because you can't do paging in user space--
except that Mach DOES do paging in user space).
If you don't know much about microkernels vs. monolithic kernels, there is
some useful information in a paper I coauthored with Fred Douglis, Frans
Kaashoek and John Ousterhout in the Dec. 1991 issue of COMPUTING SYSTEMS, the
USENIX journal). If you don't have that journal, you can FTP the paper from
ftp.cs.vu.nl (192.31.231.42) in directory amoeba/papers as comp_sys.tex.Z
(compressed TeX source) or comp_sys.ps.Z (compressed PostScript). The paper
gives actual performance measurements and supports Rick Rashid's conclusion that
microkernel based systems are just as efficient as monolithic kernels.
As to portability, there is hardly any serious discussion possible any more.
UNIX has been ported to everything from PCs to Crays. Writing a portable
OS is not much harder than a nonportable one, and all systems should be
written with portability in mind these days. Surely Linus' OS professor
pointed this out. Making OS code portable is not something I invented in 1987.
While most people can talk rationally about kernel design and portability,
the issue of free-ness is 100% emotional. You wouldn't believe how much
[expletive deleted] I have gotten lately about MINIX not being free. MINIX
costs $169, but the license allows making two backup copies, so the effective
price can be under $60. Furthermore, professors may make UNLIMITED copies
for their students. Coherent is $99. FSF charges >$100 for the tape its "free"
software comes on if you don't have Internet access, and I have never heard
anyone complain. 4.4 BSD is $800. I don't really believe money is the issue.
Besides, probably most of the people reading this group already have it.
A point which I don't think everyone appreciates is that making something
available by FTP is not necessarily the way to provide the widest distribution.
The Internet is still a highly elite group. Most computer users are NOT on it.
It is my understanding from PH that the country where MINIX is most widely used
is Germany, not the U.S., mostly because one of the (commercial) German
computer magazines has been actively pushing it. MINIX is also widely used in
Eastern Europe, Japan, Israel, South America, etc. Most of these people would
never have gotten it if there hadn't been a company selling it.
Getting back to what "free" means, what about free source code? Coherent
is binary only, but MINIX has source code, just as LINUX does. You can change
it any way you want, and post the changes here. People have been doing that
for 5 years without problems. I have been giving free updates for years, too.
I think the real issue is something else. I've been repeatedly offered virtual
memory, paging, symbolic links, window systems, and all manner of features. I
have usually declined because I am still trying to keep the system simple
enough for students to understand. You can put all this stuff in your version,
but I won't put it in mine. I think it is this point which irks the people who
say "MINIX is not free," not the $60.
An interesting question is whether Linus is willing to let LINUX become "free"
of his control. May people modify it (ruin it?) and sell it? Remember the
hundreds of messages with subject "Re: Your software sold for money" when it
was discovered the MINIX Centre in England was selling diskettes with news
postings, more or less at cost?
Suppose Fred van Kempen returns from the dead and wants to take over, creating
Fred's LINUX and Linus' LINUX, both useful but different. Is that ok? The
test comes when a sizable group of people want to evolve LINUX in a way Linus
does not want. Until that actually happens the point is moot, however.
If you like Linus' philosophy rather than mine, by all means, follow him, but
please don't claim that you're doing this because LINUX is "free." Just
say that you want a system with lots of bells and whistles. Fine. Your choice.
I have no argument with that. Just tell the truth.
As an aside, for those folks who don't read news headers, Linus is in Finland
and I am in The Netherlands. Are we reaching a situation where another
critical industry, free software, that had been totally dominated by the U.S.
is being taken over by the foreign competition? Will we soon see
President Bush coming to Europe with Richard Stallman and Rick Rashid
in tow, demanding that Europe import more American free software?
Andy Tanenbaum (ast@cs.vu.nl)
From: ast@cs.vu.nl (Andy Tanenbaum)
Subject: Re: Unhappy campers
Date: 5 Feb 92 23:23:26 GMT
Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam
In article <205@fishpond.uucp> fnf@fishpond.uucp (Fred Fish) writes:
>If PH was not granted a monopoly on distribution, it would have been possible
>for all of the interested minix hackers to organize and set up a group that
>was dedicated to producing enhanced-minix. This aim of this group could have
>been to produce a single, supported version of minix with all of the commonly
>requested enhancements. This would have allowed minix to evolve in much the
>same way that gcc has evolved over the last few years.
This IS possible. If a group of people wants to do this, that is fine.
I think co-ordinating 1000 prima donnas living all over the world will be
as easy as herding cats, but there is no legal problem. When a new release
is ready, just make a diff listing against 1.5 and post it or make it FTPable.
While this will require some work on the part of the users to install it,
it isn't that much work. Besides, I have shell scripts to make the diffs
and install them. This is what Fred van Kempen was doing. What he did wrong
was insist on the right to publish the new version, rather than diffs against
the PH baseline. That cuts PH out of the loop, which, not surprisingly, they
weren't wild about. If people still want to do this, go ahead.
Of course, I am not necessarily going to put any of these changes in my version,
so there is some work keeping the official and enhanced ones in sync, but I
am willing to co-operate to minimize work. I did this for a long time with
Bruce Evans and Frans Meulenbroeks.
If Linus wants to keep control of the official version, and a group of eager
beavers want to go off in a different direction, the same problem arises.
I don't think the copyright issue is really the problem. The problem is
co-ordinating things. Projects like GNU, MINIX, or LINUX only hold together
if one person is in charge. During the 1970s, when structured programming
was introduced, Harlan Mills pointed out that the programming team should
be organized like a surgical team--one surgeon and his or her assistants,
not like a hog butchering team--give everybody an axe and let them chop away.
Anyone who says you can have a lot of widely dispersed people hack away on
a complicated piece of code and avoid total anarchy has never managed a
software project.
>Where is the sizeable group of people that want to evolve gcc in a way that
>rms/FSF does not approve of?
A compiler is not something people have much emotional attachment to. If
the language to be compiled is a given (e.g., an ANSI standard), there isn't
much room for people to invent new features. An operating system has unlimited
opportunity for people to implement their own favorite features.
Andy Tanenbaum (ast@cs.vu.nl)
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Subject: Re: Unhappy campers
Date: 6 Feb 92 10:33:31 GMT
Organization: University of Helsinki
In article <12746@star.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes:
>
>If Linus wants to keep control of the official version, and a group of eager
>beavers want to go off in a different direction, the same problem arises.
This is the second time I've seen this "accusation" from ast, who feels
pretty good about commenting on a kernel he probably haven't even seen.
Or at least he hasn't asked me, or even read alt.os.linux about this.
Just so that nobody takes his guess for the full thruth, here's my
standing on "keeping control", in 2 words (three?):
I won't.
The only control I've effectively been keeping on linux is that I know
it better than anybody else, and I've made my changes available to
ftp-sites etc. Those have become effectively official releases, and I
don't expect this to change for some time: not because I feel I have
some moral right to it, but because I haven't heard too many complaints,
and it will be a couple of months before I expect to find people who
have the same "feel" for what happens in the kernel. (Well, maybe
people are getting there: tytso certainly made some heavy changes even
to 0.10, and others have hacked it as well)
In fact I have sent out feelers about some "linux-kernel" mailing list
which would make the decisions about releases, as I expect I cannot
fully support all the features that will /have/ to be added: SCSI etc,
that I don't have the hardware for. The response has been non-existant:
people don't seem to be that eager to change yet. (well, one person
felt I should ask around for donations so that I could support it - and
if anybody has interesting hardware lying around, I'd be happy to accept
it :)
The only thing the copyright forbids (and I feel this is eminently
reasonable) is that other people start making money off it, and don't
make source available etc... This may not be a question of logic, but
I'd feel very bad if someone could just sell my work for money, when I
made it available expressly so that people could play around with a
personal project. I think most people see my point.
That aside, if Fred van Kempen wanted to make a super-linux, he's quite
wellcome. He won't be able to make much money on it (distribution fee
only), and I don't think it's that good an idea to split linux up, but I
wouldn't want to stop him even if the copyright let me.
>I don't think the copyright issue is really the problem. The problem is
>co-ordinating things. Projects like GNU, MINIX, or LINUX only hold together
>if one person is in charge.
Yes, coordination is a big problem, and I don't think linux will move
away from me as "head surgeon" for some time, partly because most people
understand about these problems. But copyright /is/ an issue: if people
feel I do a bad job, they can do it themselves. Likewise with gcc. The
minix copyright, however, means that if someone feels he could make a
better minix, he either has to make patches (which aren't that great
whatever you say about them) or start off from scratch (and be attacked
because you have other ideals).
Patches aren't much fun to distribute: I haven't made cdiffs for a
single version of linux yet (I expect this to change: soon the patches
will be so much smaller than the kernel that making both patches and a
complete version available is a good idea - note that I'd still make the
whole version available too). Patches upon patches are simply
impractical, especially for people that may do changes themselves.
>>Where is the sizeable group of people that want to evolve gcc in a way that
>>rms/FSF does not approve of?
>A compiler is not something people have much emotional attachment to. If
>the language to be compiled is a given (e.g., an ANSI standard), there isn't
>much room for people to invent new features. An operating system has unlimited
>opportunity for people to implement their own favorite features.
Well, there's GNU emacs... Don't tell us people haven't got emotional
attachment to editors :)
Linus