[vorbis-dev] Vorbis license terms?

Alexandra Ellwood lxs at MIT.EDU
Tue Feb 15 11:08:48 PST 2000



I believe the question of what license to use for a product really 
depends on what kind of adoption you want your source code to have. 
Is the source distribution for Vorbis:

A) an example of how to implement the Vorbis specification.

B) a product you want companies to pay for and individuals to get for free.

C) the implementation you actually want everyone to use.

If the Vorbis source code is in fact just an example of the 
specification or a product you want companies to pay for and 
individuals to get for free, then GPL is just what you want.  It 
means that folks who want to write free stuff and don't have the 
money and time to implement their own can use your GPLed version. 
Commercial companies can either implement their own internal version 
for use with their own proprietary source or pay you for a special 
license.

The GPL is in fact one of the best licenses for making lots of money 
off your free source projects.  I know a number of consultants who 
use the GPL to get paid by multiple companies for the same source! 
The GPL license forces the companies to pay the consultant for a 
special one-time commercial license so they can use it in their 
proprietary source, but the GPL also keeps the source free so the 
consultant can reuse it in his/her next contract.  A great way to 
feel like a good free source doobie while you rake in lots of dough 
from evil corporate America...

...and all the small companies trying to make a buck in this cutthroat market.

Frankly, this is why the GPL annoys me.  If you want to call your 
source "free" then you shouldn't charge any money for it.  If Vorbis 
charges for commercial licenses then who would want to contribute a 
major feature enhancement to the source?  Why do unpaid work on a 
free source project so that the owners can get paid for it?  The BSD 
licenses (and to a lesser extent the LGPL) are the only licenses 
which commit the author to writing source which is free to everyone. 
Yes the BSD license allows you to make money off your free source, 
but it also allows everyone else to do it too.

So if you actually want everyone to use your implementation, then an 
LGPL or BSD license is more desirable.  With these licenses, 
commercial and free products alike can link with Vorbis while the 
libraries themselves stay free.

True, a BSD license will allow companies to add features without 
sending them back to you, but by and large you don't want those 
patches anyway.  If the company wants a generic feature, they'll 
often ask you to add it (this is what we often see at MIT).  You 
should feel free to charge a "support fee" to pay your rent while you 
write it. There's nothing wrong with charging companies for work you 
are actually doing, because you aren't charging for the enhancements 
other people did for free.  If the company is doing the addition 
themselves then chances are it is closely tied to their own private 
sources and useless to anyone else.

Yes, you will lose a few patches and fixes, but you probably do 
anyway because some folks are too lazy to make their patches portable 
or clean them up enough to send them in.  However, it is to 
companies' advantage to send in generic patches, because then they 
don't have to reapply them to take a new version.  So if you are 
enhancing Vorbis regularly then everyone will want to send you 
patches so they don't get too different from the mainline.

If you are worried about the BSD license allowing folks to make 
incompatible versions of Vorbis by tweaking your source and 
redistributing it, put a clause in your license saying that modified 
sources cannot be redistributed under the name "Vorbis" (see Kerberos 
5 sources for examples of this language).  This prevents "embrace and 
extend" Microsoft-style thinking from screwing you over and also 
encourages folks to send in feature enhancements.

Now in the case of Vorbis, I would recommend the LGPL or BSD license. 
As I understand it, the real goal of Vorbis is to spread itself as 
far and wide as possible and defeat the evil scourge of MP3 licensing 
fees.

If you charge companies for commercial licenses of your GPLed code, 
they will just turn around and charge the consumer, making commercial 
encoders with Vorbis codecs just as expensive as the MP3 ones.  If 
the company implements its own version, it will charge the customers 
for the people it hired to write it.  Commercial Vorbis encoders 
won't be any cheaper than MP3 ones.  This is not what you want. 
Companies aren't going to add a new encoder unless there is some 
major advantage, and Vorbis's major selling point is its the lack of 
licensing fees.

If you want Vorbis to spread like the plague then it needs to be free 
to everyone, including commercial companies.  It needs to be so free 
that companies don't have to spend a cent to add it to their existing 
products.  Just pop in a library and go.

And the "you can just implement it as an application" argument 
doesn't fly.  On the Macintosh you don't have inter-process 
communication.  How exactly is a Vorbis application supposed to 
communicate with the commercial encoder?  Write to a file and then 
have the module read from it?  I'd prefer not to have to make 
disgusting design decisions because of the *software license*.  It 
reminds me of working around government export control regulations.

My two cents,

--lxs
-----------------------------------------------------------------------------
Alexandra Ellwood                                               <lxs at mit.edu>
MIT Information Systems                               http://mit.edu/lxs/www/
-----------------------------------------------------------------------------

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list