Hej Leif!
Leif Asbrink wrote:
This means you are free to use the rtlsdr dll
available
at osmocom but you can not distribute an executable in
which the library is linked in.
I'm afraid it's not so simple.
Likewise can I distribute Linrad under Linux and give
the user the instructions how to link in librtl.so
from the osmocom site or from a complete and somewhat
modified version that I will supply myself in case
the modifications to the library I will propose will not
be accepted.
You can do that, but Linrad will also be GPL.
Your software (both source and binaries) undisputably constitutes a
derivative work of rtl-sdr, because it calls rtl-sdr.
A consequence is that your software is not really in the public
domain, as long as it calls rtl-sdr.
Also keep in mind that the concept of public domain is problematic
across international copyright law. All nations do not allow an
author to abstain their copyright; I believe that's the case here
in Europe for example.
For maximum freedom I like to use the MIT license:
http://opensource.org/licenses/MIT
I understand the only requirement to be that copyright notices and
the license itself are also copied, when copying the source code.
The e4k tuner works very well, actually it is
very competitive when compared to the FUNcube Pro dongle,
but only with a modified library.
http://www.sm5bsz.com/linuxdsp/hware/funcube/funcube.htm
I urge you to work with the rtl-sdr maintainers to find how your
improvements can be reworked so that they are included in rtl-sdr.
It is a waste of everyone's time that you keep some local changes.
PS. The reason I worry about the GNU license is that
Linrad is free software. Free for anyone to use for
any purpose. I do not want to discourage people from
using my sdr algorithms in commercial products. For that
reason I claim no copyright and do not include a GNU
license. DS.
I hope it is clear that the way you currently do this doesn't work,
or that it at the very least is more problematic than it needs to be.
Any software which calls rtl-sdr automatically becomes GPL.
It is of course easy to accomplish what you want. Just like those who
wish to distribute their software with a less free license than GPL
you must create an abstraction in Linrad where the only calls to
rtl-sdr occur in a process which is separate from Linrad. The source
code of that (small) program will always be GPL. Linrad which
communicates with that (small) program can use another license.
One easy solution is to just use the rtl-sdr TCP protocol, but you
may have some reason to create a different abstraction. With an
abstraction over TCP you have isolated your software from rtl-sdr.
Like authors of closed software you are circumventing the intent of
the rtl-sdr authors, but that is of course your prerogative.
To make your software unproblematic for others to use I urge you to
choose a permissive license that you like, in the list of popular
approved open source licenses. Here's the list:
http://opensource.org/licenses/category
MIT is IMO the shortest and simplest of them. That's why I like it a
lot for maximum freedom software.
//Peter