| @node Contributors, Free Manuals, Maintenance, Top |
| @c %MENU% Who wrote what parts of the GNU C library |
| @appendix Contributors to the GNU C Library |
| |
| The GNU C library was written originally by Roland McGrath, and is |
| currently maintained by Ulrich Drepper. Some parts of the library were |
| contributed or worked on by other people. |
| |
| @itemize @bullet |
| @item |
| The @code{getopt} function and related code was written by |
| Richard Stallman, @w{David J.} MacKenzie, and @w{Roland McGrath}. |
| |
| @item |
| The merge sort function @code{qsort} was written by Michael J. Haertel. |
| |
| @item |
| The quick sort function used as a fallback by @code{qsort} was written |
| by Douglas C. Schmidt. |
| |
| @item |
| The memory allocation functions @code{malloc}, @code{realloc} and |
| @code{free} and related code were written by Michael J. Haertel, |
| @w{Wolfram Gloger}, and @w{Doug Lea}. |
| |
| @item |
| Fast implementations of many of the string functions (@code{memcpy}, |
| @code{strlen}, etc.) were written by Torbj@"orn Granlund. |
| |
| @item |
| The @file{tar.h} header file was written by David J. MacKenzie. |
| |
| @item |
| The port to the MIPS DECStation running Ultrix 4 |
| (@code{mips-dec-ultrix4}) |
| was contributed by Brendan Kehoe and Ian Lance Taylor. |
| |
| @item |
| The DES encryption function @code{crypt} and related functions were |
| contributed by Michael Glad. |
| |
| @item |
| The @code{ftw} and @code{nftw} functions were contributed by Ulrich Drepper. |
| |
| @item |
| The startup code to support SunOS shared libraries was contributed by |
| Tom Quinn. |
| |
| @item |
| The @code{mktime} function was contributed by Paul Eggert. |
| |
| @item |
| The port to the Sequent Symmetry running Dynix version 3 |
| (@code{i386-sequent-bsd}) was contributed by Jason Merrill. |
| |
| @item |
| The timezone support code is derived from the public-domain timezone |
| package by Arthur David Olson and his many contributors. |
| |
| @item |
| The port to the DEC Alpha running OSF/1 (@code{alpha-dec-osf1}) was |
| contributed by Brendan Kehoe, using some code written by Roland McGrath. |
| |
| @item |
| The port to SGI machines running Irix 4 (@code{mips-sgi-irix4}) was |
| contributed by Tom Quinn. |
| |
| @item |
| The port of the Mach and Hurd code to the MIPS architecture |
| (@code{mips-@var{anything}-gnu}) was contributed by Kazumoto Kojima. |
| |
| @item |
| The floating-point printing function used by @code{printf} and friends |
| and the floating-point reading function used by @code{scanf}, |
| @code{strtod} and friends were written by Ulrich Drepper. The |
| multi-precision integer functions used in those functions are taken from |
| GNU MP, which was contributed by Torbj@"orn Granlund. |
| |
| @item |
| The internationalization support in the library, and the support |
| programs @code{locale} and @code{localedef}, were written by Ulrich |
| Drepper. Ulrich Drepper adapted the support code for message catalogs |
| (@file{libintl.h}, etc.) from the GNU @code{gettext} package, which he |
| also wrote. He also contributed the @code{catgets} support and the |
| entire suite of multi-byte and wide-character support functions |
| (@file{wctype.h}, @file{wchar.h}, etc.). |
| |
| @item |
| The implementations of the @file{nsswitch.conf} mechanism and the files |
| and DNS backends for it were designed and written by Ulrich Drepper and |
| Roland McGrath, based on a backend interface defined by Peter Eriksson. |
| |
| @item |
| The port to Linux i386/ELF (@code{i386-@var{anything}-linux}) was |
| contributed by Ulrich Drepper, based in large part on work done in |
| Hongjiu Lu's Linux version of the GNU C Library. |
| |
| @item |
| The port to Linux/m68k (@code{m68k-@var{anything}-linux}) was |
| contributed by Andreas Schwab. |
| |
| @item |
| The ports to Linux/ARM (@code{arm-@var{ANYTHING}-linuxaout}) and ARM |
| standalone (@code{arm-@var{ANYTHING}-none}), as well as parts of the |
| IPv6 support code, were contributed by Philip Blundell. |
| |
| @item |
| Richard Henderson contributed the ELF dynamic linking code and other |
| support for the Alpha processor. |
| |
| @item |
| David Mosberger-Tang contributed the port to Linux/Alpha |
| (@code{alpha-@var{anything}-linux}). |
| |
| @item |
| The port to Linux on PowerPC (@code{powerpc-@var{anything}-linux}) |
| was contributed by Geoffrey Keating. |
| |
| @item |
| Miles Bader wrote the argp argument-parsing package, and the argz/envz |
| interfaces. |
| |
| @item |
| Stephen R. van den Berg contributed a highly-optimized @code{strstr} function. |
| |
| @item |
| Ulrich Drepper contributed the @code{hsearch} and @code{drand48} |
| families of functions; reentrant @samp{@dots{}@code{_r}} versions of the |
| @code{random} family; System V shared memory and IPC support code; and |
| several highly-optimized string functions for i@var{x}86 processors. |
| |
| @item |
| The math functions are taken from @code{fdlibm-5.1} by Sun |
| Microsystems, as modified by J.T. Conklin, Ian Lance Taylor, |
| Ulrich Drepper, Andreas Schwab, and Roland McGrath. |
| |
| @item |
| The @code{libio} library used to implement @code{stdio} functions on |
| some platforms was written by Per Bothner and modified by Ulrich Drepper. |
| |
| @item |
| Eric Youngdale and Ulrich Drepper implemented versioning of objects on |
| the symbol level. |
| |
| @item |
| Thorsten Kukuk provided an implementation for NIS (YP) and NIS+, |
| securelevel 0, 1 and 2. |
| |
| @item |
| Andreas Jaeger provided a test suite for the math library. |
| |
| @item |
| Mark Kettenis implemented the utmpx interface and an utmp daemon. |
| |
| @item |
| Ulrich Drepper added character conversion functions (@code{iconv}). |
| |
| @item |
| Thorsten Kukuk provided an implementation for a caching daemon for NSS |
| (nscd). |
| |
| @item |
| Tim Waugh provided an implementation of the POSIX.2 wordexp function family. |
| |
| @item |
| Mark Kettenis provided a Hesiod NSS module. |
| |
| @item |
| The Internet-related code (most of the @file{inet} subdirectory) and |
| several other miscellaneous functions and header files have been |
| included from 4.4 BSD with little or no modification. The copying |
| permission notice for this code can be found in the file @file{LICENSES} |
| in the source distribution. |
| |
| @item |
| The random number generation functions @code{random}, @code{srandom}, |
| @code{setstate} and @code{initstate}, which are also the basis for the |
| @code{rand} and @code{srand} functions, were written by Earl T. Cohen |
| for the University of California at Berkeley and are copyrighted by the |
| Regents of the University of California. They have undergone minor |
| changes to fit into the GNU C library and to fit the @w{ISO C} standard, |
| but the functional code is Berkeley's.@refill |
| |
| @item |
| The DNS resolver code is taken directly from BIND 4.9.5, which |
| includes copyrighted code from UC Berkeley and from Digital Equipment |
| Corporation. See the file @file{LICENSES} for the text of the DEC license. |
| |
| @item |
| The code to support Sun RPC is taken verbatim from Sun's |
| @w{@sc{rpcsrc-4.0}} distribution; see the file @file{LICENSES} for the |
| text of the license. |
| |
| @item |
| Some of the support code for Mach is taken from Mach 3.0 by CMU; |
| the file if_ppp.h is also copyright by CMU, but under a different license; |
| see the file @file{LICENSES} for the text of the licenses. |
| |
| @item |
| Many of the IA64 math functions are taken from a collection of |
| ``Highly Optimized Mathematical Functions for Itanium'' that Intel |
| makes available under a free license; see the file @file{LICENSES} for |
| details. |
| |
| @item |
| The @code{getaddrinfo} and @code{getnameinfo} functions and supporting |
| code were written by Craig Metz; see the file @file{LICENSES} for |
| details on their licensing. |
| |
| @item |
| Many of the IEEE 64-bit double precision math functions |
| (in the @file{sysdeps/ieee754/dbl-64} subdirectory) come |
| from the IBM Accurate Mathematical Library, contributed by IBM. |
| |
| @end itemize |