Trying to work out whether something is a derivative work of a GPL'ed library borders on a philosophical debate. Exactly those sort of debates abound http://stackoverflow.com/questions/1890148/when-is-your-code-a-derivative-work. The license itself doesn't
specifically say anything about dynamic or static linking and I'd still argue sipsorcery is not a derivative work of agXMPP.
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
In this case the sipsorcery software does not "contain" the agXMPP program or any portion of it. At runtime if a sipsorcery user calls the GTalk dialplan application the .Net CLR will go off and load the agXMPP assembly and then pass the data between
the sipsorcery assembly and the agXMPP assembly. The sipsorcery software "makes use" of the agXMPP library rather than "containing" it, it also makes use of the Windows OS, the .Net framework etc. etc.
As far as sipsorcery licensing goes my goal is to have to spend the least amount of time possible worrying about it both for me and anybody brave enough to try and use the software. Ultimately if there was a problem with a library like agXMPP and I got a
cease and desist letter or email from AG-Software I'd simply stop using the library and in fact if you're that worried about it you could comment out the GTalk method in DialPlanScriptHelper.cs and remove any need to reference the library. I've only observed
one sipsorcery user even utilise the GTalk method regularly so it's not even a widely used feature.