Credits
*******

This file lists the developers, contributors, and supporters that
have helped to make MySQL what it is today.

* Menu:

* Developers::                  Developers at MySQL AB
* Contributors::                Contributors to MySQL
* Supporters::                  Supporters to MySQL


Developers at MySQL AB
======================

These are the developers that are or have been employed by `MySQL AB'
to work on the `MySQL' database software, roughly in the order they
started to work with us. Following each developer is a small list of the
tasks that the developer is responsible for, or the accomplishments they
have made. All developers are involved in support.

Michael (Monty) Widenius
        * Lead developer and main author of the MySQL server (`mysqld').

        * New functions for the string library.

        * Most of the `mysys' library.

        * The `ISAM' and `MyISAM' libraries (B-tree index file handlers
          with index compression and different record formats).

        * The `HEAP' library. A memory table system with our superior
          full dynamic hashing. In use since 1981 and published around
          1984.

        * The `replace' program (take a look at it, it's *COOL*!).

        * `MyODBC', the ODBC driver for Windows95.

        * Fixing bugs in MIT-pthreads to get it to work for MySQL
          Server. And also Unireg, a curses-based application tool with
          many utilities.

        * Porting of `mSQL' tools like `msqlperl', `DBD'/`DBI', and
          `DB2mysql'.

        * Most of `crash-me' and the foundation for the MySQL
          benchmarks.

David Axmark
        * Initial main writer of the *Reference Manual*, including
          enhancements to `texi2html'.

        * Automatic web site updating from the manual.

        * Initial Autoconf, Automake, and Libtool support.

        * Licensing.

        * Parts of all the text files.  (Nowadays only the `README' is
          left. The rest ended up in the manual.)

        * Lots of testing of new features.

        * Our in-house Free Software legal expert.

        * Mailing list maintainer (who never has the time to do it
          right...).

        * Our original portability code (more than 10 years old now).
          Nowadays only some parts of `mysys' are left.

        * Someone for Monty to call in the middle of the night when he
          just got that new feature to work.

        * Chief "Open Sourcerer" (MySQL community relations).

Jani Tolonen
        * `mysqlimport'

        * A lot of extensions to the command-line clients.

        * `PROCEDURE ANALYSE()'

Sinisa Milivojevic
        * Compression (with `zlib') in the client/server protocol.

        * Perfect hashing for the lexical analyser phase.

        * Multi-row `INSERT'

        * `mysqldump' -e option

        * `LOAD DATA LOCAL INFILE'

        * `SQL_CALC_FOUND_ROWS' `SELECT' option

        * `--max-user-connections=...' option

        * `net_read' and `net_write_timeout'

        * `GRANT'/`REVOKE' and `SHOW GRANTS FOR'

        * New client-server protocol for 4.0

        * `UNION' in 4.0

        * Multi-table `DELETE'/`UPDATE'

        * Derived tables in 4.1

        * User resources management

        * Initial developer of the `MySQL++' C++ API and the `MySQLGUI'
          client.

Tonu Samuel (past developer)
        * VIO interface (the foundation for the encrypted client/server
          protocol).

        * MySQL Filesystem (a way to use MySQL databases as files and
          directories).

        * The `CASE' expression.

        * The `MD5()' and `COALESCE()' functions.

        * `RAID' support for `MyISAM' tables.

Sasha Pachev
        * Initial implementation of replication (upto version 4.0).

        * `SHOW CREATE TABLE'.

        * `mysql-bench'

Matt Wagner
        * MySQL test suite.

        * Webmaster (until 2002).

        * Coordinator of development.

Miguel Solorzano
        * Win32 development and release builds.

        * Windows NT server code.

        * WinMySQLAdmin

Timothy Smith (past developer)
        * Dynamic character sets support.

        * configure, RPMs and other parts of the build system.

        * Initial developer of `libmysqld', the embedded server.

Sergei Golubchik
        * Full-text search.

        * Added keys to the `MERGE' library.

Jeremy Cole
        * Proofreading and editing this fine manual.

        * `ALTER TABLE ... ORDER BY ...'.

        * `UPDATE ... ORDER BY ...'.

        * `DELETE ... ORDER BY ...'.

Indrek Siitan
        * Designing/programming of our web interface.

        * Author of our newsletter management system.

Jorge del Conde
        * `MySQLCC' (`MySQL Control Center')

        * Win32 development

        * Initial implementation of the website portals.

Venu Anuganti
        * MyODBC 3.51

        * New client/server protocol for 4.1 (for prepared statements).

        *
Arjen Lentz
        * Maintainer of the MySQL Reference Manual.

        * Preparing the O'Reilly printed edition of the manual.

Alexander (Bar) Barkov, Alexey (Holyfoot) Botchkov, and Ramil Kalimullin
        * Spatial data (GIS) and R-Trees implementation for 4.1

        * Unicode and character sets for 4.1

Oleksandr (Sanja) Byelkin
        * Query cache in 4.0

        * Implementation of subqueries (4.1).

Aleksey (Walrus) Kishkin and Alexey (Ranger) Stroganov
        * Benchmarks design and analysis.

        * Maintenance of the MySQL test suite.

Zak Greant
        * Open Source advocate, MySQL community relations.

Carsten Pedersen
        * The MySQL Certification program.

Lenz Grimmer
        * Production (build and release) engineering.

Peter Zaitsev
        * `SHA1()', `AES_ENCRYPT()' and `AES_DECRYPT()' functions.

        * Debugging, cleaning up various features.

Alexander (Salle) Keremidarski
        * Documentation of existing MySQL code/algorithms.

        * Debugging.

Per-Erik Martin
        * Lead developer for stored procedures and triggers.

Jim Winstead
        * Lead web developer.

Mark Matthews
        * Connector/J driver (Java).


Contributors to MySQL
=====================

While `MySQL AB' owns all copyrights in the `MySQL server' and the
`MySQL manual', we wish to recognise those who have made contributions
of one kind or another to the `MySQL distribution'.  Contributors are
listed here, in somewhat random order:

Paul DuBois
     Ongoing help with making this manual correct and understandable.
     That includes rewriting Monty's and David's attempts at English
     into English as other people know it.

Gianmassimo Vigazzola <qwerg@mbox.vol.it> or <qwerg@tin.it>
     The initial port to Win32/NT.

Kim Aldale
     Helped to rewrite Monty's and David's early attempts at English
     into English.

Per Eric Olsson
     For more or less constructive criticism and real testing of the
     dynamic record format.

Irena Pancirov <irena@mail.yacc.it>
     Win32 port with Borland compiler.  `mysqlshutdown.exe' and
     `mysqlwatch.exe'

David J. Hughes
     For the effort to make a shareware SQL database. At TcX, the
     predecessor of MySQL AB, we started with `mSQL', but found that it
     couldn't satisfy our purposes so instead we wrote a SQL interface
     to our application builder Unireg.  `mysqladmin' and `mysql'
     client are programs that were largely influenced by their `mSQL'
     counterparts.  We have put a lot of effort into making the MySQL
     syntax a superset of `mSQL'. Many of the API's ideas are borrowed
     from `mSQL' to make it easy to port free `mSQL' programs to the
     MySQL API.  The MySQL software doesn't contain any code from
     `mSQL'.  Two files in the distribution (`client/insert_test.c' and
     `client/select_test.c') are based on the corresponding
     (non-copyrighted) files in the `mSQL' distribution, but are
     modified as examples showing the changes necessary to convert code
     from `mSQL' to MySQL Server.  (`mSQL' is copyrighted David J.
     Hughes.)

Fred Fish
     For his excellent C debugging and trace library. Monty has made a
     number of smaller improvements to the library (speed and
     additional options).

Richard A. O'Keefe
     For his public domain string library.

Henry Spencer
     For his regex library, used in `WHERE column REGEXP regexp'.

Free Software Foundation
     From whom we got an excellent compiler (`gcc'), the `libc' library
     (from which we have borrowed `strto.c' to get some code working in
     Linux), and the `readline' library (for the `mysql' client).

Free Software Foundation & The XEmacs development team
     For a really great editor/environment used by almost everybody at
     MySQL AB/TcX/detron.

Patrick Lynch
     For helping us acquire `http://www.mysql.com/'.

Fred Lindberg
     For setting up qmail to handle the MySQL mailing list and for the
     incredible help we got in managing the MySQL mailing lists.

Igor Romanenko <igor@frog.kiev.ua>
     `mysqldump' (previously `msqldump', but ported and enhanced by
     Monty).

Yuri Dario
     For keeping up and extending the MySQL OS/2 port.

Tim Bunce, Alligator Descartes
     For the `DBD' (Perl) interface.

Tim Bunce
     Author of `mysqlhotcopy'.

Andreas Koenig <a.koenig@mind.de>
     For the Perl interface for MySQL Server.

Eugene Chan <eugene@acenet.com.sg>
     For porting PHP for MySQL Server.

Michael J. Miller Jr. <mke@terrapin.turbolift.com>
     For the first MySQL manual. And a lot of spelling/language fixes
     for the FAQ (that turned into the MySQL manual a long time ago).

Yan Cailin
     First translator of the MySQL Reference Manual into simplified
     chinese in early 2000 on which the Big5 and HK coded
     (`http://mysql.hitstar.com/') versions were based. Personal home
     page at linuxdb.yeah.net (http://linuxdb.yeah.net).

Giovanni Maruzzelli <maruzz@matrice.it>
     For porting iODBC (Unix ODBC).

Chris Provenzano
     Portable user level pthreads. From the copyright: This product
     includes software developed by Chris Provenzano, the University of
     California, Berkeley, and contributors.  We are currently using
     version 1_60_beta6 patched by Monty (see
     `mit-pthreads/Changes-mysql').

Xavier Leroy <Xavier.Leroy@inria.fr>
     The author of LinuxThreads (used by the MySQL Server on Linux).

Zarko Mocnik <zarko.mocnik@dem.si>
     Sorting for Slovenian language and the `cset.tar.gz' module that
     makes it easier to add other character sets.

"TAMITO" <tommy@valley.ne.jp>
     The `_MB' character set macros and the ujis and sjis character
     sets.

Joshua Chamas <joshua@chamas.com>
     Base for concurrent insert, extended date syntax, debugging on NT,
     and answering on the MySQL mailing list.

Yves Carlier <Yves.Carlier@rug.ac.be>
     `mysqlaccess', a program to show the access rights for a user.

Rhys Jones <rhys@wales.com> (And GWE Technologies Limited)
     For JDBC, a module to extract data from a MySQL Database with a
     Java client.

Dr Xiaokun Kelvin ZHU <X.Zhu@brad.ac.uk>
     Further development of the JDBC driver and other MySQL-related
     Java tools.

James Cooper <pixel@organic.com>
     For setting up a searchable mailing list archive at his site.

Rick Mehalick <Rick_Mehalick@i-o.com>
     For `xmysql', a graphical X client for MySQL Server.

Doug Sisk <sisk@wix.com>
     For providing RPM packages of MySQL for RedHat Linux.

Diemand Alexander V. <axeld@vial.ethz.ch>
     For providing RPM packages of MySQL for RedHat Linux-Alpha.

Antoni Pamies Olive <toni@readysoft.es>
     For providing RPM versions of a lot of MySQL clients for Intel and
     SPARC.

Jay Bloodworth <jay@pathways.sde.state.sc.us>
     For providing RPM versions for MySQL Version 3.21.

Jochen Wiedmann <wiedmann@neckar-alb.de>
     For maintaining the Perl `DBD::mysql' module.

Therrien Gilbert <gilbert@ican.net>, Jean-Marc Pouyot <jmp@scalaire.fr>
     French error messages.

Petr Snajdr, <snajdr@pvt.net>
     Czech error messages.

Jaroslaw Lewandowski <jotel@itnet.com.pl>
     Polish error messages.

Miguel Angel Fernandez Roiz
     Spanish error messages.

Roy-Magne Mo <rmo@www.hivolda.no>
     Norwegian error messages and testing of Version 3.21.#.

Timur I. Bakeyev <root@timur.tatarstan.ru>
     Russian error messages.

<brenno@dewinter.com> & Filippo Grassilli <phil@hyppo.com>
     Italian error messages.

Dirk Munzinger <dirk@trinity.saar.de>
     German error messages.

Billik Stefan <billik@sun.uniag.sk>
     Slovak error messages.

Stefan Saroiu <tzoompy@cs.washington.edu>
     Romanian error messages.

Peter Feher
     Hungarian error messages.

Roberto M. Serqueira
     Portugise error messages.

Carsten H. Pedersen
     Danish error messages.

Arjen G. Lentz
     Dutch error messages, completing earlier partial translation (also
     work on consistency and spelling).

David Sacerdote <davids@secnet.com>
     Ideas for secure checking of DNS hostnames.

Wei-Jou Chen <jou@nematic.ieo.nctu.edu.tw>
     Some support for Chinese(BIG5) characters.

Wei He <hewei@mail.ied.ac.cn>
     A lot of functionality for the Chinese(GBK) character set.

Zeev Suraski <bourbon@netvision.net.il>
     `FROM_UNIXTIME()' time formatting, `ENCRYPT()' functions, and
     `bison' advisor.  Active mailing list member.

Luuk de Boer <luuk@wxs.nl>
     Ported (and extended) the benchmark suite to `DBI'/`DBD'. Have
     been of great help with `crash-me' and running benchmarks. Some new
     date functions. The `mysql_setpermissions' script.

Jay Flaherty <fty@mediapulse.com>
     Big parts of the Perl `DBI'/`DBD' section in the manual.

Paul Southworth <pauls@etext.org>, Ray Loyzaga <yar@cs.su.oz.au>
     Proof-reading of the Reference Manual.

Alexis Mikhailov <root@medinf.chuvashia.su>
     User-definable functions (UDFs); `CREATE FUNCTION' and `DROP
     FUNCTION'.

Andreas F. Bobak <bobak@relog.ch>
     The `AGGREGATE' extension to UDF functions.

Ross Wakelin <R.Wakelin@march.co.uk>
     Help to set up InstallShield for MySQL-Win32.

Jethro Wright III <jetman@li.net>
     The `libmysql.dll' library.

James Pereria <jpereira@iafrica.com>
     Mysqlmanager, a Win32 GUI tool for administrating MySQL Server.

Curt Sampson <cjs@portal.ca>
     Porting of MIT-pthreads to NetBSD/Alpha and NetBSD 1.3/i386.

Antony T. Curtis <antony.curtis@olcs.net>
     Porting of the MySQL Database software to OS/2.

Martin Ramsch <m.ramsch@computer.org>
     Examples in the MySQL Tutorial.

Steve Harvey
     For making `mysqlaccess' more secure.

Konark IA-64 Centre of Persistent Systems Private Limited
     `http://www.pspl.co.in/konark/'.  Help with the Win64 port of the
     MySQL server.

Albert Chin-A-Young.
     Configure updates for Tru64, large file support and better TCP
     wrappers support.

John Birrell
     Emulation of `pthread_mutex()' for OS/2.

Benjamin Pflugmann
     Extended `MERGE' tables to handle `INSERTS'. Active member on the
     MySQL mailing lists.

Guilhem Bichot
     Fixed handling of exponents for `DECIMAL'.  Author of
     `mysql_tableinfo'.

Jocelyn Fournier
     Excellent spotting and reporting innumerable bugs (especially in
     the MySQL 4.1 subquery code).

Georg Richter
     MySQL 4.1 testing and bug hunting.  New PHP 5.0 `mysqli' extension
     (API) for use with MySQL 4.1 and up.

Marc Liyanage
     Maintaining the Mac OS X packages and providing invaluable feedback
     on how to create Mac OS X PKGs.

Other contributors, bugfinders, and testers: James H. Thompson, Maurizio
Menghini, Wojciech Tryc, Luca Berra, Zarko Mocnik, Wim Bonis, Elmar
Haneke, <jehamby@lightside>, <psmith@BayNetworks.com>,
<duane@connect.com.au>, Ted Deppner <ted@psyber.com>, Mike Simons,
Jaakko Hyvatti.

And lots of bug report/patches from the folks on the mailing list.

A big tribute goes to those that help us answer questions on the
`mysql@lists.mysql.com' mailing list:

Daniel Koch <dkoch@amcity.com>
     Irix setup.

Luuk de Boer <luuk@wxs.nl>
     Benchmark questions.

Tim Sailer <tps@users.buoy.com>
     `DBD-mysql' questions.

Boyd Lynn Gerber <gerberb@zenez.com>
     SCO-related questions.

Richard Mehalick <RM186061@shellus.com>
     `xmysql'-related questions and basic installation questions.

Zeev Suraski <bourbon@netvision.net.il>
     Apache module configuration questions (log & auth), PHP-related
     questions, SQL syntax-related questions and other general
     questions.

Francesc Guasch <frankie@citel.upc.es>
     General questions.

Jonathan J Smith <jsmith@wtp.net>
     Questions pertaining to OS-specifics with Linux, SQL syntax, and
     other things that might need some work.

David Sklar <sklar@student.net>
     Using MySQL from PHP and Perl.

Alistair MacDonald <A.MacDonald@uel.ac.uk>
     Not yet specified, but is flexible and can handle Linux and maybe
     HP-UX.  Will try to get user to use `mysqlbug'.

John Lyon <jlyon@imag.net>
     Questions about installing MySQL on Linux systems, using either
     `.rpm' files or compiling from source.

Lorvid Ltd. <lorvid@WOLFENET.com>
     Simple billing/license/support/copyright issues.

Patrick Sherrill <patrick@coconet.com>
     ODBC and VisualC++ interface questions.

Randy Harmon <rjharmon@uptimecomputers.com>
     `DBD', Linux, some SQL syntax questions.


Supporters to MySQL
===================

While `MySQL AB' owns all copyrights in the `MySQL server' and the
`MySQL manual', we wish to recognise the following companies, which
helped us finance the development of the `MySQL server', such as by
paying us for developing a new feature or giving us hardware for
development of the `MySQL server'.

VA Linux / Andover.net
     Funded replication.

NuSphere
     Editing of the MySQL manual.

Stork Design studio
     The MySQL web site in use between 1998-2000.

Intel
     Contributed to development on Windows and Linux platforms.

Compaq
     Contributed to Development on Linux/Alpha.

SWSoft
     Development on the embedded `mysqld' version.

FutureQuest
     `--skip-show-database'


