]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/contributor/introduction.itexi
Doc -- typo
[lilypond.git] / Documentation / contributor / introduction.itexi
1 @c -*- coding: us-ascii; mode: texinfo; -*-
2
3 @node Introduction to contributing
4 @chapter Introduction to contributing
5
6
7 @menu
8 * Overview of tasks::
9 * For unix developers::
10 * For other contributors::
11 @end menu
12
13
14 @node Overview of tasks
15 @section Overview of tasks
16
17
18 FIXME: The intro should contain the "help us" material from web/,
19 quite possibly as the very first thing.  This requires having a
20 macro for it, which depends on issue 939.
21
22
23 @node For unix developers
24 @section For unix developers
25
26
27 To download the LilyPond Git repository:
28
29 @example
30 git clone git://git.sv.gnu.org/lilypond.git
31 @end example
32
33 Documentation is built using Texinfo.  Subscribe to the
34 developers' mailing list at
35 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel} and
36 send well-formed Git patches to @uref{mailto:lilypond-devel@@gnu.org} for
37 discussion.
38
39
40 @node For other contributors
41 @section For other contributors
42
43
44 The LilyPond source code is maintained as a Git repository, which
45 contains:
46
47 @itemize
48 @item
49 all of the source files needed to build LilyPond, and
50
51 @item
52 a record of the entire history of every change made to every file
53 since the program was born.
54 @end itemize
55
56 The @q{official} LilyPond Git repository is hosted by the GNU
57 Savannah software forge at @uref{http://git.sv.gnu.org}.
58 Although, since Git uses a @q{distributed} model, technically
59 there is no central repository.  Instead, each contributor keeps a
60 complete copy of the entire repository (about 116M).
61
62 Changes made within one contributor's copy of the repository can
63 be shared with other contributors using @emph{patches}.  A patch
64 is a simple text file generated by the @code{git} program that
65 indicates what changes have been made (using a special format).
66 If a contributor's patch is approved for inclusion (usually
67 through the mailing list), someone on the current development team
68 will @emph{apply} (or @q{push}) the patch to the official
69 repository.
70
71 Compiling (@q{building}) LilyPond allows developers to see how
72 changes to the source code affect the program itself.  Compiling
73 is also needed to package the program for specific operating
74 systems or distributions.  LilyPond can be compiled from a local
75 Git repository (for developers), or from a downloaded tarball (for
76 packagers).  Compiling LilyPond is a rather involved process, and
77 most contributor tasks do not require it.
78