Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Dec 2002 14:01:54 -0500
From:      Rahul Siddharthan <rsidd@online.fr>
To:        Giorgos Keramidas <keramida@ceid.upatras.gr>
Cc:        Jonathon McKitrick <jcm@FreeBSD-uk.eu.org>, chat@FreeBSD.ORG
Subject:   Re: FreeBSD's momentum and future prospects
Message-ID:  <20021222190153.GA2873@papagena.rockefeller.edu>
In-Reply-To: <20021222172853.GC16833@gothmog.gr>
References:  <20021222034806.GA34537@dogma.freebsd-uk.eu.org> <20021222064026.GA421@papagena.rockefeller.edu> <20021222065216.GA468@papagena.rockefeller.edu> <20021222172853.GC16833@gothmog.gr>

next in thread | previous in thread | raw e-mail | index | archive | help
Giorgos Keramidas said on Dec 22, 2002 at 19:28:53:
> On 2002-12-22 01:52, Rahul Siddharthan <rsidd@online.fr> wrote:
> > Meanwhile, stability under extreme loads (which may occur 0.1% of
> > the time) may be a priority for servers, but for desktop machines
> > and "numbercrunching" machines, raw performance the remaining 99.9%
> > of the time is far more important.  Even on uniprocessor machines,
> > linux sometimes "feels" faster, if (or because?) it's somewhat less
> > solid (eg the async-mounted filesystem, etc), and these perceptions
> > eventually do influence user choice...
> 
> Yup.  I have heard the argument "but it feels faster" many times from
> Linux-using acquaintances & friends.  This doesn't make the user
> choise any more correct or wrong though.  The "feel" is not a very
> objective way of measuring things, and choises based on the general
> feel of a system are sometimes .. well .. unlucky? :)

In many things you're right.  However, Jonathon was also talking about
penetration on the desktop, device driver support, etc, so let me play
devil's advocate (as opposed to daemon's advocate) for a moment...

Regarding the filesystem, well softupdates-enabled ufs is more
crash-resistant than linux.  But even there it's not black and white.
Two things:

1. on IDE disks with write-caching on, the filesystem can be damaged
   in the event of a crash even on FreeBSD.  The FreeBSD people know
   this, and turned write-caching off by default (in 4.4-RELEASE iirc),
   but turned it back on rather quickly in response to user outcry.  So
   there you have a FreeBSD bad decision made basically for PR reasons...
   (I turned off write-caching after a crash messed up my drive, and I
   haven't noticed any significant performance loss.)

2. FreeBSD people like to diss the journalling filesystems on linux
   ("it's a 'bandaid' in case of crashes, and our filesystem is
   crash-resistant and don't need a bandaid").  This misses the major
   advantage of journalling filesystems: fast rebooting.  If you have 
   60 G of data on an important server, you don't want to wait half an 
   hour while it checks the FS before rebooting.  5.0 has background 
   fsck to alleviate the problem, but people's experience with that 
   seems, well, mixed (judging by the mailing lists...)

So, basically, I can forgive linux people for thinking their
filesystems perform better, even if strictly speaking that's not true.

Regarding other things, I think linux may actually be *more* stable
than freebsd.  I remember an article by Greg Lehey long back where he
claimed that FreeBSD's device support is nearly as good as Linux's but
we're less aggressive about marketing it (eg, linux people will say
"such and such works fine, well ok there are these problems and these
things don't quite work, but basically we do support it" where freebsd
people will say "support is very preliminary, use at your own risk").
Well if that was true once, I'm not sure it's true now.  USB support
in particular seems quite flaky (ironic since FreeBSD's actually
supported USB longer than linux).  I can readily make my computer
panic with the USB audio driver, which I've been using for around a
year, but which was merged into -stable only recently (just before
4.7-RELEASE).  Basically, unplug it, or just jiggle the plug a little
(easily done by accident) while audio output is going on -- instant
panic.  The problems are known and noted in the cvs log when it was
merged, but it was merged into -stable anyway.  I think it's atrocious
that something known to be this flaky can get into -stable.  But on
browsing the mailing list archives, it seems lots of other USB devices
have problems.   Clearly this a quality v/s PR compromise -- better to
claim "we support USB audio" than keep it out until it works (and the
4.7 release notes don't even note the problems).  For the record, the
device works with absolutely no hitch under linux, in fact it's the
only reason I now have linux as dual-boot on my machine.

There are even older problems with FreeBSD.  At least one such problem
went unresolved for literally years.  (I don't know whether it's fixed
now.)  Basically, mount a write-protected floppy in read-write mode,
try to write to it, then try to unmount it -- instant panic.  

I still think FreeBSD is a great system, because its fundamentals are
sound.  But I wouldn't be so hasty to condemn linux -- they have got
lots of things right and it's good to learn from them.  But
fundamentally I think they're more responsive to users because they
carry less historical/ideological baggage.  For example -- gentoo
linux has a ports-like system which was conceptually borrowed from
FreeBSD's ports, but is now much better than FreeBSD's in my opinion.  
See this post for why I think so:
  http://slashdot.org/comments.pl?sid=45444&cid=4704115 
Now, one reason they probably managed to develop something so good, so
fast, is that they used bash and python (as a result, python is in
their "base system", and bash would have been there in any case).  I 
have no doubt that they'd have willingly used ruby if it suited their 
purposes.

Now, FreeBSD does have something which solves many of the problems of
the basic ports system -- namely, portupgrade -- but it's written in
ruby so it's never going to make it to the base system.  And now perl,
too, is out of the base system; so until someone writes something
better in plain C or sh, we're going to be stuck with the basic ports
infrastructure...

There are lots of other things I could say, but it all comes down to
this: I think FreeBSD people could learn to be more tolerant of the
"linux way".  Linux is a fast-evolving, highly mutating ecosystem,
there is no standard "base system" and not even a standard kernel:
hardly anyone uses a vanilla Linus kernel anymore.  As a result there
are a lot of rough edges and minor incompatibilities, and some core
components aren't as stable as they should be.  But they also come up
with a lot of good ideas, which then make it somewhere (if not in
Linus's tree, in Alan Cox's or somewhere else; if not in Red Hat's
distribution, in SuSE's or Gentoo's).  I think that's why people are
attracted to it. 
 
- Rahul

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021222190153.GA2873>