From: Steve K. <st...@st...> - 2004-03-01 23:44:24
|
Adam Hart wrote: > Steven Sokol wrote: > >> I'd just look at asterisk's implementation for ideas [although not >> code, because asterisk is GPL]. >> >> “I’m a bit fuzzy on the whole good/bad thing, Egon. What do you mean >> bad.” >> >> I guess my understanding of GPL is a bit weak. Is this to say that >> the code in Asterisk can be freely used, and modified (so long as >> changes are returned to Digium) but only when used as part of the >> whole? I.e. the libiax2 is LGPL and that allows it to be used as a >> separate library, but the ilbc and speex codec code is simply more of >> Asterisk, so it can’t be used in iaxClient… >> >> So, could we ask Mark if he would be willing to allow us to use the >> code, or could we license it from him under some kind of code-sharing >> arrangement (if that’s possible under the LGPL license)? >> >> I understand that Intellectual Property is important stuff. I just >> find the license sub-types confusing and frustrating. >> >> Regs, >> >> Steven >> Yes, this is all confusing. I'd like to clarify some of Adam's points, though. > Mark couldn't give you permission, unforunately. You shouldn't need > the ilbc or speex code, just get it from the respective sites. GPL > says if you have any GPL'd code in your source, the entire program > must be available under GPL. Hence, if you have iaxcomm use some GPL, > it must in turn become GPL, which causes program that uses it to turn > GPL. Oh the fun :) As far as the codecs themselves go: 1) Speex is licensed under a LGPL compatible licence (modified BSD); We just get it from them, and can use it in our code. 2) I _think_ iLBC's license is also some kind of modified BSD license. I'm pretty sure that it isn't GPL, and since it was presumably compatible with the GPL for asterisk, it's probably LGPL compatible for us to use as well. 3) G711a/u itself is simple enough that you really don't need to use anyone else's code. 4) As far as asterisk code itself, Mark _can_ give us permission to include it in iaxclient under the LGPL, since he (well, Digium) has the complete copyright on it, and can license it anyway they want, including GPL and/or any other license they want. So if there was code in asterisk that was helpful to us, we could ask Mark nicely, and I'm guessing he may be amenable to donating it to us for LGPL use. As to why we use LGPL and not GPL: The answer is on the website, but basically it is because it allows people to: a) Link with proprietary codecs and stuff, like the encumbered G.xxx stuff. b) Create proprietary UI code. This is what allows Adam to make a proprietary Firefly application on top of libiax2, which is also LGPL. > I see no reason why iaxcomm would need any of asterisk's code. The > iLBC and speex stuff is just a wrapper around the libraries. Right; and the particulars of the implementation in asterisk is probably not what we want and/or need inside of iaxclient. The basic idea of modularization, though, is something we need, similarly to how we have modularized the audio interface (there are actually 2 mostly modularized audio interfaces: portaudio, and "file", the latter of which is a simple debugging tool for now). -SteveK |