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.
-- Alex
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.
But again, the GPLv2 constraints are about distribution. If you write a module and keep it for yourself, then nothing is required by GPLv2. If you do a module and distribute it to someone else (free or with money), that someone has the rights to get the source code (for free or for money, but no more expensive that the binary form).
Cheers, Daniel
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.
Regards, Vicente.
But again, the GPLv2 constraints are about distribution. If you write a module and keep it for yourself, then nothing is required by GPLv2. If you do a module and distribute it to someone else (free or with money), that someone has the rights to get the source code (for free or for money, but no more expensive that the binary form).
Cheers, Daniel
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.
Cheers, Daniel
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
On 13/03/15 10:41, Vicente Hernando wrote:
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.
As long as the relation between the two apps is only socket communication, I am not sure we can name one being a module for the other.
An example will be rtpproxy application which is controlled by kamailio via some custom protocol over a socket. There is no restriction for rtpproxy application enforced because kamailio is gpl. On the other hand, the rtpproxy module in kamailio has gpl constraints because it is linked (at compile time) against kamailio core.
It might be just different terminology that we use here, but referring to the same concepts.
Cheers, Daniel