Possibly offtopic : Binary only driver

Sean seanlkml at sympatico.ca
Mon Nov 22 00:48:08 UTC 2004


On Sun, November 21, 2004 7:21 pm, Sean Middleditch said:

> Normal users don't give a flying hoot about open source.  It is
> worthless to them.  Linux desktops have bugs and crash or glitch out
> just as often as Windows - anyone who has ever looked at Red Hat's,
> GNOME's, or KDE's bug trackers know this - and those are just the bugs
> reported by users that know how and care.  Security issues mean
> *nothing* to most users, who simply don't care or don't realize how
> serious the issues are.  I've many times worked for some client who,
> while I was removing a ton of viruses from their machine, was commenting
> to me how security issues are such a farce and how average users would
> never have to worry about that kind of stuff.
>
> Computers are tools.  End of story.  People do not buy a computer to
> make a statement, they do not buy a computer to express philosophy -
> they buy a computer to complete tasks.  Those tasks are, for the vast
> majority of users, simple Internet access (Web, e-mail, IM), basic
> professional/school work, and games.

Perhaps Linux is not ready for this market yet, someday we will be.   Why
should the developers drop everything and service this segment today?

> I have build, configured, and administrated numerous Linux machines for
> friends and family over the last couple years, and *each* and *every*
> single one of them are now Windows boxes.  And the exact reason why is
> *entirely* because of the installation of software (ABI doesn't matter
> to anyone but the end users, which Open Source developers don't ever
> seem to care about) and driver installation.

There are already cheap computers that can be purchased at Wal-Mart that
come with Linux pre-installed and the user need never know or care about
Linux or configuring hardware.

> Driver installation is only getting worse in Linux.  In-tree drivers are
> only useful if the driver exists in the version of the tree the user
> has.  Sure, some mythical company releases fully GPLd drivers, or usable
> specs, a six months before their hardware is released.  The kernel has
> it in-tree a couple months before the hardware is released.  Six months
> after the hardware is released, a distro is released that actually *has*
> that kernel.  Several months after that you might be able to expect 5%
> of the non-uber-geek OS consumer base to have a distro using that
> kernel.

Driver installation is getting worse?   By what measure?  It seems to have
more in-tree coverage today than it has ever had.   And the kernel
developers have never put much effort into helping the closed-source
driver people.   Again, why should they?

> Meanwhile, in the BSD, Windows, Solaris, whatever world, the company
> releases a driver, and it works for 90% or more of the users.  Sure,
> some drivers fail on XP, some drivers don't work on 95/98, but you are
> still, with a single driver, hitting far, far more of the user base than
> you can do with Linux.

Look, Linux follows a different model than those systems you talk about.  
It would be just as easy for those companies to release an open source
version that could work for 90% or more of Linux users.   But those
companies for various reasons choose not to, again that's their decision. 
 Why should open-source people change?   Let those companies change if
they want to be a part of the open-source operating system world.

> I don't care about this proprietary vs open source issue.  I fully
> believe that Linux can *thrive* with a policy stating that *NO* non-GPLd
> modules may *ever* be loaded into the kernel.  That's what the Open
> Source and Free Software activities truly want.

Totally agreed.

> The problem is entirely that fact that even *with* a fully GPLd driver
> there is no reasonable way for a user to be capable of using it without
> living on the bleeding edge and suffering through all the instability
> and work that requires, as well as having the knowledge to do it all.

I think you've overstated things here.   There are hundreds of millions of
people using Linux every day with no problem or suffering when they issue
a Google search.  Just because Linux is not perfect for every end-user
situation is nothing to worry about or use as a basis to throw away the
fundamental things that make Linux important.

>
> A stable kernel ABI is not necessarily important.  I have argument for
> it, but it's not paramount.  A stable API, which the kernel also lacks,
> *is* important.  Alan mentioned DKMS - abso-fricken'-lutely useless with
> an unstable API.  Sure, the vendor releases the driver source for DKMS,
> a nice graphical install tool is written for DKMS - too bad the driver
> only compiles and runs on a handful of kernel releases.  The new
> "development model" just makes this problem even worse.

It's only a problem for people who won't or can't play by the open source
rules.   If this excludes a large number of end-users today why should the
kernel developers do anything but continue ahead to reach a point where
things are better?   Hardware isn't always going to fluctuate and change
so wildly.

> The big argument for a stable ABI, even with a "all drivers are always
> GPL no matter what" system, is mainly during system install.  I have
> some system-critical hardware (disk controller, say) that my OS install
> CDs don't support, install CDs do not have the environment to compile
> big drivers, a stable ABI would let the vendor ship some CDs/diskettes
> that the install can pull the driver off of to install.  Again, very
> rare situation, most users in the real world do not and never will
> install an OS on their own, not that important.

Agreed.

> At the very least, however, without a stable API, the Linux kernel and
> its driver situation is just screwing users constantly.

I think you're putting the blame on the wrong people.

> General system ABI is another story.  If I can't install the app I
> bought/downloaded/wrote even just a year ago because the glibc
> maintainers decided to change something or the GCC developer found a way
> to get a .05% performance boost with this piddly little ABI break then
> there is a massive usability problem.  One could ship apps as source and
> have them recompile on install, but for one, that is just far too slow,
> for two, the system APIs change too, and for three, proprietary apps are
> a reality that aren't going away anytime in the forseeable future.

Proprietary apps are only a distant concern to the people building an
open-source operating system.   The fact that they work at all has lead to
this increased expectation.   All of the problems you list are pretty well
non-issues for people who buy redhat enterprise products.  Hardware
vendors could target drivers for that particular distribution etc.

> No matter how much work the upstream people and distros puts into making
> insanely usable GUIs, amazingly efficient systems, and superbly stable
> and secure code, it's all fairly useless to anyone but a geek if you
> can't install the OS or install any apps you want to run on it.

There are a vast number of people who couldn't install Windows either and
the number of people who wreck their Windows installation configuring it
for themselves is further proof that the standard being held up doesn't
even exist in the Windows world.   That said, hardware vendors could very
easily provide source level drivers for Linux and solve most of the
issues.   The wrong people are being asked to change their ways here.  
The developers are busy building an open source operating system.   Those
who want to play, need to conform themselves to the situation, not the
other way around.

Sean





More information about the devel mailing list