We spent a little time here taking a look at the Vorbis licensing scheme and ran into some possible issues. In particular, the Vorbis FAQ page here says that the LGPL license applies to Vorbis libraries and GPL applies to source code (at least that's what I gather). http://www.vorbis.com/faq.html#flic http://www.fsf.org/copyleft/lesser.html Reading the text of these Gnu licenses implies that we cannot compile the source code into our executable. It implies that we can distribute a DLL with Vorbis in it and that if we have a modified version of that DLL, we need to provide source code for it. Is this correct? More in particular, exactly how can or can't we use Vorbis in a commercial application. This specific question is not directly answered in any way in the FAQ, yet it is exactly the question we want to know the answer to. Paul --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> We spent a little time here taking a look at > the Vorbis licensing scheme and ran into some > possible issues. In particular, the Vorbis > FAQ page here says that the LGPL license applies > to Vorbis libraries and GPL applies to source > code (at least that's what I gather).Actually, GPL applies only to the utilities. All the library source is LGPL, and yes, we need to update the comments at the top of the lib source files. (For clarification, everything in the ogg and vorbis modules are LGPL. Everyting in vorbis-tools, vorbis-plugins and ao is GPL)> Reading the text of these Gnu licenses implies > that we cannot compile the source code into our > executable. It implies that we can distribute > a DLL with Vorbis in it and that if we have a > modified version of that DLL, we need to provide > source code for it.That is exactly correct. You may link against library version of the object (static or dynamic) and you may modify the library, although you need to make the changes to the library publically available. You may distribute the library any way you wish (so long as you tell folks where to get the source for it). You do not need to make any portion of your code outside the lib public.> Is this correct? More in particular, exactly how > can or can't we use Vorbis in a commercial application. > This specific question is not directly answered in > any way in the FAQ, yet it is exactly the question > we want to know the answer to.It's answered as directly as possible without getting bogged down in a list of examples. You can extrapolate the acceptable uses (most of them) from the above rules; really, all the LGPL prevents is direct incorporation of the LGPL source (whole or in part) into a non-Open sourcebase, or making closed changes to the LGPL lib. Monty --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> We spent a little time here taking a look at > the Vorbis licensing scheme and ran into some > possible issues. In particular, the Vorbis > FAQ page here says that the LGPL license applies > to Vorbis libraries and GPL applies to source > code (at least that's what I gather).Both licenses apply to source code.> Reading the text of these Gnu licenses implies > that we cannot compile the source code into our > executable. It implies that we can distribute > a DLL with Vorbis in it and that if we have a > modified version of that DLL, we need to provide > source code for it.You can distirbute a dll with vorbis in it, but you have to make sure source to that dll is available (if ti's the normal vorbis dll's you can just poitn them to us :)> Is this correct? More in particular, exactly how > can or can't we use Vorbis in a commercial application.You aren't allowed to use GPL things in a closed source application. GPLed items currently include: example code, ogg123, and various tools. LGPL applies to all code that is a library. Like libogg, libvorbis, libvorbisfile, libao, etc. If you use GPL code in your application, your application mustu also be GPL. With the LGPL you may use the LGPLed code as long as it's dynamically linked. Ie, if the LGPLed code is a dll, the DLL must be LGPL, but the rest of the app that links in the DLL does not need to be.> This specific question is not directly answered in > any way in the FAQ, yet it is exactly the question > we want to know the answer to.I guess it assumes more knowledge of the subject than most people reading the faq will likely have. I'll see about having kim update it. Unless you guys _can't_ use a dll with vorbis in it, you should be in the clear, which is why those have the commercial friendly LGPL. jack. --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> Is this correct? More in particular, exactly how > can or can't we use Vorbis in a commercial application.Oh, and should also state for the record that we *do* want the LGPLed libraries to be used widely by commercial applications. Monty --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
One guy said this: >>You can distirbute a dll with vorbis in >>it, but you have to make sure source to >>that dll is available (if it's the normal >>vorbis dll's you can just point them to us :) >> ... >>With the LGPL you may use the LGPLed code >>as long as it's dynamically linked. Ie, if >>the LGPLed code is a dll, the DLL must be >>LGPL, but the rest of the app that links >>in the DLL does not need to be. Another guy said this: >>That is exactly correct. You may link >>against library version of the object >>(static or dynamic) and you may modify >>the library, although you need to make >>the changes to the library publically available. These statements do not seem consistent with each other to me. The first seems to say that you must used vorbis libraries as statically linked libraries. The second says that you can link against the static or dynamic libraries. Again I ask for clarification. Paul --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
I mean to say: The first seems to say that you must used vorbis libraries as *dynamically* linked libraries. Paul -----Original Message----- From: Pedriana, Paul [mailto:PPedriana@maxis.com] Sent: Thursday, October 26, 2000 4:26 PM To: vorbis@xiph.org Subject: RE: [vorbis] Vorbis licensing... One guy said this: >>You can distirbute a dll with vorbis in >>it, but you have to make sure source to >>that dll is available (if it's the normal >>vorbis dll's you can just point them to us :) >> ... >>With the LGPL you may use the LGPLed code >>as long as it's dynamically linked. Ie, if >>the LGPLed code is a dll, the DLL must be >>LGPL, but the rest of the app that links >>in the DLL does not need to be. Another guy said this: >>That is exactly correct. You may link >>against library version of the object >>(static or dynamic) and you may modify >>the library, although you need to make >>the changes to the library publically available. These statements do not seem consistent with each other to me. The first seems to say that you must used vorbis libraries as statically linked libraries. The second says that you can link against the static or dynamic libraries. Again I ask for clarification. Paul --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered. --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
>>what if i modify the source but its>>useless and noone wants it? http://www.fsf.org/copyleft/lesser.html says: c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. So you have a good reason to believe that nobody will use it? Just make it available anyway. The chances are that nobody will ask for it. But the spirit of GPL and LGPL is that you never know how somebody might be able to make use of it, and so you shouldn't prevent them. Paul --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
"Pedriana, Paul" wrote:> > We spent a little time here taking a look at > the Vorbis licensing scheme and ran into some > possible issues. In particular, the Vorbis > FAQ page here says that the LGPL license applies > to Vorbis libraries and GPL applies to source > code (at least that's what I gather). > > http://www.vorbis.com/faq.html#flic > http://www.fsf.org/copyleft/lesser.html > > Reading the text of these Gnu licenses implies > that we cannot compile the source code into our > executable. It implies that we can distribute > a DLL with Vorbis in it and that if we have a > modified version of that DLL, we need to provide > source code for it. > > Is this correct? More in particular, exactly how > can or can't we use Vorbis in a commercial application. > This specific question is not directly answered in > any way in the FAQ, yet it is exactly the question > we want to know the answer to. > > PaulBasically, you compile libVorbis as a DLL, and to which you must include the source code. However, the LGPL handles the unwanted case of "viral GPL'ing", meaning that you can call the Vorbis DLL from a commercial product and not have to release the source code to the entire product (just the DLL). A good example of this is AudioGrabber, which is a commercial product, but can use the Vorbis DLL to encode on the fly and transparently convert directly from CDDA tracks to Vorbis files. However, the Vorbis application code such as OggEnc is under the GPL and cannot be used in a commercial product without GPLing that aswell. -Sean -- +-----=[export-a-crypto-system-sig RSA-3-lines-PERL]=-----+ |#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj| |$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1| |lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) | +--------=[http://www.cypherspace.org/~adam/rsa/]=--------+ "Most people would rather die than think, and most people do." -- Bertrand Russell --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Hi, I just wanted to add my 2 cents to the Vorbis LGPL/licensing issues, in case it helps any. A bit of background may be in order. I am yet another Electronic Arts audio software engineer who is responsible for integrating stuff like Vorbis into cross-platform libraries that are used throughout games in EA World. I found out about Vorbis when Beta 1 was released, was very impressed with the quality, and the fact that it is patent free. I'll state now that I have the utmost respect for the project and it's authors. Since that time I have been lurking here, and our group has been working on integrating Vorbis into our technology. Our main concern was the LGPL. I don't claim to fully understand it, but what we basically read out of it is that if we modify the current Vorbis code, we must either contribute that code back, or if we have to integrate it directly into our game (sometimes we cannot use DLL's), we have to make our game code available. My second assumption is probably wrong, but we are still worried about the first. The reason this is a big concern is that we need to implement Vorbis on a wide variety of systems, for reasons of efficiency. We may have to develop optimized code for PS2, GameCube, XBOX, etc. This brings up the following legal concerns: - We may implement Vorbis on hardware covered by NDA. This might include something like the PS2's vector unit, XBOX's audio DSP, etc. This means the instruction set may be covered by NDA (to protect reverse engineering perhaps), and we can't contribute that code back to the community. - Similar to above, we may need to include header files or other resources that are covered by NDA with another party. An example might be a header file that defines DSP mnemonics or such. I believe another developer brought up a similar issue related to BeOS a few months ago. - We may want to optimize Vorbis with some general purpose code that we might consider a "trade secret" to our company. An example may be an especially fast mDCT we might already have that could be applied to Vorbis, etc., but is not generally known. There are probably more reasons we could come up with as well. I'm not sure how valid these reasons are, but they scared us out of using the LGPL version of the Vorbis code. As an engineer, it's not really for me to personally decide what we can/cannot contribute back to the Vorbis project, it is more controlled by NDA's, company policies, etc. So what we started several months ago was work on our own proprietary Vorbis implementation, that would free us of the LPGL issues (Anish Dave is working on it and has posted a few questions here related to it). This work is coming along fairly well, but now I see in the last week the LGPL issue has been raised again, and that if it is an issue we may be able to modify it. So what I am trying to say, is that for us, the LGPL was an issue. I think it would be an even bigger issue for most other game companies, who may not be able to afford the development resources we have. We have essentially spent 4 months re-inventing the wheel, and getting ourselves further away from the current Vorbis code base (makes it harder to re-incorporate Vorbis improvements). If we could have used the current Vorbis code, and simply modified it for our needs, we would have been quickly on our way into getting it into our products. If it was possible to somehow remove the LGPL, it would probably make adoption a lot easier for commercial companies. Of course you may have concerns that this may affect you in other ways, so perhaps some kind of compromise would be a good thing. I think even if the code wasn't LGPL'd, the Vorbis code base may be the same as what you see now, it wouldn't have a detrimental affect. Even with LPGL, I'm still very happy Vorbis exists, so my comments are only meant to relay a real world situation of a commercial company using Vorbis. As the authors, it's up to you to decide what you want to do with it. Thanks for listening, Dave Mercier, Electronic Arts Canada --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.