[SR-Users] Regd. Kamailio GPL

Daniel-Constantin Mierla miconda at gmail.com
Fri Mar 13 12:30:27 CET 2015



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

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com




More information about the sr-users mailing list