public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@kernel.org>
To: Tilman Schmidt <tilman@imap.cc>
Cc: Greg KH <greg@kroah.com>, Simon Arlott <simon@fire.lp0.eu>,
	Chris Wright <chrisw@sous-sol.org>,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	Jan Engelhardt <jengelh@computergmbh.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andreas Gruenbacher <agruen@suse.de>,
	Thomas Fricaccia <thomas_fricacci@yahoo.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	James Morris <jmorris@namei.org>,
	Crispin Cowan <crispin@crispincowan.com>,
	Giacomo Catenazzi <cate@debian.org>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: eradicating out of tree modules
Date: Sun, 28 Oct 2007 20:25:28 +0100	[thread overview]
Message-ID: <20071028192528.GF7227@stusta.de> (raw)
In-Reply-To: <4724DA20.1010609@imap.cc>

On Sun, Oct 28, 2007 at 07:51:12PM +0100, Tilman Schmidt wrote:
> Am 28.10.2007 02:55 schrieb Adrian Bunk:
> > Justifying anything with code with not GPL compatible licences has zero 
> > relevance here.
> > 
> > And there's value in making life harder for such modules with 
> > questionable legality. As an example, consider people who experienced 
> > crashes of "the Linux kernel" caused by some binary-only driver.
> > Not that uncommon e.g. with some graphics drivers.
> > This harms the reputation of Linux as being stable.
> 
> You are mixing up several distinct categories here: "out of tree"
> != "non-GPL" != "proprietary" != "of questionable legality" !=
> "binary-only" != "causing kernel crashes".

"binary-only non-GPL out-of-tree module causes kernel crashes" is a 
quite common pattern for some popular binary-only modules.

And noone except the vendor of this module can debug and fix it.

Include more than one binary-only module into your kernel and the number 
of people being able to debug it might drop to zero.

> > The solution is not to support proprietary drivers, the solution is to 
> > get open source replacements.
> 
> So how do you propose to "get" those replacements? And what shall
> users do during the time this "getting" may take?

They should swamp the hardware vendors with requests for releasing 
hardware specifications.

Or even better buy their hardware from a competitor.

> > If it's low quality code doing something useful - well, how many hundred 
> > people are on Greg's list only waiting for some driver they could write?
> 
> No idea. Obviously not enough to actually solve the problem.

Greg has just begins with getting this started.

> What solution do you propose?

You list the drivers you currently have in mind at the Linux Driver 
Project [1].

> >> [D]o you think the world would
> >> be a better place if all the existing out-of-tree modules
> >> just ceased to exist, without any replacement?
> > 
> > With your "without any replacement" you needlessly excluded the 
> > reasonable solution:
> > 
> > The solution is that someone other than the author either takes the 
> > existing external code or rewrites it from scratch, submits it for 
> > inclusion into the kernel, and maintains it there.
> 
> My "without any replacement" is just a description of reality.
> All current external code I am aware of continues to exist only
> because there is no in-kernel replacement.
> 
> Again: how do you propose to bring that solution of yours to pass,

You list the drivers you currently have in mind at the Linux Driver
Project [1].

> how long do you think it will take, and what do you propose current
> users of out-of-tree modules do in the meantime?

Noone proposed to make the existance of out-of-tree modules completely 
impossible - but it is a fact that derives directly from the Linux 
kernel development model that thre's no stable API for out-of-tree 
modules, and therefore each new kernel breaks many of them.

Once you accept this fundamental fact there's not much point in arguing 
that changes that break out-of-tree modules should be fewer.

>...
> > Let me repeat that Greg has said he has hundreds of volunteers for such 
> > tasks.
> 
> Even with hundreds of volunteers, your proposed solution of just
> rewriting *all* external code in a way fit for inclusion into the
> kernel is an unachievable goal. Just look at the list on
> http://linuxdriverproject.org/twiki/bin/view/Main/OutOfTreeDrivers
> and try to answer why each of them is still out of tree.
> Hint: In most cases it's neither out of malice nor stupidity on
> the authors' part.

There are different problems why different drivers are not (yet) 
included in the kernel, but which ones don't have any possible solution?

And if you compare the numbers you'll see that Greg has on average a 
handful of volunteers for one driver.

> Of course in-tree code is always better than out-of-tree code. But
> I maintain there will always be out-of-tree code (modules, drivers,
> whatever) that fills a real need not (though hopefully, just not
> yet) satisfied by any in-tree code. All I'm asking for is that you
> take a pragmatic stance with regard to that: not going to any great
> lengths to support it, but acknowledging its existence and
> legitimacy - and not inciting to deliberately break it.

The most important question is still:

Why should there always be out-of-tree code that fills a real need not 
satisfied by any in-tree code?

Not everything might have worked in an ideal way in the past, but let's 
try to fix the problem, not let the problem justify workarounds.

> Thanks,
> Tilman

cu
Adrian

[1] http://linuxdriverproject.org

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  reply	other threads:[~2007-10-28 19:25 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <167451.96128.qm@web38607.mail.mud.yahoo.com>
2007-10-18  2:18 ` LSM conversion to static interface Linus Torvalds
2007-10-19 20:26   ` Andreas Gruenbacher
2007-10-19 20:40     ` Linus Torvalds
2007-10-20 11:05       ` Jan Engelhardt
2007-10-20 22:57         ` James Morris
2007-10-21 22:59           ` Adrian Bunk
2007-10-23  4:09           ` LSM conversion to static interface [revert patch] Arjan van de Ven
2007-10-23  4:56             ` James Morris
2007-10-23  4:57               ` Arjan van de Ven
2007-10-23  5:16             ` Chris Wright
2007-10-23  9:10               ` Jan Engelhardt
2007-10-23  9:13                 ` Chris Wright
2007-10-23  9:14                   ` Jan Engelhardt
2007-10-24  0:31               ` Jeremy Fitzhardinge
2007-10-24  0:32                 ` Chris Wright
2007-10-24  5:06                 ` Arjan van de Ven
2007-10-24 11:50                   ` Linux Security *Module* Framework (Was: LSM conversion to static interface Simon Arlott
2007-10-24 12:55                     ` Adrian Bunk
2007-10-24 18:11                       ` Linux Security *Module* Framework (Was: LSM conversion to static interface) Simon Arlott
2007-10-24 18:51                         ` Jan Engelhardt
2007-10-24 18:59                           ` Simon Arlott
2007-10-24 19:04                             ` Jan Engelhardt
2007-10-24 21:02                               ` David P. Quigley
2007-10-24 21:37                                 ` Serge E. Hallyn
2007-10-24 21:51                                   ` Jan Engelhardt
2007-10-24 22:02                                     ` David P. Quigley
2007-10-24 23:13                                       ` Jan Engelhardt
2007-10-25  1:50                                   ` david
2007-10-25  3:50                                   ` Kyle Moffett
2007-10-24 21:42                                 ` Jan Engelhardt
2007-10-24 21:58                                 ` Casey Schaufler
2007-10-24 22:04                                   ` David P. Quigley
2007-10-25 11:38                                 ` Simon Arlott
2007-10-24 20:18                           ` Crispin Cowan
2007-10-24 20:46                             ` Jan Engelhardt
2007-10-24 21:29                               ` Casey Schaufler
2007-10-24 22:31                         ` Adrian Bunk
2007-10-24 22:58                           ` Casey Schaufler
2007-10-24 23:32                             ` Adrian Bunk
2007-10-24 23:42                               ` Linus Torvalds
2007-10-25  0:41                                 ` Chris Wright
2007-10-25  2:19                                   ` Arjan van de Ven
2007-10-30  3:37                                   ` Toshiharu Harada
2007-10-25  1:03                                 ` Casey Schaufler
2007-10-25  0:23                             ` Chris Wright
2007-10-25  0:35                               ` Ray Lee
2007-10-25  1:26                                 ` Peter Dolding
2007-10-25  1:41                                 ` Alan Cox
2007-10-25  2:11                                   ` david
2007-10-25 18:17                                   ` Ray Lee
2007-10-25 22:21                                     ` Alan Cox
2007-10-26  3:45                                       ` david
2007-10-26  5:44                                         ` Peter Dolding
2007-10-27 18:29                                     ` Pavel Machek
2007-10-28 18:48                                       ` Hua Zhong
2007-10-28 19:05                                       ` Hua Zhong
2007-10-28 22:08                                   ` Crispin Cowan
2007-10-28 22:50                                     ` Alan Cox
2007-11-26 20:42                                       ` serge
2007-10-28 23:55                                     ` Peter Dolding
2007-10-29  5:12                                     ` Arjan van de Ven
2007-10-25  9:19                                 ` Bernd Petrovitsch
2007-10-25 16:04                                   ` Ray Lee
2007-10-25 17:10                                     ` Arjan van de Ven
2007-10-30  9:41                                     ` Bernd Petrovitsch
2007-10-25  1:42                               ` Casey Schaufler
2007-10-27 18:22                                 ` Pavel Machek
2007-10-28 19:42                                   ` Linux Security *Module* Framework Tilman Schmidt
2007-10-28 20:46                                     ` Jan Engelhardt
2007-10-30  3:23                                 ` Linux Security *Module* Framework (Was: LSM conversion to static interface) Toshiharu Harada
2007-10-30  8:40                                   ` Jan Engelhardt
2007-10-30  8:50                                     ` Crispin Cowan
2007-10-30  9:27                                       ` Jan Engelhardt
2007-10-30  9:21                                     ` Toshiharu Harada
2007-10-25 11:44                           ` Simon Arlott
2007-10-25 23:09                           ` Tilman Schmidt
2007-10-26  2:56                             ` Greg KH
2007-10-26  7:09                               ` Jan Engelhardt
2007-10-26 15:54                                 ` Greg KH
2007-10-26  9:46                               ` Tilman Schmidt
2007-10-26 15:58                                 ` Greg KH
2007-10-26 16:32                                   ` Simon Arlott
2007-10-27 14:07                                   ` eradicating out of tree modules (was: Linux Security *Module* Framework) Tilman Schmidt
2007-10-28  1:21                                     ` Adrian Bunk
2007-10-26 23:26                                 ` Linux Security *Module* Framework (Was: LSM conversion to static interface) Adrian Bunk
2007-10-27 14:47                                   ` eradicating out of tree modules (was: : Linux Security *Module* Framework) Tilman Schmidt
2007-10-27 17:31                                     ` eradicating out of tree modules Stefan Richter
2007-10-28  0:55                                     ` eradicating out of tree modules (was: : Linux Security *Module* Framework) Adrian Bunk
2007-10-28  9:25                                       ` eradicating out of tree modules Stefan Richter
2007-10-28 12:01                                         ` Tilman Schmidt
2007-10-28 14:37                                           ` Stefan Richter
2007-10-28 14:59                                             ` Simon Arlott
2007-10-28 16:55                                             ` Tilman Schmidt
2007-10-28 18:51                                       ` Tilman Schmidt
2007-10-28 19:25                                         ` Adrian Bunk [this message]
2007-10-30  0:29                                           ` Tilman Schmidt
2007-10-30 13:11                                             ` linux-os (Dick Johnson)
2007-10-30 13:19                                               ` Xavier Bestel
2007-10-30 15:30                                               ` Greg KH
2007-10-29 23:51                               ` Out-of-tree modules [was: Linux Security *Module* Framework] Jan Engelhardt
2007-10-30  0:46                                 ` Lee Revell
2007-10-30  1:19                                   ` Jan Engelhardt
2007-10-27 14:08                     ` Linux Security *Module* Framework (Was: LSM conversion to static interface Tetsuo Handa
2007-11-05  6:42                       ` Crispin Cowan
2007-10-23  9:13           ` Jan Engelhardt
2007-10-23  5:44         ` Giacomo Catenazzi
2007-10-23  8:55           ` Jan Engelhardt
2007-10-23  9:14             ` Giacomo A. Catenazzi
2007-10-23  9:18               ` Jan Engelhardt
2007-10-23 15:20             ` Serge E. Hallyn
2007-10-23 15:28               ` Jan Engelhardt
2007-10-23 15:34                 ` Serge E. Hallyn
2007-10-25 10:23                   ` Valdis.Kletnieks
2007-10-19 21:07     ` James Morris
2007-10-22  1:12   ` Crispin Cowan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071028192528.GF7227@stusta.de \
    --to=bunk@kernel.org \
    --cc=agruen@suse.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=cate@debian.org \
    --cc=chrisw@sous-sol.org \
    --cc=crispin@crispincowan.com \
    --cc=greg@kroah.com \
    --cc=jengelh@computergmbh.de \
    --cc=jeremy@goop.org \
    --cc=jmorris@namei.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=simon@fire.lp0.eu \
    --cc=thomas_fricacci@yahoo.com \
    --cc=tilman@imap.cc \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox