All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Christer Weinigel <christer@weinigel.se>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] USB: mark USB drivers as being GPL only
Date: Sat, 2 Feb 2008 11:19:30 -0800	[thread overview]
Message-ID: <20080202191930.GA19826@kroah.com> (raw)
In-Reply-To: <20080202123710.42df1aa0@weinigel.se>

On Sat, Feb 02, 2008 at 12:37:10PM +0100, Christer Weinigel wrote:
> On Fri, 25 Jan 2008 10:02:32 -0800
> Greg KH <greg@kroah.com> wrote:
> 
> > FYI, this is a patch that will be sent out in the next round to Linus
> > for inclusion in 2.6.25.
> > 
> > If anyone has any objections about it, please let me know.
> 
> Yes, I have objections and I've told you before.  

You sent one message on this topic to me, back in Feb of 2007,
disagreeing that you could write a userspace USB driver running at full
speed in a non-racey manner.

Unfortunately, many other userspace USB drivers seem to disprove your
statement, including a number of vision systems running in military
applications (tanks running Linux!).  Perhaps this is just a matter of
using the api properly :)

I do know that the current usbfs interface is a major pain, hence the
work to create usbfs2.  I know those developers could use the help in
getting that cleaned up and into the kernel tree.

Also see the rapid development these days in wrappers around usbfs.
There is competing projects right now with OpenUSB and the
revitalization of the old libusb project.  I know those developers are
looking for examples where their new frameworks do not meet the needs of
developers for stuff exactly like you describe (lots of threads, async
callbacks, high throughput, cross-platform portability, etc.)

> > Over two years ago, the Linux USB developers stated that they believed
> > there was no way to create a USB kernel driver that was not under the
> > GPL.  This patch moves the USB apis to enforce that decision.
> > 
> > There are no known closed source USB drivers in the wild, so this
> > patch should cause no problems.
> 
> This is a bit disingenuous.   Of course there are closed source USB
> drivers out there.

Again, I have asked for examples, and only received 2.  One (sound
driver) is totally not needed at all, as the kernel provides that
capability, and the other hasn't run in a modern distro for years.

> I've written multiple of them during my life as a consultant.  The
> nature of closed source drivers is that they quite often are written
> for custom hardware that isn't used by that many people, so you have
> probably not seen them, but they are definitely out there in the wild.

It comes down to the simple fact, if you wish to use Linux, abide by the
license it comes under.  To do otherwise is both disenginous and
illegal[1].

> For some of these drivers, being in kernel space is very important
> since they transfer large amounts of data with very tight latency
> requirements.  It may, in theory, be possible to do the same thing in
> userspace with multiple cooperative threads and libusb, but it would be
> much more complex and much more error prone (it's hard to do control
> loops where you need about 40 us turnaround time). 

See statement above about vision systems in tanks, it can, and is done
all the time...

If a company wants to keep a driver closed, then use another operating
system, it's not like there isn't other options out there.  I hear the
BSDs and Microsoft are quite comfortable with things like that.  :)

thanks,

greg k-h

[1]  This is the public position of my personal lawyers, my employer's
lawyers, and a number of other companies whom hold copyright on the
Linux kernel tree.  So it's not like this is a minority decision these
days...

  reply	other threads:[~2008-02-02 19:25 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-25 18:02 [PATCH] USB: mark USB drivers as being GPL only Greg KH
2008-01-28  8:13 ` Clemens Ladisch
2008-01-28  8:57   ` Greg KH
2008-01-28  9:58     ` Clemens Ladisch
2008-01-28 16:13       ` Greg KH
2008-01-28 10:44 ` Boaz Harrosh
2008-01-28 16:13   ` Greg KH
2008-01-28 16:44     ` Boaz Harrosh
2008-01-28 16:52       ` Greg KH
2008-01-28 21:49 ` TimC
2008-02-02 11:37 ` Christer Weinigel
2008-02-02 19:19   ` Greg KH [this message]
2008-02-03 11:48     ` Christer Weinigel
2008-02-03 14:35       ` Pekka Enberg
2008-02-03 17:04         ` Christer Weinigel
2008-02-03 23:15           ` Greg KH
2008-02-05 23:14             ` David Newall
2008-02-05 23:17               ` Alan Cox
2008-02-07 12:50                 ` David Newall
2008-02-07 14:06                   ` Alan Cox
2008-02-07 14:32                     ` David Newall
2008-02-05 23:29               ` Greg KH
2008-02-07 12:52                 ` David Newall
2008-02-05 23:34               ` Chris Friesen
2008-02-06 21:04                 ` Adrian Bunk
2008-02-07  1:36                   ` David Schwartz
2008-02-07 13:26                   ` David Newall
2008-02-07 14:15                     ` Alan Cox
2008-02-07 15:02                       ` David Newall
2008-02-07 15:07                         ` Alan Cox
2008-02-07 16:31                           ` David Newall
2008-02-08  0:18                     ` David Schwartz
2008-02-07 13:06                 ` David Newall
2008-02-07 14:12                   ` Alan Cox
2008-02-07 14:55                     ` David Newall
2008-02-07 15:01                       ` Alan Cox
2008-02-07 16:19                         ` David Newall
2008-02-07 22:51                     ` Hannu Savolainen
2008-02-07 23:17                       ` Greg KH
2008-02-03 15:07     ` David Newall
2008-02-04 10:21       ` Diego Zuccato
2008-02-04 19:18         ` Christer Weinigel
2008-02-04 21:38           ` Marcel Holtmann
2008-02-06 20:34             ` Christer Weinigel
2008-02-06 20:54               ` Hans-Jürgen Koch
2008-02-07 13:19                 ` David Newall
2008-02-07 14:06                   ` Hans-Jürgen Koch
2008-02-07 14:31                     ` David Newall
2008-02-07 16:13                       ` Hans-Jürgen Koch
2008-02-07 16:22                         ` Dave Higton
2008-02-07 16:50                         ` David Newall
2008-02-07 17:49                           ` Hans-Jürgen Koch
2008-02-08  2:50                             ` David Newall
2008-02-09 15:13                             ` Christer Weinigel
2008-02-09 15:41                               ` Pekka Enberg
2008-02-09 16:50                                 ` Christer Weinigel
2008-02-09 17:29                                   ` Pekka Enberg
2008-02-06 20:55               ` Marcel Holtmann
2008-02-06 20:52                 ` Alan Cox
2008-02-07 13:47                   ` David Newall
2008-02-07 14:26                     ` Alan Cox
2008-02-07 15:16                       ` David Newall
2008-02-06 21:29                 ` Christer Weinigel
2008-02-07  8:07                   ` Diego Zuccato
2008-02-07 15:05                     ` Adrian Bunk
2008-02-07 19:27                     ` Marcel Holtmann
2008-02-07 13:21                 ` David Newall
2008-02-07 19:35                   ` Marcel Holtmann
2008-02-07 13:16               ` David Newall
2008-02-05  7:49           ` Diego Zuccato
2008-02-05 23:25         ` David Newall
2008-02-05 23:25           ` Alan Cox
2008-02-07 13:00             ` David Newall
2008-02-07 14:10               ` Alan Cox
2008-02-07 14:48                 ` David Newall
2008-02-07 14:58                   ` Alan Cox
2008-02-07 16:03                     ` David Newall
2008-02-07 18:22                       ` Alan Cox
2008-02-08  2:55                         ` David Newall
2008-02-08 11:29                           ` Alan Cox
2008-02-08 16:34                             ` David Newall
2008-02-07  8:31           ` Diego Zuccato
2008-02-07 13:35             ` David Newall
2008-02-07 14:25               ` Diego Zuccato
2008-02-07 15:13                 ` David Newall
2008-02-08  8:48                   ` Diego Zuccato
2008-02-07 19:34               ` Lee Mathers
2008-02-08  8:55                 ` Diego Zuccato
2008-02-08 11:38                   ` Alan Cox
2008-02-05  9:55       ` Bernd Petrovitsch
2008-02-05 11:18         ` David Newall
2008-02-05 12:32           ` Bernd Petrovitsch
2008-02-10 15:19       ` Bauke Jan Douma
2008-02-03 15:12     ` David Newall
2008-02-03 15:43       ` Pekka Enberg
2008-02-03 16:06         ` David Newall
2008-02-03 16:48           ` Pekka Enberg
2008-02-05 11:33             ` David Newall
2008-02-05 19:43               ` Marcel Holtmann
2008-02-07 13:41                 ` David Newall
2008-02-07 19:05                   ` Marcel Holtmann
2008-02-08  3:57                     ` David Newall
2008-02-08  9:15                       ` Marcel Holtmann
2008-02-08 18:40                         ` David Newall
2008-02-08 19:08                           ` David Newall
2008-02-08 19:23                             ` David Newall
2008-02-08 19:36                             ` Daniel Hazelton
2008-02-08 21:36                               ` Alan Cox
2008-02-08 23:27                                 ` Daniel Hazelton
2008-02-08 19:13                           ` Greg KH
2008-02-08 19:42                             ` David Newall
2008-02-08 23:41                           ` Marcel Holtmann
2008-02-10  2:01                             ` David Schwartz
2008-02-10  4:50                               ` Marcel Holtmann
2008-02-10  5:07                                 ` Daniel Hazelton
2008-02-10  5:43                                   ` Marcel Holtmann
2008-02-10  6:18                                     ` Daniel Hazelton
2008-02-10 11:20                                   ` Alan Cox
2008-02-10 13:30                                     ` Daniel Hazelton
2008-02-10 13:45                                       ` Olof Johansson
2008-02-12 18:02                                 ` Valdis.Kletnieks
2008-02-12 18:04                                   ` Alan Cox
2008-02-09 13:40                           ` Christer Weinigel
2008-02-08 20:21                         ` Valdis.Kletnieks
2008-02-08 23:30                           ` Marcel Holtmann
2008-02-03 17:13           ` Marcel Holtmann
2008-02-05 11:39             ` David Newall
2008-02-05 11:46               ` Pekka Enberg
2008-02-06 21:12                 ` Christer Weinigel
2008-02-06 21:48                   ` Valdis.Kletnieks
2008-02-07  6:22                   ` Pekka Enberg
2008-02-07 13:31                     ` David Newall
2008-02-07 13:47                       ` Pekka Enberg
2008-02-05 12:27               ` Alan Cox
2008-02-05 20:03               ` Marcel Holtmann
2008-02-05 20:35                 ` Chris Friesen
2008-02-05 21:12                   ` Marcel Holtmann
2008-02-07 12:41                     ` David Newall
2008-02-07 13:37                   ` David Newall
2008-02-07 13:45                 ` David Newall
2008-02-07 14:28                   ` Alan Cox
2008-02-07 15:39                     ` David Newall
2008-02-05 20:34               ` Greg KH
2008-02-06 20:14                 ` Christer Weinigel
2008-02-06 20:28                   ` Greg KH
2008-02-06 21:03                     ` Christer Weinigel
2008-02-07 13:15                     ` David Newall
2008-02-07 13:39                 ` David Newall
2008-02-06 20:43 ` Jon Smirl
2008-02-06 21:23   ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2008-02-01 14:45 Gilles Espinasse
2008-02-01 17:29 ` Greg KH
2008-02-06 21:14 ` Jan Engelhardt
2008-02-07  7:30   ` Gilles Espinasse
2008-02-03 11:17 Gilles Espinasse
2008-02-04 11:43 Matthew
2008-02-04 15:04 ` Greg KH

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=20080202191930.GA19826@kroah.com \
    --to=greg@kroah.com \
    --cc=christer@weinigel.se \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.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 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.