Chris Jones wrote:
When the same program works on one version of an operating system but
not on another, there's nothing to ask. The operating system has
clearly failed to provide a usable interface.
We don't want stable interfaces (not quite yet, maybe in time).
Freedom doesn't consist of telling other people what they want. It is
about everyone having choices.
Windows
may have more stability in this regard, but the down side is you end up
stuck with bad interfaces that you cannot change due to 'compatibility'
issues. Users of these interfaces then start writing there own kludgy
workarounds. A mess.
Examples? I have reasons to dislike windows, but they mostly go back to
pre-win2ksp2 days. I can't think of any particular driver-related
issues that are a problem now. Likewise the binary OS X drivers work
just fine for me.
Linux IMHO, has a different view. If an interface is broken don't try
and live with it but fix it. If this breaks things downstream so be it,
in the OSS world fixing things is not so hard. The problems are with
closed sourced entities where those changing the interface cannot fix
the closed source.
Lets be specifc - Most of the issues you refer to (nivida, vmware)
relate to the kernel.
OK, let's be specific. Start with firewire. I can't afford to deal
with firewire as it has been handled in fedora for the 1st 6 versions
and haven't tried with the last 2 yet. Show me how having people who
have no reason to care if a device driver works or not writing the code
has worked out better than making it simple for vendors to provide drivers.
Here developers may change some interface, but
such changes are internal to the kernel, like drivers. In this case
those changing the interface fix the driver so the end shot is all is
still OK. They cannot do this for closed source stuff, which is why such
things are disliked and distros like Fedora do not support them. A quote
from Linus I recently read
"Asked by Zemlin why the Linux kernel does not have a stable device
driver application binary interface, Torvalds said, "We really,
really, really don't want one.
Once again, I'm not particularly interested in someone telling me what I
want.
The main reason most people want a
stable ABI [application binary interface] is so that they can have
their binary drivers and not have to give out source. They don't want
to merge that source into the stable kernel or the standard kernel.""
And that part is simply self-serving refusal to cooperate with anyone
else through standard interfaces.
I for one agree and do not want the kernel developers to stop changing
(improving) things just to provide a more stable interface to external
closed source stuff drivers etc.
I might have agreed back when I thought Linus was inexperienced at OS
design and incapable of specifying an interface suitable for use over
some length of time. I don't think that is the case anymore. And I
might has agreed that source was important back when many companies were
competing with incompatible processor designs and there was some change
a device might need to be moved to a new/different system. Now I just
want an interface that works for the life of the box.
> If those closed source providers want
to support linux, they either keep up with the kernel developers (which
they could if they wanted, kernel release candidates are always
available before release) or they allow their drivers to be OSS'ed and
placed in the kernel, where they will be maintained 'for free'.
I can't afford to use something 'free' that doesn't work as well as
something written by the vendor that knows the most about the device in
question and has the most reason to care about it operating correctly.
There's nothing wrong with source availability and, other things being
equal, it is a good thing if everyone chooses not to place any
restrictions on what others can do with it. However it is no more
necessary for me to have source to a device driver for my purposes than
to have all the parts to assemble a jet before I would ride in one.
One day kernel development might slow down, but I don't want that to
happen prematurely and for us to end up with bad interfaces.
How old must Linus be before you'll trust him with this decision?
--
Les Mikesell
lesmikesell@xxxxxxxxx