New file: from Paul Eggert.
[gnulib.git] / README
blob9a67d7813f6e1a018df2ba8441daf037aed8b4aa
1 GNULib
2 ======
4 GNULib is inteded to be the canonical source for most of the important
5 "Portability" files for GNU projects.
7 While portability is not one of our primary goals, it has helped
8 introduce many people to the GNU system, and is worthwhile when it can
9 be acheived at a low cost.  This collection helps lower that cost.
11 There are three directories that contain all of the files:
13 gpl/   - Any source files licensed under the GNU General Public License
14 lgpl/  - Any source files licensed under the GNU Lesser GPL
15 doc/   - Any documents that may be nice to have in applications.  This
16 includes such files as 'COPYING, COPYING.LIB, etc.'
18 Contributing to GNULib
19 ======================
21 All software here is Copyright (c) Free Software Foundation - you need
22 to have filled out an assignment form for a project that uses the
23 module for that contribution to be accepted here.
25 If you have a piece of code that you would like to contribute, please
26 email bug-gnulib@gnu.org.  We will add you to the maintainers list.
28 Generally we are looking for files that fulfill at least one of the
29 following requirements:
31     * If your .c and .h files define functions that are broken or
32 missing on some other system, we should be able to include it.
34     * If your functions remove arbitrary limits from existing
35 functions (either under the same name, or as a slightly different
36 name), we should be able to include it.
38 If your functions define completely new but rarely used functionality,
39 you should probably consider packaging it as a seperate library
41 High Quality
42 ============
44 We will be developing a testsuite for these applications.  The goal is
45 to have a 100% firm interface so that maintainers can feel free to
46 update to the code in CVS at *any* time and know that their
47 application will not break.  This means that before any change can be
48 committed to the repository, a test suite program must be produced
49 that exposes the bug for regression testing.  All experimental work
50 should be done on branches to help promote this.
52 CVS
53 ===
55 GNULib is available for anonymous checkout.  In any Bourne-shell the
56 following should work:
58 $ cvs -d :pserver:anoncvs@cvs.gnu.org:/cvsroot/gnulib login
59 (Just hit Enter or Return when prompt for a password)
60 $ cvs -d :pserver:anoncvs@cvs.gnu.org:/cvsroot/gnulib checkout gnulib