All of lore.kernel.org
 help / color / mirror / Atom feed
* Linux in a binary world... a doomsday scenario
@ 2005-12-05 10:52 Arjan van de Ven
  2005-12-05 11:39 ` Dave Airlie
                   ` (7 more replies)
  0 siblings, 8 replies; 275+ messages in thread
From: Arjan van de Ven @ 2005-12-05 10:52 UTC (permalink / raw)
  To: linux-kernel

Linux in a binary world


What if.. what if the linux kernel developers tomorrow accept that
binary modules are OK and are essential for the progress of linux. 

a hypothetical doomsday scenario by Arjan van de Ven

the primary assumption in this scenario is obviously not going to
happen, but all assumptions that follow are based things that are true
in some form or another, but of course the names of the "innocent" have
been omitted.




On December 6th, 2005 the kernel developers en mass decide that binary
modules are legally fine and also essential for the progress of linux,
and are as such a desirable thing. At first, the development process of
the linux kernel doesn't change much other than a bunch more symbols
getting exported, and EXPORT_SYMBOL_GPL removed.

Within 3 weeks, distributions like Red Hat Enterprise Linux and SuSE's
SLES distribution start to include a wide variety of binary modules on
their installation CDs. Debian renounces this and stays pure to the
cause, as do other open distributions like Fedora Core and openSuSE. 

The enterprise distros don't just NVidias and ATIs modules, but include
all the OEM vendor "fakeraid" modules and the various wireless,
winmodem, windsl and TCP-offloading modules as well,. However, unlike
NVidia and ATI, most of the binary driver vendors do not provide their
drivers in a "glue layer" source form, they provide only the final
binaries.

Several hardware vendors that have been friendly to open source so far,
see their competitors ship only binary drivers, and internally they
start to see pressure to also keep the IP private, and they know that
they haven't used some features of the hardware because their legal
department didn't want that IP in the public. As a result they perceive
their competitors binary drivers to be at a theoretical advantage, or at
least their own drivers could be at an advantage if they were also
closed, because they then can use those few extra features to be ahead
of the competition. By February 1st 2006, about half the hardware
vendors have refocused their internal linux driver efforts to create
value adds in the binary drivers they will release in addition to the
open drivers that already exist. Some vendors even openly stopped
supporting the open drivers because they don't have enough resources
to do both.

March 1st. All the new server lines from the top tier hardware vendors
come out with the next generation storage and network hardware. This
hardware comes with binary drivers for the last 2 versions of RHEL and
SLES distributions, and these drivers are already integrated into the
February refreshes of these distributions. One of the storage vendors
releases their driver in a .o + glue layer format, the others doesn't
bother and only releases binaries for these two distributions. Two of
the network card manufacturers release an update for their open source
driver to minimally support the new cards, the others don't. Consumer
hardware is largely unaffected; most consumer chipsets standardize on
AHCI for SATA storage and keep the existing feature sets in networking
chipsets.

April 1st. 2 of the consumer chipset makers have upgraded their chipsets
to include a new and exciting audio feature that enables enhanced DVD
playback, but unfortunately this caused them to deviate from the
'standard' i810 audio hardware interface. One of them releases a binary
driver for a handful of distributions, the other doesn't consider linux
relevant for the desktop and hasn't bothered to do a linux driver yet.

May 1st All of the server class hardware you can buy requires at least
one but usually 2 or 3 binary modules to operate. While some of these
modules are available in blob+glue form, several are only available for
RHEL3, RHEL4 and SLES9 and sometimes the newly released SLES10. Linux
users will have the choice of 4 kernels for these servers at this time,
but no hope to run a kernel.org kernel on these servers. The Ubuntu
people are very upset and are trying hard, with varying success, to get
drivers available for their distribution. Due to this lobby success,
about 50% of the servers can be used with the Ubuntu kernel as well.

June 1st. A huge flamewar, the fourth on this topic since January,
happens on the linux-kernel mailing list. Users and some developers are
demanding that the kernel.org kernel adopts either the existing RHEL or
the SLES module ABI. Investigation shows that this is not possible, and
the thread turns into a discussion on designing a new ABI versus
freezing the existing one. Many kernel developers feel that the existing
ad-hoc ABI is not suitable for freezing and that a new ABI and API,
designed such that it can be kept stable more easily is the way to go,
while others say that this takes too much time and then won't help for
the next 2 years until RHEL and SLES have adopted this ABI, and at least
demand an immediate freeze of the kernel.org ABI so that the upcoming
RHEL5 release maybe uses it, and thus gets drivers written for it. Users
generally use RHEL or SLES for production servers, and clones like
CENTOS which have released binary compatible kernels.

July 1st. It's increasingly hard to run linux without binary modules on
most new consumer PCs. While a year earlier people would have to give up
3D acceleration for this often, now even 2D doesn't work without binary
drivers, nor does networking (both fixed wire or wireless) or sound. For
half the machines there is not enough linux support available at all,
while 20% use ndiswrapper like translation layers to run the Windows
sound and networking drivers. The Debian project, unable to run on most
machines now, is losing massive amounts of users to Ubuntu and
Ubuntu-Debian hybrids. Debian-legal and various other project lists are
impossible to read by people not interested in this particular
flame-topic. Most of the vendors who kept their open source drivers at
least somewhat updated have basically stopped doing so.

July 14th. Linus declares the kernel ABI stable but also splits off a
2.7 kernel and declares that the 2.8 kernel will have a different ABI.
In practice, only people who held on to their old machines can assist in
the 2.7 development, since none of the vendor drivers, not even the ones
who still have a blob+glue construct care about the 'too rapid' moving
development tree. 

August 21st. A serious security flaw is found in the 2.6 series, which
turns out to be a design flaw in a key sysfs API. Fixing this flaw would
require to break the module ABI and practically all modules out there,
while not fixing this flaw leaves a potential roothole open. A quick fix
is made available under a CONFIG_ option, but users who need binary
drivers have no choice but leave their systems vulnerable. Flamewars on
lkml flare up again that say Linus made a mistake in freezing the
existing ABI rather than creating a new one designed to be frozen. 2.7
development has mostly stagnated and a patch is proposed to have 2.7
have the 2.6 ABI again, reverting several key VM subsystem improvements
and Ingo's realtime patches.

August 26th. A precooked exploit for the security hole hits bugtraq, and
has been sighted in the wild as used by various rootkits. A php exploit
uses it to go from the httpd user to root. Users are putting pressure on
module vendors to release modules for the new ABI, and several actually
do so in the next three weeks. Others, mostly in the consumer area, say
that the hardware in question is no longer sold and that they aren't
going to spend any time or effort on drivers for it.






Now this scenario may sound unlikely to you. And thankfully the main
assumption (the December 6th event) is extremely unlikely.  

However, and this unfortunately, several of the other "leaps" aren't
that unlikely. In fact, some of these results are likely to happen
regardless; witness the flamewars on lkml about breaking module API/ABI.
Witness the ndiswrapper effect of vendors now saying "we support linux
because ndiswrapper can use our windows driver". I hope they won't
happen. Some of that hope will be idle hope, but I believe that the
advantages of freedom in the end are strong enough to overcome the
counter forces. 



^ permalink raw reply	[flat|nested] 275+ messages in thread

end of thread, other threads:[~2005-12-16  7:38 UTC | newest]

Thread overview: 275+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-05 10:52 Linux in a binary world... a doomsday scenario Arjan van de Ven
2005-12-05 11:39 ` Dave Airlie
2005-12-05 13:55   ` Xavier Bestel
2005-12-08 14:27   ` Graham Murray
2005-12-05 12:18 ` William Lee Irwin III
2005-12-05 13:07   ` Pekka Enberg
2005-12-05 18:44     ` Alistair John Strachan
2005-12-05 19:47       ` Gene Heskett
2005-12-06 10:51       ` Luke-Jr
2005-12-06 12:29         ` Ralf Baechle
2005-12-07  0:01       ` William Lee Irwin III
2005-12-06 17:03     ` Jon Masters
2005-12-06  1:18   ` Andrea Arcangeli
2005-12-05 14:31     ` Brian Gerst
2005-12-06  3:08       ` Andrea Arcangeli
2005-12-05 16:23         ` Brian Gerst
2005-12-06 18:42           ` David Woodhouse
2005-12-06 19:23             ` Alan Cox
2005-12-06 21:33               ` Jeff Garzik
2005-12-06 22:25               ` David Woodhouse
2005-12-06 22:49                 ` Alan Cox
2005-12-06 23:03                   ` David Woodhouse
2005-12-06 23:25                 ` Andrew Grover
2005-12-07  0:56                   ` David Woodhouse
2005-12-06 10:42         ` Sander
     [not found]         ` <f0cc38560512060307m2ccc6db8xd9180c2a1a926c5c@mail.gmail.com>
2005-12-06 11:44           ` Arjan van de Ven
2005-12-06  1:43             ` Brian Gerst
2005-12-06 14:09               ` linux-os (Dick Johnson)
2005-12-14 16:33                 ` Eric W. Biederman
2005-12-14 17:01                   ` linux-os (Dick Johnson)
2005-12-14 17:20                     ` Eric W. Biederman
2005-12-14 18:51                       ` linux-os (Dick Johnson)
2005-12-06 14:13               ` Rudolf Randal
2005-12-06 14:49               ` Arjan van de Ven
2005-12-06 21:39                 ` Nicolas Mailhot
2005-12-08  0:58                   ` Kasper Sandberg
2005-12-08  2:24                     ` Diego Calleja
2005-12-08  6:21                       ` Zwane Mwaikambo
2005-12-08 12:31                         ` Diego Calleja
2005-12-08 12:39                           ` Arjan van de Ven
2005-12-08 13:01                             ` Matan Peled
2005-12-08 16:55                           ` Kasper Sandberg
2005-12-08 19:32                     ` Horst von Brand
2005-12-08 21:10                       ` linux-os (Dick Johnson)
2005-12-09  6:12                         ` Ben Greear
2005-12-07  7:02                 ` Luke-Jr
2005-12-07  7:03                   ` Arjan van de Ven
2005-12-06 15:16               ` Andrea Arcangeli
2005-12-06 15:30               ` Florian Weimer
2005-12-06 15:49                 ` Paweł Sikora
2005-12-06 19:00                   ` Tomasz Torcz
2005-12-06 19:11                     ` Paweł Sikora
2005-12-06 19:34                       ` Tomasz Torcz
2005-12-06 20:29                       ` Dave Jones
2005-12-06 23:25                         ` Bernd Petrovitsch
2005-12-06 19:13               ` Jeff Garzik
2005-12-06 19:37                 ` Lee Revell
2005-12-06 19:41                   ` Jeff Garzik
2005-12-06 19:55                     ` Lee Revell
2005-12-06 20:25                       ` Alan Cox
2005-12-06 21:55                         ` Dave Airlie
2005-12-06 21:49                       ` Reverse engineering (was Re: Linux in a binary world... a doomsday scenario) Jeff Garzik
2005-12-06 20:54                         ` Jeff V. Merkey
2005-12-06 23:13                           ` Reverse engineering Bernd Petrovitsch
2005-12-06 23:19                             ` Lee Revell
2005-12-06 22:21                         ` Reverse engineering (was Re: Linux in a binary world... a doomsday scenario) Lee Revell
2005-12-06 23:48                           ` Jeff Garzik
2005-12-06 22:44                       ` Linux in a binary world... a doomsday scenario Florian Weimer
2005-12-06 22:56                         ` Andrea Arcangeli
2005-12-06 23:17                         ` Lee Revell
2005-12-06 21:00               ` Francois Romieu
2005-12-08  1:04                 ` Kasper Sandberg
     [not found]             ` <6f6293f10512060404x57cfb97dqaa469f2701cd2528@mail.gmail.com>
2005-12-06 12:11               ` Arjan van de Ven
2005-12-06 15:09               ` Andrea Arcangeli
2005-12-06  9:07       ` Dirk Steuwer
2005-12-06 10:46         ` Sander
2005-12-06 16:41           ` Dirk Steuwer
2005-12-06 18:48             ` Lee Revell
2005-12-06 21:35               ` Grahame White
2005-12-07  8:09                 ` Dirk Steuwer
2005-12-07 12:47                   ` Lars Marowsky-Bree
2005-12-07  0:45             ` Horst von Brand
2005-12-07 14:17             ` Runs with Linux (tm) Benjamin LaHaise
2005-12-07 14:34               ` linux-os (Dick Johnson)
2005-12-07 18:13               ` Randy.Dunlap
2005-12-07 18:22                 ` Jesse Barnes
2005-12-12 21:13                   ` David Lang
2005-12-12 21:20                     ` Randy.Dunlap
2005-12-07 19:12               ` Lee Revell
2005-12-07 19:47                 ` Benjamin LaHaise
2005-12-07 22:23                   ` Jeffrey Hundstad
1970-01-02  3:28                     ` Pavel Machek
2005-12-07 22:29                     ` Michael Poole
2005-12-08  8:08                       ` Helge Hafting
2005-12-07 22:49                     ` Benjamin LaHaise
2005-12-08  3:28                     ` Magnus Damm
2005-12-08  2:07               ` Richard Knutsson
2005-12-08  2:38                 ` Benjamin LaHaise
2005-12-08  4:15                   ` Richard Knutsson
2005-12-08  8:50                     ` free Driver proposal (tm) Dirk Steuwer
2005-12-08  9:42               ` Runs with Linux (tm) jerome lacoste
2005-12-08 11:04                 ` Felix Oxley
2005-12-08 11:48                   ` jerome lacoste
2005-12-08 12:23                     ` Felix Oxley
2005-12-09  5:49         ` Linux in a binary world... a doomsday scenario Miles Bader
2005-12-09  9:49           ` Felix Oxley
2005-12-09  9:53             ` Bernd Petrovitsch
2005-12-06 15:17       ` Pavel Machek
2005-12-13  2:00         ` Rob Landley
2005-12-13  7:56           ` Arjan van de Ven
2005-12-13  9:07             ` Rob Landley
2005-12-13 10:18               ` Felix Oxley
2005-12-07 15:06       ` Rik van Riel
2005-12-08  7:14       ` Andrew McGregor
2005-12-06  8:29     ` Arjan van de Ven
2005-12-07 18:39       ` Rik van Riel
2005-12-07 18:44         ` Randy.Dunlap
2005-12-07 18:55           ` Arjan van de Ven
2005-12-07 19:53             ` Geert Uytterhoeven
2005-12-07 20:22               ` Gerrit Huizenga
2005-12-07 20:30                 ` Arjan van de Ven
2005-12-07 20:56                   ` Andrea Arcangeli
2005-12-07 21:02                 ` Dave Jones
2005-12-07 21:30                   ` Gerrit Huizenga
2005-12-07 21:38                     ` David S. Miller
2005-12-07 21:47                       ` Andrew Walrond
2005-12-07 21:53                       ` Gerrit Huizenga
2005-12-12 17:52                       ` Ric Wheeler
2005-12-13  8:17                         ` Andrew Walrond
2005-12-07 20:16             ` Andrea Arcangeli
2005-12-07 20:19               ` Arjan van de Ven
2005-12-07 20:40                 ` Andrea Arcangeli
2005-12-08 13:23                   ` Dirk Steuwer
2005-12-08 14:03                     ` Diego Calleja
2005-12-08 18:44                 ` Dave Neuer
2005-12-07 20:51               ` Rik van Riel
2005-12-07 19:34           ` Lee Revell
2005-12-07 23:17           ` Horst von Brand
2005-12-09  6:17             ` Ben Greear
2005-12-08 10:58           ` Sander
2005-12-06 12:26     ` Denis Vlasenko
2005-12-06 15:36       ` Hannu Savolainen
2005-12-06 18:51         ` Lee Revell
2005-12-06 20:26           ` Hannu Savolainen
2005-12-07 15:18         ` Avi Kivity
2005-12-07 20:10       ` Geert Uytterhoeven
     [not found]         ` <f0cc38560512071322m1d370589vd9f8a7684fa2ee1d@mail.gmail.com>
2005-12-08 12:19           ` Geert Uytterhoeven
2005-12-06 17:23     ` Jon Masters
2005-12-05 17:18 ` Jeff Garzik
2005-12-05 17:29   ` Jan-Benedict Glaw
2005-12-05 22:52     ` Bernd Petrovitsch
2005-12-06  6:28     ` Rob Landley
2005-12-05 18:26 ` Andrew Walrond
2005-12-05 18:34   ` Arjan van de Ven
2005-12-05 19:41     ` jmerkey
2005-12-06  9:26     ` [OT] " Alexander E. Patrakov
2005-12-06 16:27     ` Simon Oosthoek
2005-12-06 18:50       ` Luke-Jr
2005-12-08  8:14         ` Helge Hafting
2005-12-08 11:30           ` Luke-Jr
2005-12-12 11:27             ` Helge Hafting
2005-12-08 13:48           ` Nix
2005-12-12 12:01             ` Helge Hafting
2005-12-12 19:46               ` Nix
2005-12-13  8:10                 ` Helge Hafting
2005-12-13 22:21                   ` Nix
2005-12-14  8:14                     ` Helge Hafting
2005-12-16  7:38                       ` Nix
2005-12-05 21:19   ` David Woodhouse
2005-12-05 21:24     ` Arjan van de Ven
2005-12-05 21:54       ` David Woodhouse
2005-12-05 23:56         ` Tim Bird
2005-12-06  0:10           ` Dave Airlie
2005-12-06  0:23             ` Tim Bird
2005-12-06  0:26               ` Tim Bird
2005-12-06  4:08               ` Greg KH
2005-12-06  6:07                 ` Willy Tarreau
2005-12-06  7:06                   ` Neil Brown
2005-12-06  8:13                   ` David Woodhouse
2005-12-06  9:10                     ` Bernd Petrovitsch
2005-12-06 16:47                   ` Greg KH
2005-12-06  7:58                 ` Coywolf Qi Hunt
2005-12-06 16:11                   ` Greg KH
2005-12-07  1:38                     ` Coywolf Qi Hunt
2005-12-07  2:40                       ` Greg KH
2005-12-07  3:23                         ` Coywolf Qi Hunt
2005-12-07  5:29                           ` Greg KH
2005-12-07 18:57                           ` Horst von Brand
2005-12-10  5:17                       ` GNU/Linux " Richard M. Stallman
2005-12-06 18:56                   ` Linux " Luke-Jr
2005-12-07  1:42                     ` Coywolf Qi Hunt
2005-12-07  2:06                       ` Wed, 7 Dec 2005 03:06:35 +0100
2005-12-07  5:25                         ` Jeff Garzik
2005-12-10  5:16                       ` GNU/Linux " Richard M. Stallman
2005-12-10  7:06                         ` Jeff V. Merkey
2005-12-10 16:43                           ` Helge Hafting
2005-12-10 19:05                             ` Jan-Benedict Glaw
2005-12-10 18:44                               ` Jeff V. Merkey
2005-12-10 19:15                                 ` Jan-Benedict Glaw
2005-12-10 20:44                                   ` Jeff V. Merkey
2005-12-10 21:47                                     ` Jan-Benedict Glaw
2005-12-11 13:56                                     ` Bernd Petrovitsch
2005-12-11 15:15                                     ` Erwin Rol
2005-12-11 16:38                                       ` Florian Weimer
2005-12-12 15:51                                         ` Alan Cox
2005-12-11 16:27                                     ` Florian Weimer
2005-12-11 16:49                                     ` Richard M. Stallman
2005-12-11 23:19                                     ` Helge Hafting
2005-12-12 13:45                                       ` Bernd Petrovitsch
2005-12-12 15:34                                         ` Lee Revell
2005-12-12 15:37                                           ` Bernd Petrovitsch
2005-12-11 13:24                             ` Bernd Petrovitsch
2005-12-10 20:04                           ` [way OT] " Sean
2005-12-10 20:04                             ` Sean
2005-12-11  2:12                           ` Horst von Brand
2005-12-11  5:40                           ` Patrick McLean
     [not found]                           ` <E1ElJMz-00047E-1p@fencepost.gnu.org>
2005-12-11  8:34                             ` Jeff V. Merkey
2005-12-12  0:44                               ` Richard M. Stallman
2005-12-12  0:50                                 ` Jeff V. Merkey
2005-12-12  3:03                                   ` Luke-Jr
2005-12-06  4:18               ` Linux " Al Viro
2005-12-06  2:22             ` Gene Heskett
2005-12-06  3:56               ` Zwane Mwaikambo
2005-12-06  4:27                 ` Gene Heskett
2005-12-06 18:33                 ` Jesper Juhl
2005-12-06 19:12                   ` Zwane Mwaikambo
2005-12-06 19:15                     ` Jesper Juhl
2005-12-08 21:49                 ` Rob Landley
2005-12-10  2:38                   ` Lee Revell
2005-12-10  5:51                 ` Luke-Jr
2005-12-06 11:38               ` Jean-Christian de Rivaz
2005-12-06 19:12                 ` Jesper Juhl
2005-12-06 21:13                   ` Jon Masters
2005-12-06  0:14           ` Bernd Petrovitsch
2005-12-06  0:34           ` David Woodhouse
2005-12-06  0:53           ` Andrea Arcangeli
2005-12-06  1:20             ` Tim Bird
2005-12-06  1:35               ` Andrea Arcangeli
2005-12-06  1:55                 ` Jeff Garzik
2005-12-06  9:16               ` Xavier Bestel
2005-12-06  9:26               ` Bernd Petrovitsch
2005-12-06  9:56                 ` David Woodhouse
2005-12-06 10:09                   ` Jeff Garzik
2005-12-06 14:50                   ` Andrea Arcangeli
2005-12-06 15:25                     ` David Woodhouse
2005-12-06 19:58                       ` Alan Cox
2005-12-06 19:20                     ` Jeff Garzik
2005-12-06  4:12           ` Greg KH
2005-12-06  4:18             ` Michael Poole
2005-12-06 17:21               ` Benjamin LaHaise
2005-12-07 12:39                 ` Helge Hafting
2005-12-07 12:41                   ` Christoph Hellwig
2005-12-07 14:25               ` Rik van Riel
2005-12-07 15:56                 ` Michael Poole
2005-12-06 18:19             ` Theodore Ts'o
2005-12-06 19:27               ` Alan Cox
2005-12-06 19:38                 ` Theodore Ts'o
2005-12-06 20:18                   ` Alan Cox
2005-12-06 20:53                     ` Theodore Ts'o
2005-12-07 14:30           ` Rik van Riel
2005-12-05 23:24 ` Matthieu CASTET
2005-12-06 13:28   ` Ralf Baechle
2005-12-06  2:58 ` Andre Hedrick
2005-12-06 13:13 ` Rudolf Randal
2005-12-06 15:09   ` Mark Lord
2005-12-06 16:16 ` Jon Smirl
2005-12-06 16:32   ` Florian Weimer
2005-12-07 12:44     ` Helge Hafting
2005-12-07 12:49       ` Alan Cox
2005-12-07 16:15       ` Jon Smirl
2005-12-07 12:55     ` Lars Marowsky-Bree
2005-12-07 21:46   ` Chase Venters
2005-12-07 23:07     ` Alan Cox
2005-12-07 23:41       ` Jon Smirl
2005-12-07 23:59         ` Chase Venters
2005-12-08  8:24           ` Helge Hafting

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.