<div dir="ltr">Thank you for the detailed reply.  At the moment, I believe SDRIO fulfills all of the requirements you detail.  You are correct that the SDRIO drivers are individual DLLs that export the API defined in sdrio_ext.h, and that it it is the job of the client application to look for these files and load them dynamically.<div>
<br></div><div>I only have one small question, which is the exact treatment of auto-install mechanisms.  I was hoping to use a auto-downloader to make the installation process easier.  Do you consider it problematic if I use the auto-downloader to grab the SDRIO installer and execute it (not individual drivers, but rather the installer as a whole)?  It seems strange to me that there should be a difference between a user manually clicking a download link and running a program versus the program downloading automatically, but I understand that this is a gray area.</div>
<div><br></div><div>At any rate, it is not a problem for me to keep the two distributions completely separated; it is just a slight extra burden on the end users.  We want to make things as easy as possible and this is an extra step, but I am happy to go that route if it more clearly fits with the license.</div>
<div><br></div><div>Thanks again,</div><div><br></div><div>-Scott</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 28, 2014 at 1:51 PM, Sylvain Munaut <span dir="ltr"><<a href="mailto:246tnt@gmail.com" target="_blank">246tnt@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
<br>
First off: IANAL. Also this email doesn't consistute legal advice and<br>
also doesn't consitute a grant of right or any kind of approbation,<br>
it's just my current opinion, at this moment and is subject to change.<br>
<br>
Being windows stuff, I can't build it but I assume that the "drivers"<br>
once compiled create .dll or shared object files, theses have a<br>
pre-define plugin API and are dynamically loaded by the host app (for<br>
example listing all DLL in a "drivers" dir).<br>
<br>
A few things are clear :<br>
<br>
 - The SDRIO_RTLSDR has to be distributed under GPL. (The source can<br>
be any license gpl compatible, but once built into a binary and linked<br>
to the lib, then it's _just_ GPL and must be distributed as such<br>
whatever other license was the source)<br>
 - You cannot distribute the SDRIO_RTLSDR DLL bundled with any app<br>
using the SDRIO interface that's not also GPL. And mechanism like<br>
auto-download / auto-install after the fact would easily be considered<br>
circumvention mechanisms and thus not allowed either. The app and the<br>
driver must be distributed separately and if the user wants it, it has<br>
to install it manually after the fact.<br>
 - The interface itself ( content of SDRIO directory, so essentially<br>
sdrio_ext.h ) doesn't really need a license. .h files that don't<br>
content inline functions are not considered copyrightable.<br>
 - The interface can't be a simple "wrapper" against a GPL lib. It has<br>
to be generic and completely detached from any rtl-sdr specific stuff.<br>
Seems to be the case here and since you provide drivers for other<br>
hardware, that shouldn't be an issue.<br>
 - Drivers must be loaded / detected dynamically, basically the host<br>
app (if not GPL) can't have any knowledge of rtl-sdr at all ...<br>
<br>
For the EXTIO case, you have all of the above _AND_ the interface was<br>
pre-existing which made it a no-brainer. Here's it's created after the<br>
fact but that shouldn't be an issue for this specific case.<br>
<br>
If the content of the SDRIO directory becomes filled with helpers to<br>
actually use SDRIO drivers, then it will need a license of its own and<br>
LGPL would probably be appropriate here or even BSD (and don't make<br>
that a library but more something to statically link in the target<br>
app). I find that dual-licensing makes things more tricky than needed<br>
so I would avoid that. (Because depending on build options or what had<br>
been effectively linked or not, or what it's bundled with, the<br>
effective license vary).<br>
<br>
<br>
<br>
Cheers,<br>
<br>
    Sylvain<br>
</blockquote></div><br></div>