--- /dev/null
+@c -*- coding: us-ascii; mode: texinfo; -*-
+
+@node Introduction to contributing
+@chapter Introduction to contributing
+
+
+@menu
+* Overview of tasks::
+* For unix developers::
+* For other contributors::
+@end menu
+
+
+@node Overview of tasks
+@section Overview of tasks
+
+
+FIXME: The intro should contain the "help us" material from web/,
+quite possibly as the very first thing. This requires having a
+macro for it, which depends on issue 939.
+
+
+@node For unix developers
+@section For unix developers
+
+
+To download the LilyPond Git repository:
+
+@example
+git clone git://git.sv.gnu.org/lilypond.git
+@end example
+
+Documentation is built using Texinfo. Subscribe to the
+developers' mailing list at
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel} and
+send well-formed Git patches to @uref{lilypond-devel@gnu.org} for
+discussion.
+
+
+@node For other contributors
+@section For other contributors
+
+
+The LilyPond source code is maintained as a Git repository, which
+contains:
+
+@itemize
+@item
+all of the source files needed to build LilyPond, and
+
+@item
+a record of the entire history of every change made to every file
+since the program was born.
+@end itemize
+
+The @q{official} LilyPond Git repository is hosted by the GNU
+Savannah software forge at @uref{http://git.sv.gnu.org}.
+Although, since Git uses a @q{distributed} model, technically
+there is no central repository. Instead, each contributor keeps a
+complete copy of the entire repository (about 116M).
+
+Changes made within one contributor's copy of the repository can
+be shared with other contributors using @emph{patches}. A patch
+is a simple text file generated by the @code{git} program that
+indicates what changes have been made (using a special format).
+If a contributor's patch is approved for inclusion (usually
+through the mailing list), someone on the current development team
+will @emph{apply} (or @q{push}) the patch to the official
+repository.
+
+Compiling (@q{building}) LilyPond allows developers to see how
+changes to the source code affect the program itself. Compiling
+is also needed to package the program for specific operating
+systems or distributions. LilyPond can be compiled from a local
+Git repository (for developers), or from a downloaded tarball (for
+packagers). Compiling LilyPond is a rather involved process, and
+most contributor tasks do not require it.
+