MySQL(R) client-side library in public-domain
=============================================

Short
-----

Disclaimer and acknowledgments: MySQL(R) is a registered
trade mark of MySQL AB. Some files which come with this
README file have been downloaded from MySQL web server,
but have been released explicitly as public domain. They
have been slightly modified to be compiled on a Unix-like
system without the "configure" utility. Other files have
been written from scratch and are also public domain.

Usage: link all the .c (except for mysql-client.c) with
your MySQL client code, and distribute any way you want.

Warranty: NONE AT ALL, especially concerning what could
look like legal advises.

Longer
------

The files in this archives are all in the public domain.
Most of them come from the distribution of MySQL 3.2.32
as found at http://www.mysql.com on June 15th, 2004,
the last one (I think) to contain public-domain versions
of the client-side source code of MySQL. In more recent
versions, all the source code files of MySQL are distributed
under a dual license: GPL and commercial. Public-domain
client-side source code of version 3.2.32 is interesting
for projects which are not released under the GPL (or
which are distributed with non-GPL applications) and which
do not justify the licensing fees of the commercial license.
The important thing to note is that it is largely compatible
with more recent versions of the MySQL server. I tested it
with MySQL server 4.0.13 on Mac OS 10.3.

The following steps have been followed to create this
distribution:

1. Install the most recent release of MySQL (e.g. 4.0.13;
GPL, therfore free)

2. Create a test database

3. Write a simple client application in C (mysql-client.c),
link it with the same version of the client as the server
(i.e. 4.0.13 in our case), and test it

4. Get the distribution of MySQL 3.2.32

5. Link mysql-client.c with all the required files coming
from 3.2.32 with an explicit "public-domain" mention, fixing
all errors and implementing the missing parts from scratch

6. Test it

7. Release the whole in public domain.

Modifications to files of MySQL 3.2.32 are flagged with
comments with "YP" and should be easy to identify. To build
the test application, cd to this directory and type "make".

The test application, mysql-client-pd, is a primitive
public-domain reimplementation of the command-line tool
"mysql" which comes in the standard distribution from
MySQL AB. Type "./mysql-client-pd --help" for a list
of possible arguments; once you've connected to a database,
type SQL statements ending with semicolons, and "quit" to
quit. Statements may span several lines. The goal of this
tool is not to replace the official client, but more to
test the public-domain distribution and to show how it
can be used.

Enjoy!

Yves Piguet, 28 June 2004
PUBLIC DOMAIN - NO GUARRANTEE

