On 03/13/2015 10:19 AM, Daniel-Constantin Mierla wrote:
On 12/03/15 16:01, Vicente Hernando wrote:
On 03/12/2015 01:45 PM, Daniel-Constantin Mierla wrote:
On 12/03/15 06:16, Alex Balashov wrote:
I am also not at all an expert in GPL licencing or IP, but would like to add that any customisation you make specifically for the purpose of interacting with a billing server or other external application is likely to take the form of a Kamailio module, rather than modifications to the existing Kamailio modules, the Kamailio core, or any other part of the stock code tree.
As far as I know, under the GPL--broadly speaking, for I certainly don't know or remember the specifics--modules get different treatment than modifications per se.
As far sa I know, if you can stick your code into [a] completely self-contained module(s) (and given what you've said about what specifically you want to accomplish, it seems to me that you absolutely can) that interact(s) with Kamailio using its module APIs and requires no modifications to Kamailio itself, it's not subject to the same licence constraints as modifications per se.
Please do not take my advice as stated, and consult a competent software/IP attorney.
Modules have to be written in a GPLv2 compatible license, because GPLv2 is 'viral' when linking the code, given that a module is using functions from core. If you do communication via socket/etc. with a different application, that application doesn't have to be GPLv2 compatible.
I recommend you to ask to FSF.
It is possible even when communicating via sockets to need to release your code under GPL.
In my point of view the difference is if your program works OK as a standalone application or if it needs the other GPLed application to work. That works to defeat some ways to cheat GPL philosophy.
By far not a lawyer, but as long as the communication is done via socket, it means the application runs alone, not requiring the other application to run at all. You can compare this situation like browser - web server communication, the relation between them is socket communication, but doesn't enforce that browser has to be gpl because the server is gpl.
IANAL either.
You are right in the web server - browser case, but it depends on the coupling of the two applications.
E.g: you could not create a socket interface for Kamailio to plug new propietary modules and distribute them under closed licenses or create a proprietary app that configures via socket a GPL application and without that the GPL application be unable to run.
Regards, Vicente.
Cheers, Daniel