9a67d7813f6e1a018df2ba8441daf037aed8b4aa
[gnulib.git] / README
1 GNULib
2 ======
3
4 GNULib is inteded to be the canonical source for most of the important
5 "Portability" files for GNU projects.
6
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.
10
11 There are three directories that contain all of the files:
12
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.'
17
18 Contributing to GNULib
19 ======================
20
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.
24
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.
27
28 Generally we are looking for files that fulfill at least one of the
29 following requirements:
30
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.
33
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.
37
38 If your functions define completely new but rarely used functionality,
39 you should probably consider packaging it as a seperate library
40
41 High Quality
42 ============
43
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.
51
52 CVS
53 ===
54
55 GNULib is available for anonymous checkout.  In any Bourne-shell the
56 following should work:
57
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
61