Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Apr 2001 04:26:47 -0700
From:      "Ted Mittelstaedt" <tedm@toybox.placo.com>
To:        "Duke Normandin" <01031149@3web.net>
Cc:        <freebsd-questions@FreeBSD.ORG>
Subject:   RE: BSDi Acquired by Embedded Computing Firm Wind River
Message-ID:  <000701c0c0e7$f6b4db40$1401a8c0@tedm.placo.com>
In-Reply-To: <20010408175333.B117005@mandy.rockingd.calgary.ab.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
>-----Original Message-----
>From: Duke Normandin [mailto:01031149@3web.net]
>
>So...is it fair to say that given the multitude of junk hardware in
>active use, that M$ and perhaps Linux have done an outstanding job in
>1. writing relatively stable drivers for this so-called crap, and 2.,
>dove-tailing same with their perhaps not-so-stable kernel(s)? As well,
>that this whole discussion is really about quality and availablity of
>junk-hardware drivers?
>

Not exactly, I'll try to drag it back.  The discussion started out as:
"which makes a better desktop system, FreeBSD or Linux"  I moved into
a discussion of hardware because that's the most visible and easily
understandable difference between the two camps.

Many's the time I've seen people complain that FreeBSD didn't support
their pet Wonkulating Gronkulator and that Linux did - and after you
get into it with them, it always seems to come out in the discussion that
their Wonkulating Gronkulator card costs $14, and the card that FreeBSD
_does_ support that does the same thing, costs $25.  (and is technically
a better card)

But, there's other differences too.  Consider the work done on the shared VM
system - this is directly applicable to servers, espically large servers.
After all, if your just thrashing around a desktop system you probably don't
care a heck of a lot about running 400 simultaneous httpd sessions. (which
is where saving a 500K or so per-process starts to add up to some serious
performance improvement)

>
>True enough! However, in your vast experience, what percentage of the
>current and future Unix users do you suppose can afford the quality of
>basic and peripheral hardware that commercial houses opt for -- and more
>importantly, that the FreeBSD top-level folks *seem* to have deemed to be
>the only type that drivers would be written for?
>

You got it backwards, actually.  In my experience it's precisely the
commercial houses, large companies that are purchasing 500 desktop systems
at a time, for example, that will chintz and scrape to save a nickel.
The problem is that these folks (mostly) are too dumb to see that if they
save $200 per machine and get a system that's garbage-grade, that over the
life of that system it's going to cost far more than $200 additional in
frustrated technician time to fix up.

There's a reason that people like Dell have gone to _plastic_ cases (which
besides consuming precious hydrocarbons that are better used elsewhere, they
fill up the landfills with unusable, unrecycleable scrap) it's because they
can save $10 per machine, and the large commercial buyers, well some of them
are this stupid that they will make a purchasing decision based on $10!!

>Your comments above, IMHO, support your previous suggestion that this
>whole issue revolves around certain strategic marketing decisions that
>have been made. Something to the effect that -- we'll aim at being the
>best server platform possible, and to hell with catering to the desktop
>users with their paeon junk hardware. If they're clued-in enough to get
>with the program and come up to standards, then it'll work for them, up
>to a point. Otherwise, piss on em! Am I being unfair?
>

I think that actually this more closely describes the actual fact than
most people would like, but I think your being very unfair with this
as an attitude characterization.

For starters, no developer that writes a device driver WANTS to write crappy
code.  After all, your name is prominently splashed all over the code, I
can't think of a worse way to be known in this business than to have your
name attached to a device driver that gives people problems.

So, what happens invariably is that the developer sits down, and writes the
driver, and tests it with as many devices as he can get.  Naturally, this is
someone who takes his computing very seriously, he or she isn't going to own
any crap hardware.  Furthermore, most of his or her friends that are running
FreeBSD and would be inclined to test his code, well they are serious people
too and they don't own crappy hardware.

So, everyone blesses the driver as good, and next FreeBSD release it shows
up.  Shortly after that a flood of complaints come in from users that have
devices that aren't compliant, and develop problems.

Now, the developer at this point could say "screw you it works on all this
tested stuff, buy one of the tested devices".
I have to say, that when the items are really, really cheap, (like
soundcards, for example) and the price differences are a few dollars, this
may be a perfectly valid attitude to have.

But, most developers sift through the complaints and try to find
commonalities.  Say the driver is for a network card chipset, well the
developer finds that 90% of the complaints are from 1 manufacturer's card
that uses this chipset - well, the developer most likely will obtain one of
these cards and test against it and fix the driver.  But, will he then go on
and fix the problems in the remaining 10% of complaints?  Would it be a good
use of time for him to fix them?

>> I don't think that there's inherently anything that someone
>wants to do on
>> a desktop system that is hazardous to the operating system.  However,
>> certainly there's programs that people want to run that ARE hazardous to
>> the computer!  For example, I've seen Pagemaker crash a system for no
>> reason whatsoever, except application software bugs.
>                                        ^^^^^^^^^^^^^
>Sure....which can happen in a strict server setting as well, e.g, a
>flaky NIC driver.
>

To clarify what I was saying - the $64 question is this:  Is the market
demanding a SOLUTION to a problem, or are they demanding a SPECIFIC
APPLICATION PROGRAM AS THE SOLUTION to a problem?

Microsoft has built an industry trained to think that there's only ONE
solution to their particular problem.  So, if the end users are programmed
into this - and they happen to be demanding a buggy program - then
you may need to do Bad Things to the operating system to support
this buggy program.

Of course the first step to solving this is to convince the end users that
they can use MANY DIFFERENT solutions to their problem - they aren't
married to Microsoft's answer, nor to anyone else's answer.

>> If you are willing to use FreeBSD as a desktop OS - which means giving up
>> the ability to run certain windows applications - then you will probably
>> have no problems with it.  Now, if you were a programmmer and
>you "forced"
>> FreeBSD into running _all_ Windows applications, well then you
>might have to
>> make serious compromises in system integrity to do it.
>
>Would Netscape be a good example of the above? I take it that you are
>suggesting that FreeBSD ports of some Windows programs are poorly done
>*and* that the peripheral hardware that some of these use/require lead to
>system performance degradation due to FreeBSD's poor junk-hardware
>support?
>

No, that's not what I was thinking.  Suppose someone out there writes a
software package that let's FreeBSD use Windows device driver binaries.
This would definitley compromise FreeBSD system stability.  If someone ever
DID do something like this, my guess is that FreeBSD would reject it out
of hand, while Linux would add that support right in.

>
>Sure...Like you said marketing; marketing, marketing! Those Linux folks
>aren't stupid either I suppose. I'm sure that they also recognize the
>preponderance of the junk hardware that's being used both in private and
>corporate settings - globally. So it's my guess that they are trying to
>make the best out of a not-so-good fact of life, by writing the best
>drivers possible for as much junk as possible -- in order to win over as
>many new converts as possible, to the "Unix way". Isn't *that* what it
>should be about -- at least to some degree?
>

But, your missing something - the "UNIX Way" is to use the best tool for the
job, not to ram a hammer in there for all solutions.  Therefore, why use a
substandard tool (ie: substandard computer hardware) to solve your
problems?

You have to draw the line in the sand somewhere.  If Linux bends over
backward to support every last little junk device, then they are basically
saying "Hey everyone, there's no standards to uphold in the computer
industry, just use whatever junk you want and the software guys will sort it
all out later"  This is just like what Windows is doing.  So, I have to say,
if Linux is going to be this much like Windows, then why run Linux when you
can run Windows?

>Ted...how do you suppose Linux would behave as a server and/or desktop
>platform if it ran on equipment that FreeBSD considered absolutely
>top-notch?  Equal to FreeBSD? A tad better or a tad bellow -- setting
>aside any BSD bias (if applicable) for a moment?
>

There's just too many variables to even attempt to answer that.  What kind
of serving? What application? What's the load, yadda yadda yadda...

>> Compounding the problem of answering this question is the fact that Linux
>> and FreeBSD are at the very _beginning_ of their life interfacing with
>> commercial software and hardware vendors.  There's still a large
>amount of
>> new hardware that's being released _without_ support for Linux/FreeBSD
>> drivers.  Manufacturers are just beginning to come around and start
>> including Linux drivers in new systems, and we haven't yet seen
>that large
>> divergence of Linux into the desktop, and FreeBSD into the
>server market.  I
>> see the tendencies for it, however, which is why I made the
>comments that I
>> did on this issue.
>
>I agree with this completely. FreeBSD is evolving. Having lurked on this
>list for almost 1.5 years now, my sense that if FreeBSD was once looked
>upon by some of the original developers as simply an enjoyable hobby, it
>certainly should not be seen as *only* that anymore -- not if FreeBSD is
>to grow and spread.

I don't think that it is seen as that anymore, and hasn't been seen as that
for a long time now.  I think the issue really is not _whether_ it's
spreading, but _how_ and _where_ it's spreading.

This is going to sound somewhat snobbish, but it's in our interest to see
that FreeBSD is used by the "right people".  We don't want to have the
majority of FreeBSD users comprised of people that never contribute one
second of their time, or one dime of their money back to the project, or to
other FreeBSD users.  We also don't want to bring on a huge raft of newbies
that have no patience for any software program that requires them to use
their brains to understand and use it.

I always think of this whenever someone suggests shit-canning
/stand/sysinstall in favor of some GUI-based X-Windows installation program.
Well, the graphical install programs are nice, and are easy enough so that
anyone can use.  But, what's the point of making the OS install so simple
and easy - once the FreeBSD system is installed and reboots up to a login
prompt, what are they supposed to do then?  Sooner or later they have to
start thinking, they might as well start thinking when they start installing
the OS!!

>Of course as a volunteer effort, there's just so much
>that can be done. Do you suppose it's time to evaluate *how* FreeBSD is to
>evolve in the next 5 years?

Frankly, it's nice to speculate, but in my opinion there's only 2 areas in
FreeBSD that have any control over the direction the OS goes in.  These are:

1) Available software.  To give you an example, when Network Address
Translation was added into the kernel, and into ppp, FreeBSD's use as a SOHO
router simply exploded.

You can't move FreeBSD into a particular market without the software that
that market wants, and the only way to get that software is to either write
it yourself, or port existing packages to FreeBSD.  So, you might say that
the software developers that contribute code into FreeBSD itself, and the
people that contribute ports into FreeBSD, well those folks have the most
control over where FreeBSD goes.

2) The intersection of commercial interests and FreeBSD.  There's a large
area here, but I'll sum it up shortly.  Basically, the FreeBSD project has
something that the commercial people want - a code base.  The commercial
people have something that the FreeBSD project wants - code!  When a
commercial entity modifys FreeBSD and kicks those mods back into the OS, it
helps the OS to grow, and it helps convince other commercial entities to do
the same thing.  But, of course, this is going to make FreeBSD grow into
those areas that benefit the commercial interests - which is another way of
saying that commercial interests _that participate_ have a large amount of
control over where FreeBSD will go in the next 5 years.


 Is it a "good enough" server in it's present
>incarnation? Given it's rock-solid kernel, could it hurt to support more
>junk-hardware with reliable drivers?

I don't think that this is really an option.  The FreeBSD project doesen't
have any control over what hardware is going to be supported in FreeBSD in
the future, other than veto power.  And I've never heard of FreeBSD vetoing
device driver code that was well-written, debugged, and fit within the
FreeBSD general architecture.


Ted Mittelstaedt                      tedm@toybox.placo.com
Author of:          The FreeBSD Corporate Networker's Guide
Book website:         http://www.freebsd-corp-net-guide.com


 Do we want to be in the desktop
>market at all, anyway?
>
>Thanks for the thought-provoking discussion!
>--
>-duke
>
>Calgary, Alberta, Canada
>
>


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000701c0c0e7$f6b4db40$1401a8c0>