Copyright (C) 2009-2010 TMate Software Ltd

As part of SVNKit library, SQLJet library is distributed under 
the terms of TMate Open Source License (see http://svnkit.com/license.html).
Otherwise, outside of SVNKit library, the following licensing terms 
are applicable for SQLJet library:  

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
 
For information on how to redistribute this software under 
the terms of a license other than GNU General Public License 
contact TMate Software at support@sqljet.com