Note: This license is from README.txt included in fmodapi375linux.tar.gz

----------------------------------------------------------------------------
                                 FMOD 3.75
              Copyright (c) Firelight Technologies Pty, Ltd,
                                1994 - 2004
----------------------------------------------------------------------------

                             http://www.fmod.org

----------------------------------------------------------------------------
FMOD End User License Agreement
----------------------------------------------------------------------------

FMOD's names, sources, documentation and binaries contained within the
distributed archive are copyright © Firelight Technologies, Pty, Ltd.
1994-2004.

The contents of the FMOD distribution archive may not be redistributed,
reproduced, modified, transmitted, broadcast, published or adapted in any
way, shape or form, without the prior written consent of the owner,
Firelight Technologies, be it by tangible or non tangible media.
The dynamically linkable files from the FMOD distribution archive may be
redistributed without the authors prior permission, and must remain unmodified.
The use of dll 'static linking' tools that aim to hide the fmod library are
forbidden.

FMOD may not be used in a commercial product, or product that directly or
indirectly receives income with the aid of the FMOD sound library, without
a commercial license from Firelight Technologies.  Releasing a product
without a commercial license in this instance is a breach of the FMOD EULA
and parties who violate this license will be prosecuted under the full
extent of the law.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
