Gnulib
Encyclopedia
Gnulib, also called the GNU portability library, is a collection of software subroutine
s which are designed to be usable on many operating system
s. The goal of the project is to make it easy for free software
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
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
" 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
, but can be used by any free software
project.
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....
s which are designed to be usable on many operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s. The goal of the project is to make it easy for free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
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
Programming idiom
A programming idiom is a means of expressing a recurring construct in one or more programming languages. Generally speaking, a programming idiom is an expression of a simple task or algorithm that is not a built-in feature in the programming language being used, or, conversely, the use of an...
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
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...
" 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
Software portability
Portability in high-level computer programming is the usability of the same software in different environments. The prerequirement for portability is the generalized abstraction between the application logic and system interfaces...
library.
It is primarily written for use by the GNU Project
GNU Project
The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...
, but can be used by any free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
project.
External links
- The official Gnulib homepage
- Gnulib's development webpage on SavannahGNU SavannahGNU Savannah is a project of the Free Software Foundation initiated by Loïc Dachary, which serves as a collaborative software development management system for Free Software projects. Savannah currently offers CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file...
- Adding Gnulib to a project