All of lore.kernel.org
 help / color / mirror / Atom feed
From: greg@kroah.com (Greg KH)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Unknown symbol usb_register_driver
Date: Mon, 29 Aug 2011 14:06:18 -0700	[thread overview]
Message-ID: <20110829210618.GA19173@kroah.com> (raw)
In-Reply-To: <6F5DE7538AFCDA45A114F5E7510424A702A6DEB9@hq-exchange01.bytemobile.com>

On Mon, Aug 29, 2011 at 01:56:20PM -0700, Jeff Haran wrote:
> > -----Original Message-----
> > From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-
> > bounces at kernelnewbies.org] On Behalf Of Greg KH
> > Sent: Monday, August 29, 2011 12:33 PM
> > To: Prajosh Premdas
> > Cc: kernelnewbies at kernelnewbies.org
> > Subject: Re: Unknown symbol usb_register_driver
> > 
> > On Tue, Aug 30, 2011 at 12:45:11AM +0530, Prajosh Premdas wrote:
> > > Hi
> > >
> > > I am using?Linux-2.6.31-14 based on Ubuntu karmic. I am developing
> > > a?proprietary?usb driver and was doing my study .
> > 
> > The Linux USB subsystem does not allow non-GPL kernel drivers, sorry.
> > 
> > greg k-h
> 
> Prajosh,
> 
> In other words, your efforts to write a non-GPL USB module are stymied
> by the following in the kernel sources:
> 
> EXPORT_SYMBOL_GPL(usb_register_driver);
> EXPORT_SYMBOL_GPL(usb_deregister);
> 
> So you go through the same rigmarole that everybody else does when
> they run into this and can't talk their management into GPL'ing the
> actual source for the module you are writing.
> 
> You write a little stub module that is GPL that contains two functions
> that take the same parameters as usb_register_driver() and
> usb_deregister(). These functions do nothing but call
> usb_register_driver() and usb_deregister() and return what they
> return, but you export them with EXPORT_SYMBOL() instead of
> EXPORT_SYMBOL_GPL(). Your company releases the little stub module
> under GPL and your private code calls the new functions it exports.

If you do that, expect legal action to be taken against you.

The "GPL condom" aproach has been tried numerous times by companies with
no legal experience with the GPL and every time, it has failed.  Samba
has numerous public legal cases where this was attempted, if you want
some public case history.  The Linux attempts to do this have all
resulted in the release of the source code, or it no longer being
distributed at all.

So please don't do that, it only wastes people's time and lawyer money
in the end.

Unless you want to keep the lawyers in business, then, by all means, go
ahead and try this :)

good luck,

greg k-h

  reply	other threads:[~2011-08-29 21:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-29 19:15 Unknown symbol usb_register_driver Prajosh Premdas
2011-08-29 19:32 ` Greg KH
2011-08-29 20:56   ` Jeff Haran
2011-08-29 21:06     ` Greg KH [this message]
2011-08-29 22:32     ` StephanT
2011-08-30  3:45       ` Prajosh Premdas

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=20110829210618.GA19173@kroah.com \
    --to=greg@kroah.com \
    --cc=kernelnewbies@lists.kernelnewbies.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.