Gnulib - The GNU Portability Library
Introduction to Gnulib
GNU software has a well-deserved reputation for running on many different types of systems. While our primary goal is to write software for the GNU system, many users and developers have been introduced to us through the systems that they were already using.
Gnulib takes a different approach. Its components are intended to be shared at the source level, rather than being a library that gets built, installed, and linked against. Thus, there is no distribution tarball; the idea is to copy files from Gnulib into your own source tree.
Gnulib also includes copies of a few files purely for convenience: the GNU coding standards, the GNU maintainer information, the GPL and other licenses (in Texinfo), assorted configuration scripts, and more. The goal is to provide all the common infrastructure needed by GNU packages.
Gnulib does not make releases. It is intended to be used at the source level.
To use Gnulib, you can retrieve its source code and its history via anonymous Git, using the following shell command:
git clone git://git.savannah.gnu.org/gnulib.git
GNU developers can also retrieve the source code via non-anonymous Git; for details, please see Gnulib's top-level README file.
After you have the sources, run ./gnulib-tool --help. For help or more info, email email@example.com.
The manual is still minimal and sketchy (volunteers especially welcome).
./gnulib-tool --help also provides some information, as mentioned above.
You can also view the modules comprising gnulib.
Please email firstname.lastname@example.org with information. Here are some guidelines, however:
- If your .c and .h files define functions that are broken or missing on some other system, we should be able to include it.
- If your functions remove arbitrary limits from existing functions (either under the same name, or as a slightly different name), we should be able to include it.
- If your functions define completely new but rarely used functionality, you should probably consider packaging it as a seperate library.
All source code is copylefted by the Free Software Foundation. Assignment forms may be necessary before we can access your source code.
To subscribe to these GNU mailing lists, please send an empty mail with a Subject: header line of just "subscribe" to the relevant -request list. For example, to subscribe yourself to the main list for Gnulib, you would send mail to <email@example.com> with no body and a Subject: header line of just "subscribe".
Request an Enhancement
If you would like any new feature to be included in future versions of Gnulib, please send a request to <firstname.lastname@example.org>.
Please remember that development of Gnulib is a volunteer effort, and you can also contribute to its development. For information about contributing to the GNU Project, please read How to help GNU.
Report a Bug
If you think you have found a bug in Gnulib, then please send as complete a report as possible to <email@example.com>.
Active principal contributors to Gnulib: Bruno Haible, Eric Blake, Jim Meyering, Paul Eggert, and Simon Josefsson.