Issue 20 March 7, 2001
Be in the News
Scripting With The Be File System, Byte.com
return to top
Intemperance Makes the Suit Look Bad
by Jean-Louis Gassée, CEO and Chairman
In the past few weeks, I've been asked so often about
the Microsoft appeal that I've made it the topic for
today's column. As the title suggests, I believe Judge
Jackson "barfed" on his good suit. "Barf" is a term of art,
of course, one the learned profession uses to refer to a
witness making intemperate remarks on the stand: they can't
control their mouth, they volunteer damaging information,
they barf all over the suit.
It is strange to see someone so versed in the law and
jurisprudence of our beloved system behave so imprudently.
What passes for mere incaution from a witness who is either
naïve or too clever for his own good is something quite
different when it comes to a federal judge.
Intemperance is just the symptom -- one wonders what the
actual malady is. Hubris comes to mind, the inebriation that
comes from a sense of invincibility. This happens to people in
power, I'm told. The Greeks, besides inventing the word hubris,
liked to say that those the gods want to punish they render
insane.
What did Judge Jackson do? After hearing the Microsoft case,
finding Microsoft guilty of abusing its monopoly position, and
recommending breaking Microsoft in two, Judge Jackson gave
interviews and speeches, publicly and repeatedly disparaging
the defendant. In doing so he broke a very basic rule, not an
arcane statute of appellate law. Our system works on the premise
of fairness; defendants must get a fair trial or the system
loses credibility. Judge Jackson is free to like Microsoft or
Bill Gates, or not. But he is not free to make comments that
do more than raise the issue of his impartiality.
During the trial, he made no mystery of his annoyance with
the company's executives, witnesses, and demonstrations. At
the time, it seemed acceptable to be annoyed at a reluctant
witness.
"Did you send this e-mail."
"No."
"Who did?"
"My computer. . ."
This is the kind of testimony likely to elicit some displeasure.
But now, Microsoft lawyers have a right, a duty even, to go back
over the entire transcript, point at the many instances of
high-handedness exhibited by the magistrate, join them to the
flow of post-trial disparagement, and claim Judge Jackson did
not give them a fair trial.
Of course, my position is a lay person's perspective, not
that of an expert in this or any area of the law. But I feel
it would be terribly ironic if Microsoft won, after all,
because Judge Jackson barfed all over Joel Klein's suit.
But that's not the full extent of problems with the suit.
As I've written before, there is the Explorer integration
problem. We can think that Microsoft integrated Explorer with
Windows in an effort to kill Netscape. We can state that
they made the integration arbitrarily inextricable in order
to defeat attempts to remove Explorer and replace it with a
competitor. But these are only opinions, as opposed to clear,
unambiguous facts, especially if Judge Jackson's Findings
of Fact are no longer airtight.
I'm still mystified that the DOJ didn't choose to try another
simpler, black and white issue. You can't buy a PC with Windows
and another OS installed at the factory, on the hard disk, by
the OEM. Let's say Linux, to avoid claims that I'm panning gold
for my church -- why not Linux next to Windows on a Compaq, HP,
or Dell PC? Is it because Linux is expensive? No. Unpopular?
No. We've known the answer for a while and we told the DOJ when
they asked. The Windows license obligates the OEM to use the
MS boot loader/manager. Descend to the license for the boot
loader: it says thou shalt not use said loader for anything but
the OS from thy maker, Microsoft. You can boot Windows 2000,
Windows Me, DOS, Windows 95, but no alien systems are permitted.
QED no Linux or BeOS next to Windows as a factory load. Of
course, you can load it yourself. Perhaps one remedy Judge
Jackson forgot was forcing Microsoft to offer Windows on a set
of floppies to be installed by the end user, not factory loaded
on the hard disk.
Why didn't the DOJ pursue this clear-cut case of abuse of a
monopoly situation? Explanations such as the PR/political value
of Netscape come to mind.
In any event, as my atheist friend likes to say, there must be a
god after all, and she loves Bill.
return to top
Writing Network Drivers for Fun (and Profit)
by Chris Liscio, Network Engineer
Hello, fellow BeOS/BeIA developers! You may read the title of
this week's Engineering Insights article and say, "Gee whiz,
Chris, writing a network driver sounds really tough! How would
I go about throwing my social life away and doing such complicated,
geeky things for fun (and profit)?" Well, I wrote this article to
explain that many resources (often free, and very helpful) exist
to help you learn the basics of driver writing!
Background
My BeOS career began when I stumbled on some BeOS-related Web
sites back in October 1999. I became very excited while reading
about the many sexy features of BeOS and immediately ordered
BeOS R4.5.2 from BeDepot. I quickly installed it on my machine
and crossed my fingers as the computer booted into BeOS goodness.
Sure enough, BeOS did not recognize my network card and that upset
me considerably (to say the least).
Rather than become frustrated, toss the BeOS CD aside, and
curse the fact that I had just spent nearly $100CP (Canadian
Pesos) on a coaster, I decided to take matters into my own hands.
I fired up my other OS of choice and surfed around until I found
enough information about my network card. Within a few weeks I had
my Epic100 driver up and running with BeOS.
Prerequisites
To most people, network driver writing (and driver writing in
general) seems difficult. It becomes less difficult if you have:
-
A good working knowledge of C.
-
Some experience with computer hardware (the PCI/ISA bus and its quirks).
-
A decent understanding of concurrent programming constructs (threads, semaphores, spinlocks, etc).
-
Lots of time to kill.
-
Some sort of hardware documentation (discussed below).
-
Another driver to refer to (optional; discussed below).
In addition, there are some BeOS-specific resources you'll
need to assist you in your quest:
Obtaining Hardware Documentation
Now that you have the easily available (and free!) essential
OS-related knowledge, you face the challenge of finding hardware
documentation...
Unfortunately, not every company out there feels compelled to
just hand out the required documents needed to write a driver.
Some companies may either want money for these documents or may not
offer them externally at all. At any rate, the companies that
choose not to provide free hardware specifications often have very
good reasons for doing so (proprietary information, patents pending,
etc.). Moreover, flaming them will not get you anywhere...
In some cases, companies offer the free documentation on the Web.
My own experience is that companies that make only the chipsets
for network cards, and not the cards themselves, distribute their
documentation for free. I've found that Realtek, National
Semiconductor, and SMC (makers of my beloved Epic100) provide
easy access to their documentation.
Reference Drivers
After you (hopefully) find hardware documentation, the best
source of supplementary information is other open-sourced drivers.
Make sure that you understand the license found in the source,
since this ultimately determines how you must redistribute the
source of your finished driver.
Reading other drivers can help you understand the inner workings
of your network card. You'll often discover many "overlooked"
hardware anomalies that haven't made their way into the
documentation. Obviously enough, your ability to understand
other drivers closely correlates with your knowledge of the
driver's native operating system.
You also have the option to to work from the original open-
source code base (tossing #ifdefs and such where BeOS-specific
stuff must go). It's not the easiest thing to do, but it could
save a lot of design work and get you up and running in the
least amount of time. Speaking with the maintainer of such a
driver can yield some good information about the inner workings
of the hardware and they may help you modify their driver so
that it works in BeOS natively.
Sample BeOS Source
Fortunately, sample BeOS driver source might already reside
on your computer! If you installed the optional sample code,
you can find it at /boot/optional/sample-code/drivers/EtherPCI.
BONE-ified Compatibility
I know some of you out there currently beta test BONE (or
are curious about it) and so you might ask, "What are the
differences between the older net_server drivers and BONE
drivers?" Thankfully, BONE drivers do not differ greatly from
net_server drivers. In fact, if you visit your
'/boot/optional/sample-code/drivers/EtherPCI' directory, you
can ignore the 'Addon' directory and everything that comes with
it when looking through the code for help. If you're curious
and look through the Addon source, you'll notice that the add-on
only served as a "pretty name" for the net_server. If you need
to set up IRQs, DMAs, etc. on older ISA cards, you should use a
driver settings file for that (you read Arve's article, right?).
In Closing
So why would anyone write a network driver, anyway? I found it
fun and especially educational. As I said before: Network driver
writing appears difficult to most people; however, if it happens
that driver writing finds its way on your list of "easy things
to do" (and you have possibly done before), please don't hesitate
to send us your resume.
:)
return to top
Statements contained in this Newsletter that are not historical facts are
"forward-looking statements" including without limitation statements
regarding the demand for, future market penetration and market acceptance of
BeIA and BeOS, the shipment dates of Be's products, and the future operating
results of Be Incorporated. Actual events or results may differ materially
as a result of risks facing Be Incorporated or actual results differing from
the assumptions underlying such statements. Such risks and assumptions
include, but are not limited to, risks related to competition, market
acceptance and market penetration of Be's products, ability to establish and
maintain strategic relationships, the benefit of Be's products to OEM and
Internet appliance manufacturers. the continued availability of third party
BeOS applications and drivers, and the ability to establish and maintain
strategic publishing relationships. All forward-looking statements are
expressly qualified in their entirety by the "Risk Factors" and other
cautionary statements included in Be Incorporated's Annual Report on Form
10-K for the year ended December 31, 1999, and other public filings with the
Securities and Exchange Commission.
The BMessage
Copyright (c) 2001 by Be, Inc.
All rights reserved.
Be, Inc.
800 El Camino Real, Suite 400
Menlo Park, CA 94025
Tel: (650) 462-4100
Fax: (650) 462-4129
Web: http://www.be.com/
Be, BeOS and BeIA are trademarks or registered trademarks of Be Incorporated
in the United States and other countries. Other brand product names are
registered trademarks or trademarks of their respective holders. All rights
reserved.
The BMessage is sent to subscribers of one or more of the Be mailing lists.
For more information about subscribing/unsubscribing, see the Be web site:
http://www.be.com/world/mailinglists.html. The Be web site also offers a complete set of current and back issues of Be Newsletters:
If you have any comments about The BMessage, please e-mail them
to:newsletter@be.com.