Appendix C. Credits
Prev |  | Next

## Appendix C. Credits

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

## C.1. 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!).

  - Connector/ODBC (MyODBC), the ODBC driver for Windows.

  - 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 (now more than 10 years old). 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 (now in support)

  - Compression (with `zlib`) in the client/server protocol.

  - Perfect hashing for the lexical analyzer 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

  - Multiple-table `DELETE`/`UPDATE`

  - Subqueries in the `FROM` clause (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 (past developer)

  - Initial implementation of replication (up to version 4.0).

  - `SHOW CREATE TABLE`.

  - `mysql-bench`

- Matt Wagner

  - MySQL test suite.

  - Webmaster (until 2002).

- Miguel Solorzano (now in support)

  - Win32 development and release builds.

  - Windows NT server code.

  - WinMySQLAdmin

- Timothy Smith (now in support)

  - 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.

  - Precision math.

- Jeremy Cole (past developer)

  - 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 (now in support)

  - MySQLCC (MySQL Control Center)

  - Win32 development

  - Initial implementation of the Web site portals.

- Venu Anuganti (past developer)

  - MyODBC 3.51

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

- Arjen Lentz (now handling community)

  - 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; documentation for same

- Oleksandr (Sanja) Byelkin

  - Query cache in 4.0

  - Implementation of subqueries (4.1).

  - Implementation of views (5.0).

- Aleksey (Walrus) Kishkin and Alexey (Ranger) Stroganov

  - Benchmarks design and analysis.

  - Maintenance of the MySQL test suite.

- Zak Greant (past employee)

  - 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

  - Support.

  - Debugging.

- Per-Erik Martin

  - Lead developer for stored procedures (5.0).

- Jim Winstead

  - Former lead Web developer.

  - Improving server, fixing bugs.

- Mark Matthews

  - Connector/J driver (Java).

- Peter Gulutzan

  - SQL standards compliance.

  - Documentation of existing MySQL code/algorithms.

  - Character set documentation.

- Guilhem Bichot

  - Replication, from `MySQL` version 4.0.

  - Fixed handling of exponents for `DECIMAL`.

  - Author of `mysql_tableinfo`.

  - Backup (in 5.1).

- Antony T. Curtis

  - Porting of the MySQL Database software to OS/2.

- Mikael Ronstrom

  - Much of the initial work on NDB Cluster until 2000. Roughly half the code base at that time. Transaction protocol, node recovery, system restart and restart code and parts of the API functionality.

  - Lead Architect, developer, debugger of NDB Cluster 1994-2004

  - Lots of optimizations

- Jonas Oreland

  - On-line Backup

  - The automatic test environment of MySQL Cluster

  - Portability Library for NDB Cluster

  - Lots of other things

- Pekka Nouisiainen

  - Ordered index implementation of MySQL Cluster

  - BLOB support in MySQL Cluster

  - Charset support in MySQL Cluster

- Martin Skold

  - Unique index implementation of MySQL Cluster

  - Integration of NDB Cluster into MySQL

- Magnus Svensson

  - The test framework for MySQL Cluster

  - Integration of NDB Cluster into MySQL

- Tomas Ulin

  - Lots of work on configuration changes for simple installation and use of MySQL Cluster

- Konstantin Osipov

  - Prepared statements.

  - Cursors.

- Dmitri Lenev

  - Time zone support.

  - Triggers (in 5.0).

## C.2. Contributors to MySQL

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

- Gianmassimo Vigazzola `<qwerg@mbox.vol.it>` or `<qwerg@tin.it>`

  The initial port to Win32/NT.

- 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 an 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.)

- 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

  Author of mysqlhotcopy.

- Zarko Mocnik `<zarko.mocnik@dem.si>`

  Sorting for Slovenian language.

- "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 one of the early JDBC drivers.

- Dr Xiaokun Kelvin ZHU `<X.Zhu@brad.ac.uk>`

  Further development of one of the early JDBC drivers 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 Red Hat Linux.

- Diemand Alexander V. `<axeld@vial.ethz.ch>`

  For providing RPM packages of MySQL for Red Hat 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 3.21.

- 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.

- Jan Pazdziora `<adelton@fi.muni.cz>`

  Czech sorting order.

- 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_setpermission script.

- Alexis Mikhailov `<root@medinf.chuvashia.su>`

  User-defined functions (UDFs); `CREATE FUNCTION` and `DROP FUNCTION`.

- Andreas F. Bobak `<bobak@relog.ch>`

  The `AGGREGATE` extension to user-defined 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 administering MySQL Servers.

- Curt Sampson `<cjs@portal.ca>`

  Porting of MIT-pthreads to NetBSD/Alpha and NetBSD 1.3/i386.

- 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.

- Jocelyn Fournier

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

- Marc Liyanage

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

- Robert Rutherford

  Providing invaluable information and feedback about the QNX port.

- Previous developers of NDB Cluster

  Lots of people were involved in various ways summer students, master thesis students, employees. In total more than 100 people so too many to mention here. Notable name is Ataullah Dabaghi who up until 1999 contributed around a third of the code base. A special thanks also to developers of the AXE system which provided much of the architectural foundations for NDB Cluster with blocks, signals and crash tracing functionality. Also credit should be given to those who believed in the ideas enough to allocate of their budgets for its development from 1992 to present time.

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 mailing lists:

- 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>`

  Is flexible and can handle Linux and perhaps HP-UX. Tries to get users 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.

## C.3. Documenters and translators

The following people have helped us with writing the MySQL documentation and translating the documentation or error messages in MySQL.

- 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.

- Kim Aldale

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

- 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.

- 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.

- 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 MySQL 3.21.xx.

- 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

  Portuguese error messages.

- Carsten H. Pedersen

  Danish error messages.

- Arjen G. Lentz

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

## C.4. Libraries used by and included with MySQL

The following is a list of the creators of the libraries we have included with the MySQL server source to make it easy to compile and install MySQL. We are very thankfully to all individuals that have created these and it has made our life much easier.

- 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`.

- 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`).

- Jean-loup Gailly and Mark Adler

  For the zlib library (used on MySQL on Windows).

- Bjorn Benson

  For his safe_malloc (memory checker) package which is used in when you configure MySQL with `--debug`.

- Free Software Foundation

  The `readline` library (used by the mysql command-line client).

- The NetBSD foundation

  The `libedit` package (optionally used by the mysql command-line client).

## C.5. Packages that support MySQL

The following is a list of creators/maintainers of some of the most important API/packages/applications that a lot of people use with MySQL.

We can't list every possible package here because the list would then be way to hard to maintain. For other packages, please refer to the software portal at http://solutions.mysql.com/software/.

- Tim Bunce, Alligator Descartes

  For the `DBD` (Perl) interface.

- Andreas Koenig `<a.koenig@mind.de>`

  For the Perl interface for MySQL Server.

- Jochen Wiedmann `<wiedmann@neckar-alb.de>`

  For maintaining the Perl `DBD::mysql` module.

- Eugene Chan `<eugene@acenet.com.sg>`

  For porting PHP for MySQL Server.

- Georg Richter

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

- Giovanni Maruzzelli `<maruzz@matrice.it>`

  For porting iODBC (Unix ODBC).

- Xavier Leroy `<Xavier.Leroy@inria.fr>`

  The author of LinuxThreads (used by the MySQL Server on Linux).

## C.6. Tools that were used to create MySQL

The following is a list of some of the tools we have used to create MySQL. We use this to express our thanks to those that has created them as without these we could not have made MySQL what it is today.

- Free Software Foundation

  From whom we got an excellent compiler (gcc), an excellent debugger (gdb and the `libc` library (from which we have borrowed `strto.c` to get some code working in Linux).

- Free Software Foundation & The XEmacs development team

  For a really great editor/environment used by almost everybody at MySQL AB.

- Julian Seward

  Author of `valgrind`, an excellent memory checker tool that has helped us find a lot of otherwise hard to find bugs in MySQL.

- Dorothea Lütkehaus and Andreas Zeller

  For `DDD` (The Data Display Debugger) which is an excellent graphical front end to gdb).

## C.7. Supporters of MySQL

Although MySQL AB owns all copyrights in the `MySQL server` and the `MySQL manual`, we wish to recognize 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`

Prev |  | Next
Appendix B. Error Codes and Messages | Home | Appendix D. MySQL Change History