On 14/05/2012 20:57, Chuck Swiger wrote:
On May 14, 2012, at 12:02 PM, Simon Hobson wrote:
Chuck Swiger wrote:
What if WE made an AV plugin DLL to link our software with libclamav?
If your software license isn't GPL-miscible, then you should not redistribute
the combination of your software, the plugin, and ClamAV.
Isn't this a case where the component they've linked with (in this case) ClamAV
would need to be GPL, but the other component it talks to doesn't need to be ?
Yes, if "talks to" means an external connection to a network port or local
filesystem socket, then the other component doesn't need to be GPL-miscible. If the
other component gets linked into a single program, then the GPL folks claim that makes
them a single work which needs to be licensed under GPL-compatible terms.
Actually it seems a bit wooly even to the GPL folks...
http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#NFUseGPLPlugins
What we have is a DLL with essentially 3 functions, 'init', 'shutdown'
and 'scan(memoryblock)'. (to use with ClamAV,the DLL has to save the
memory block to a temporary file and scan that).
This seems to fall into this category:
"If the program dynamically links plug-ins, but the communication
between them is limited to invoking the 'main' function of the plug-in
with some options and waiting for it to return, that is a borderline case."
It doesn't say what happens in that case, but even the GPL folks see it
as a 'borderline' case, not a clear-cut case.
(BTW - There are plugins listed on the ClamAV wiki for Exchange &
Communigate, so how are those 'legal'?)
We could talk to clamd using TCP/IP, but since the clamd protocol
doesn't seem to be clearly documented, that would involve reverse
engineering clamdscan and rewriting it.
We have considered making our own GPL daemon based on clamscan which
communicates with our software using a socket or named pipe using our
own protocol. While that would seem to meet the letter of the license
(as we won't be linking non-GPL software with clamav directly), it seems
to me to be more against the spirit of it than linking in using the
standard API...
(We've actually tried to contact SourceFire to start investigating
whether a commercial licence would be possible, but had no response so
far - I'll get in touch with Joel Essler about it,since he seems to know
the right person to talk to...)
_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://www.clamav.net/support/ml