--- /dev/null
+@c Gnulib history
+
+@c Copyright 2024 Free Software Foundation, Inc.
+
+@c Permission is granted to copy, distribute and/or modify this document
+@c under the terms of the GNU Free Documentation License, Version 1.3 or
+@c any later version published by the Free Software Foundation; with no
+@c Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
+@c copy of the license is at <https://www.gnu.org/licenses/fdl-1.3.en.html>.
+
+In the beginning, Richard Stallman maintained the regular expression engine
+of GNU and made it available to other GNU packages, such as
+@code{sed}, @code{awk}, @code{grep}, so that they could use the same engine.
+Recall that there was no GNU C library at the time.
+
+A couple of years later, Jim Meyering, who was maintaining
+the shell utilities, the file utilities, and the text processing utilities,
+collected the common parts of these three packages in the same repository.
+Paul Eggert joined in, with code coming from a few GNU packages that he
+maintained,
+and so did Bruno Haible, with reusable code from the GNU gettext package.
+
+As they cared for portability, many changes in the C code were accompanied
+by changes in the build infrastructure.
+Copying these changes into packages --- it was all done manually --- became
+cumbersome. So they wrote a program, called @samp{gnulib-tool}, that does
+this job of copying the requested shared code into a particular package.
+This was in 2002.
+
+Providing a substitute / override for a system function was relatively easy.
+Providing a substitute / override for a system header file was significantly
+harder, but was done successively:
+for @code{stdint.h} in 2004,
+for @code{stdarg.h}, @code{sys/socket.h}, @code{sys/stat.h} in 2006,
+for @code{sys/time.h}, @code{wchar.h} in 2007,
+and the development of the corresponding idioms took until 2010.
+
+Unicode string modules (that make up GNU libunistring) were added in 2007--2009.
+
+Modules for numeric functions (@code{<math.h>}) were added in 2010--2011.
+
+Modules for container data structures were added between 2006 and 2018.
+
+Versatile bit-set modules were added in 2018.
+
+POSIX threads on non-POSIX platforms, as well as ISO C threads on all
+platforms, were added in 2019.
+
+The @code{posix_spawn} facility was brought to completion on native Windows
+in 2022, providing the world's first @code{posix_spawn} implementation for
+this platform.
+
+Support for Android was added in 2023 and immediately used by GNU Emacs
+for Android.
+
+Functions for working with Unicode characters in multibyte representation,
+based on @code{mbrtoc32}, were added in 2023.
+
+Modules for manipulating the floating-point environment (@code{fenv.h}) were
+added in 2023.
+
+The @samp{gnulib-tool} rewrite in Python, that was started by Dmitry Selyutin
+in 2012 but lay unfinished for many years, was completed by Collin Funk and
+Bruno Haible in 2024.