cswiger at mac
May 14, 2012, 10:21 AM
Post #3 of 12
On May 14, 2012, at 8:55 AM, Paul Smith wrote:
> We produce a commercial mail server (not GPLed) which has a defined DLL interface to allow people to create plugins to integrate with virus scanners (I'll call that an 'AV plugin DLL'). It's not specifically designed for ClamAV, but for any 'reasonable' virus scanner, and that interface has been . Also, you don't need a virus scanner at all to use our software, although, obviously without one, messages won't be scanned for viruses - so it adds optional functionality. This AV plugin DLL functionality has been in our software for about 8 years, so it's not something we've added specifically to try to get around GPL.
You've written a generic plugin API for your software. It's license agnostic.
> If we made our software link directly with libclamav, then, as far as I can see we'd need to GPL our software, which isn't desirable
You'd need to license your software under a GPL-miscible license in order to redistribute the combination. If your proprietary/commercial license isn't currently GPL-miscible, then you could not redistribute the combination.
> What if another person made an AV plugin DLL to link our software with libclamav? I presume that by doing so, their DLL would have to be released under the GPL, but I also presume that wouldn't force us to GPL our software even though our software is now linking with (their) GPL software.
Nothing done by someone else would require you to "GPL your software". Having end-users assemble the combination themselves via the AV plugin DLL would leave the responsibility up to them; if the licenses are not compatible, they would not be able to redistribute the combination, but they could still use it.
[. This is a fair description of the case where proprietary binary drivers from nVidia or ATI/AMD get linked via a GPL'ed shim into a Linux kernel, and is why such linking is done by the end-user, and not shipped as part of a distribution. ]
> 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.
> (At the moment we're thinking of making an AV plugin DLL which execs clamdscan, which, AFAICS is totally 'safe' for our licensing, but it would be much more efficient (on Windows) to have it link directly with libclamav - we don't mind releasing the source to the AV plugin DLL - it could be a useful example for our more technical customers)
Invoke ClamAV / clamd via a socket...?
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net