1 @c -*- coding: us-ascii; mode: texinfo; -*-
3 @node Introduction to contributing
4 @chapter Introduction to contributing
9 * For unix developers::
10 * For other contributors::
14 @node Overview of tasks
15 @section Overview of tasks
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.
23 @node For unix developers
24 @section For unix developers
27 To download the LilyPond Git repository:
30 git clone git://git.sv.gnu.org/lilypond.git
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{lilypond-devel@gnu.org} for
40 @node For other contributors
41 @section For other contributors
44 The LilyPond source code is maintained as a Git repository, which
49 all of the source files needed to build LilyPond, and
52 a record of the entire history of every change made to every file
53 since the program was born.
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).
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
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.