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