This work was packaged for Debian by:

    Bill Cox <waywardgeek@gmail.com> on Wed, 03 Nov 2010 11:15:19 -0400

It was downloaded from:

    http://vinux-project.org

Upstream Author(s):

    Bill Cox <waywardgeek@gmail.com>

Copyright:

  Copyright (C) 2010 Bill Cox

   The Sonic Library is licensed under the Apache 2.0 license.

The Debian packaging is:

    Copyright (C) 2010 Bill Cox <waywardgeek@gmail.com>

and is licensed under the Apache 2.0 license,
see "/usr/share/common-licenses/Apache-2.0".
