]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/contributor/introduction.itexi
CG: move lilybuntu into new "quick start" chapter.
[lilypond.git] / Documentation / contributor / introduction.itexi
index 7a1f586b688c2dc66615dd1ac1627b19e3e3b1ef..c104cee17551acb2790d8a512c9bb84a1d5e63ec 100644 (file)
@@ -1,49 +1,43 @@
-@c -*- coding: us-ascii; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
+
+@include included/helpus.itexi
 
 @node Introduction to contributing
 @chapter Introduction to contributing
 
+This chapter presents a quick overview of ways that people can
+help LilyPond.
 
 @menu
-* Overview of tasks::
-* For unix developers::
-* For other contributors::
+* Help us::
+* Overview of work flow::
 * Mentors::
 @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 Help us
+@section Help us
 
-@node For unix developers
-@section For unix developers
+@helpusNeed
 
+@helpusTasks
 
-To download the LilyPond Git repository:
+@helpusProjects
 
-@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{mailto:lilypond-devel@@gnu.org} for discussion.
+@node Overview of work flow
+@section Overview of work flow
 
+@cartouche
+@strong{Ultra-short summary for Unix developers}: source code is at
+@code{git://git.sv.gnu.org/lilypond.git}.  Documentation is built
+with Texinfo, after pre-processing with @code{lilypond-book}.
+Send well-formed patches to @email{lilypond-devel@@gnu.org}.
+@end cartouche
 
-@node For other contributors
-@section For other contributors
-
-
-The LilyPond source code is maintained as a Git repository, which
-contains:
+Git is a @emph{version control system} that tracks the history of
+a program's source code.  The LilyPond source code is maintained
+as a Git repository, which contains:
 
 @itemize
 @item
@@ -62,12 +56,28 @@ 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
+is a simple text file generated by the @command{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{push} the patch to the official repository.
 
+The Savannah software forge provides two separate interfaces for
+viewing the LilyPond Git repository online: @emph{cgit} and
+@emph{gitweb}.  The cgit interface should work faster than gitweb
+in most situations, but only gitweb allows you to search through
+the source code using @command{grep}, which you may find useful.
+The cgit interface is at
+@uref{http://git.sv.gnu.org/cgit/lilypond.git/} and the gitweb
+interface is at
+@uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git}.
+
+Git is a complex and powerful tool, but tends to be confusing at
+first, particularly for users not familiar with the command line
+and/or version control systems.  We have created the
+@command{lily-git} graphical user interface to ease this
+difficulty.
+
 @emph{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
@@ -76,11 +86,19 @@ 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.
 
-Git is a complex and powerful tool, but tends to be confusing at
-first, particularly for users not familiar with the command line
-and/or version control systems.  Contributors who don't want to
-deal with Git directly are encouraged to use the
-@command{lily-git} graphical user interface instead.
+Contributors can contact the developers through the
+@q{lilypond-devel} mailing list.  The mailing list archive is
+located at
+@uref{http://lists.gnu.org/archive/html/lilypond-devel/}.  If you
+have a question for the developers, search the archives first to
+see if the issue has already been discussed.  Otherwise, send an
+email to @email{lilypond-devel@@gnu.org}.  You can subscribe to
+the developers' mailing list here:
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel}.
+
+@warning{Contributors on Windows or MacOS X wishing to compile
+code or documentation are strongly advised to use lilybuntu, as
+discussed in @ref{Quick start}.}
 
 
 @node Mentors
@@ -117,7 +135,9 @@ somebody else.
 
 @item
 Inform your mentor if you're willing to do more work -- we always
-have way more work than we have helpers available.
+have way more work than we have helpers available.  We try to
+avoid overwhelming new contributors, so you'll be given less work
+than we think you can handle.
 
 @end enumerate
 
@@ -128,7 +148,7 @@ have way more work than we have helpers available.
 
 @item
 Respond to questions from your contributor(s) promptly, even if
-the reponse is just @qq{sorry, I don't know} or @qq{sorry, I'm
+the response is just @qq{sorry, I don't know} or @qq{sorry, I'm
 very busy for the next 3 days; I'll get back to you then}.  Make
 sure they feel valued.
 
@@ -138,7 +158,7 @@ emails -- do you work on lilypond every day, or every weekend, or
 what?  Also, if you'll be unavailable for longer than usual (say,
 if you normally reply within 24 hours, but you'll be at a
 conference for a week), let your contributors know.  Again, make
-sure thay feel valued, and that your silence (if they ask a
+sure they feel valued, and that your silence (if they ask a
 question during that period) isn't their fault.
 
 @item
@@ -163,4 +183,3 @@ comments for it, or at very least add it to the google tracker.
 @end enumerate
 
 
-