Gnulib, also called the GNU portability library, is a collection of software
subroutine
In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times.
Callable units provide a ...
s which are designed to be usable on many
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s. The goal of the project is to make it easy for
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
authors to make their software run on many operating systems. Since source is designed to be copied from gnulib, it is not a library per-se, as much as a collection of portable
idioms
An idiom is a phrase or expression that largely or exclusively carries a figurative or non-literal meaning, rather than making any literal sense. Categorized as formulaic language, an idiomatic expression's meaning is different from the lit ...
to be used in other projects.
Making a software package work on a system other than the original system it worked on is usually called "
porting
In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desig ...
" the software to the new system, and a library is a collection of subroutines which can be added to new programs. Thus, Gnulib is the GNU project's
portability library.
It is primarily written for use by the
GNU Project
The GNU Project ( ) is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing dev ...
, but can be used by any
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
project.
See also
*
GLib
GLib is a bundle of three (formerly five) low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever since ...
*
libiberty
*
Boost (C++ libraries)
Boost, boosted or boosting may refer to:
Science, technology and mathematics
* Boost, positive manifold pressure in Turbocharger, turbocharged engines
* Boost (C++ libraries), a set of free peer-reviewed portable C++ libraries
* Boost (material), ...
References
External links
The official Gnulib homepage
Free computer libraries
GNU Project software
{{Free-software-stub