1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
9 @include web/basic-authors.itexi
15 @divClass{column-center-top}
16 @subheading Interacting with the community
21 @ref{Contact}: get help, discuss, and keep in touch!
24 @ref{Tiny examples}: these are @emph{highly} recommended when
28 @ref{Bug reports}: something went wrong.
33 @divClass{column-left-bottom}
34 @subheading Making LilyPond better
39 @ref{Help us}: your assistance is requested.
42 @ref{Development}: for contributors and testers.
45 @ref{Authors}: the people who made LilyPond what it is today.
50 @divClass{column-right-bottom}
51 @subheading Miscellaneous
56 @ref{Publications}: what we wrote, and have had written about us.
59 @ref{Old news}: an archive.
80 @unnumberedsec Contact
83 @divClass{column-left-bottom}
84 @subheading User Discussions and Help
86 @subsubheading User mailing list: @code{lilypond-user@@gnu.org}
88 This mailing list is the main place for users to discuss and help
92 @uref{http://mail.gnu.org/mailman/listinfo/lilypond-user,
93 lilypond-user subscribe and info}
95 @uref{http://mail.gnu.org/archive/html/lilypond-user/,
97 @uref{http://www.mail-archive.com/lilypond-user@@gnu.org/,
99 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.general,
102 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general,
103 send to lilypond-user with gmane}
106 @warning{When asking questions, please use @ref{Tiny examples}!}
111 Some level of support is provided on our IRC channel,
114 @uref{irc://irc.freenode.net/lilypond, #lilypond@@irc.freenode.net}
117 This channel has no public archive, so any question that may
118 be useful for others would better be posted to one of the mailing lists.
121 <form action="http://webchat.freenode.net"
125 <input name="nick" type="text" size="15" value="">
127 <input name="channels" type="hidden" value="lilypond">
128 <input type="submit" value="Join #lilypond IRC Chat">
131 <script language="JavaScript" type="text/javascript">
132 var username = "web";
133 var lang = window.navigator.userLanguage ? window.navigator.userLanguage
134 : window.navigator.language;
135 username += '-' + lang.substr(0, 2);
136 username += '-' + navigator.appName.substr(0, 2);
137 username += navigator.appCodeName.replace (" ", "").substr(0, 2);
138 username += navigator.platform.replace (" ", "").replace("nux", "").replace("n32", "");
139 document.forms["f_lily_irc"].nick.value = username;
143 @subsubheading Other languages
146 @uref{http://es.groups.yahoo.com/group/lilypond-es,
149 @uref{http://www.lilypondforum.de/,
152 @uref{http://groups.google.com/group/lilypond-brasil,
155 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
158 @uref{http://www.lilypondforum.nl/,
165 @divClass{column-right-top}
166 @subheading Stay Informed
168 @subsubheading LilyPond Report
170 The easiest way to keep touch is by reading our community
171 newsletter, the @uref{http://news.lilynet.net/, LilyPond Report}.
173 @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org}
175 This mailing list is a low-volume, read-only list which receives
176 notifications of new releases.
179 @uref{http://lists.gnu.org/mailman/listinfo/info-lilypond,
180 info-lilypond subscribe and info}
182 @uref{http://mail.gnu.org/archive/html/info-lilypond/,
184 @uref{http://www.mail-archive.com/info-lilypond@@gnu.org/,
186 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.announce,
189 @c don't include gmane posting here. -gp
196 @divClass{column-right-bottom}
197 @subheading Developer Discussion
199 @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org}
201 Most developer discussion takes place on this list. Patches
205 @uref{http://mail.gnu.org/mailman/listinfo/lilypond-devel,
206 lilypond-devel subscribe and info}
208 @uref{http://mail.gnu.org/archive/html/lilypond-devel/,
210 @uref{http://www.mail-archive.com/lilypond-devel@@gnu.org/,
212 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.devel,
215 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel,
216 send to lilypond-devel with gmane}
220 @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org}
222 Bug-specific discussion takes place here.
225 @uref{http://mail.gnu.org/mailman/listinfo/bug-lilypond,
226 bug-lilypond subscribe and info}
228 @uref{http://mail.gnu.org/archive/html/bug-lilypond/,
230 @uref{http://www.mail-archive.com/bug-lilypond@@gnu.org/,
232 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs,
235 @c don't include gmane posting here. -gp
238 @warning{Before sending a message to the bug list, please read our
239 guidelines for @ref{Bug reports}.}
246 @unnumberedsec Tiny examples
248 @divClass{column-center-top}
249 @subheading What are @qq{Tiny examples}?
251 A tiny example is an example from which nothing can be removed.
254 @divClass{column-left-bottom}
255 @subheading Why create them?
257 @divClass{keep-bullets}
261 The simpler the example is, the quicker potential helpers can
262 understand it and help you.
265 A simple example demonstrates that you have put effort towards
266 solving the problem yourself. When people send huge portions of
267 input, it looks like they don't care how if we help them or not.
270 Creating a tiny example forces you to understand what is
271 happening. Many false problem reports can be avoided by
272 attempting to create a tiny example; if you cannot replicate a
273 @qq{bug} in a tiny example, then the problem was probably an
274 insufficient understanding of LilyPond, not an actual bug!
282 @divClass{column-right-bottom}
283 @subheading How do I create them?
285 @divClass{keep-bullets}
289 Include the \version number.
292 Make it small! Examples about spacing or page layout might
293 require many bars of music, but most issues can be reproduced
294 using only a single measure.
297 When trying to create an example, try commenting out @w{(@code{%}
298 or @code{%@{ @dots{} %@}})} sections of your file. If you can
299 comment something while still demonstrating the main idea, then
300 remove the commented-material!
303 Avoid using complicated notes, keys, or time signatures, unless
304 the bug is about the behavior of those items.
307 Do not use @code{\override} or @code{\set} commands unless the bug
308 is about those particular commands.
319 @unnumberedsec Bug reports
321 @divClass{column-center-top}
322 @subheading Step 1: Known bugs
324 If you have input that results in a crash or an erroneous output,
325 then that is a bug. There is a list of current bugs on our google
329 @uref{http://code.google.com/p/lilypond/issues/list}
332 @warning{Please @strong{DO NOT} add bug reports directly to the
333 bug tracker. Once an issue has been added to the tracker, feel
334 free to add more information to that report.}
339 @divClass{column-left-bottom}
340 @subheading Step 2: Creating a bug report
342 If you have discovered a bug which is not listed, please help us
343 by creating a bug report.
345 @warning{We only accept bug reports in the form of @ref{Tiny
346 examples}. We have very limited resources to deal with bug
347 reports, so any non-minimal example will be rejected. Almost
348 every bug can be demonstrated in four notes or less!}
350 Here is an example of a good bug report:
353 %% the octavation command doesn't
354 %% change the output at all!
357 \paper@{ ragged-right=##t @}
367 @divClass{column-right-bottom}
368 @subheading Step 3: Sending a bug report
370 Once you have verified that the issue is not already known and
371 created a bug report, please send it to us!
373 Unfortunately there is a strict @qq{no top-posting} check on the
374 bug list, which is often incorrectly triggered by lilypond files.
375 To avoid this, please add
378 > I'm not top posting.
382 (you must include the @code{>} ) to the top of your bug report.
384 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs,
385 Post with the gmane lilypond.bugs interface}, or send an email to
386 @uref{mailto:bug-lilypond@@gnu.prg, bug-lilypond@@gnu.org}.
388 Once your bug has been sent to the list, our Bug Meister will
389 examine the report. He may ask you for more information, or may
390 add the report to the tracker and let you know what the issue
393 You may mark the bug so that you automatically receive emails when
394 any activity on the bug occurs. This requires you have a google
400 @unnumberedsec Help us
402 @divClass{column-center-top}
403 @subheading We need you!
405 The LilyPond development team is quite small; we really want to
406 get more people involved. Please consider helping your fellow
407 LilyPond users by contributing to development!
409 Even working on small tasks can have a big impact: taking care
410 of them let experienced developers work on advanced tasks, instead
411 of spending time on those simple tasks.
416 @divClass{column-left-top}
417 @subheading Simple tasks
419 @divClass{keep-bullets}
423 Mailing list support: answer questions from fellow users.
426 Bug reporting: help users create proper @ref{Bug reports}, and aid
427 the Bug Team in handling @rcontrib{Issues}.
430 Documentation: small changes can be proposed by following the
431 guidelines for @rcontrib{Documentation suggestions}.
434 LilyPond Snippet Repository (LSR): create and fix snippets. See
435 @rcontrib{Adding and editing snippets}.
438 Discussions, reviews, and testing: the developers often ask for
439 feedback about new documentation, potential syntax changes, and
440 testing new features. Please contribute to these discussions!
444 @subheading Moderate tasks
446 @warning{These jobs generally require that you have the program
447 and documentation source files, but do not require a full
448 development environment. See @rcontrib{Starting with git}.}
453 @rcontrib{Documentation work}, and
454 @rcontrib{Building documentation without compiling LilyPond}.
457 Website: the website is built from the normal documentation
458 source. See the info about documentation, and also
459 @rcontrib{Website work}.
462 Translations: see @rcontrib{Translating the documentation}, and
463 @rcontrib{Translating the website}.
468 @subheading Complex tasks
470 @warning{These jobs generally require that you have the source
471 code and can compile LilyPond. See @rcontrib{Starting with git},
472 and @rcontrib{Compiling LilyPond}.}
474 We suggest that new contributors using Windows use a virtual
475 machine to run @emph{lilybuntu}. See
476 @rcontrib{Using a Virtual Machine to Compile LilyPond}.
480 Bugfixes, new features: the best way to begin is to join the
481 Frogs, and read @rcontrib{Programming work}.
489 @divClass{column-right-top}
494 Website and mailist: @uref{http://frogs.lilynet.net}
496 The Frogs are ordinary LilyPond users who have chosen to get
497 involved in their favorite software's development. Fixing bugs,
498 implementing new features, documenting the source code: there's a
499 lot to be done, but most importantly: this is a chance for
500 everyone to learn more about LilyPond, about Free Software, about
501 programming... and to have fun. If you're curious about any of
502 it, then the word is: @emph{Join the Frogs!}
506 @help{not active yet; either comment out or begin these projects
509 @subsubheading Grand LilyPond Input Syntax Standardization
511 Website and mailist: TODO
513 GLISS will stabilize the (non-tweak) input syntax for the upcoming
514 LilyPond 3.0. After updating to 3.0, the input syntax for
515 untweaked music will remain stable for the foreseeable future.
517 We will have an extensive discussion period to determine the final
520 @subsubheading Grand Organizing Project
522 Website and mailist: TODO
524 GOP is our big recruiting drive for new contributors.
530 @divClass{column-center-bottom}
531 @subheading Interested?
538 @unnumberedsec Development
540 @divClass{heading-center}
541 @heading Development materials for LilyPond @versionDevel{}
543 @warning{These are @emph{unstable development} versions. If you
544 have the slightest doubt about how to use or install LilyPond, we
545 urge you to use the stable @ref{Download}, and read the stable
550 @divClass{column-center-top}
551 @subheading Release numbers
553 There are two sets of releases for LilyPond: stable releases, and
554 unstable development releases. Stable versions have an
555 even-numbered @q{minor} version number (e.g., 2.8, 2.10, 2.12).
556 Development versions have an odd-numbered @q{minor} version number
557 (e.g., 2.7, 2.9, 2.11).
562 @divClass{column-left-bottom}
565 Instructions for git and compiling are in the Contributor's Guide.
568 @uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, lilypond git repository}
571 Documentation writers and testers will generally want to download
576 @downloadDevelLinuxNormal
578 @downloadDevelLinuxBig
580 @downloadDevelLinuxPPC
582 @downloadDevelFreeBSDNormal
584 @downloadDevelFreeBSDBig
586 @downloadDevelDarwinNormal
588 @downloadDevelDarwinPPC
590 @downloadDevelWindows
599 @help {these need the automatic symlinks or something. Maybe even
600 a hard-coded url to lilypond.org/docs/2.13 or something??}
602 Commented out pending a real fix
607 @uref{lm-big-html, big html}
612 @uref{mg-big-html, big html}
616 @uref{essay-html, html}
617 @uref{essay-big-html, big html}
618 @uref{essay-pdf, pdf}
621 @uref{notation-html, html}
622 @uref{notation-big-html, big html}
623 @uref{notation-pdf, pdf}
626 @uref{usage-html, html}
627 @uref{usage-big-html, big html}
628 @uref{usage-pdf, pdf}
631 @uref{snippets-html, html}
632 @uref{snippets-big-html, big html}
633 @uref{snippets-pdf, pdf}
636 @uref{changes-html, html}
637 @uref{changes-big-html, big html}
638 @uref{changes-pdf, pdf}
641 @uref{internals-html, html}
642 @uref{internals-big-html, big html}
643 @uref{internals-pdf, pdf}
650 @divClass{column-right-top}
651 @subheading Contributor's Guide
653 LilyPond development is a fairly complicated matter. LilyPond is
654 a large, (mostly) stable project. In order to help new
655 contributors, and to keep the whole system (mostly) stable, we
656 have written a manual for contributors.
658 This manual is not intended to be read sequentially; new contributors
659 should only read the sections which are relevant to them. For more
660 information about different jobs, see @ref{Help us}.
662 @divClass{keep-bullets}
665 @item @uref{../contributor/index.html, Contributor's guide (split HTML)}:
666 the manual is split between many HTML pages.
667 @*@ @ @emph{(small download for each page)}
669 @item @uref{../contributor-big-page.html, Contributor's guide (big HTML)}:
670 read this manual as one huge HTML page.
671 @*@ @ @emph{(large single download, 500 kb)}
673 @item @uref{../contributor.pdf, contributor.pdf}:
674 download as a PDF file.
675 @*@ @ @emph{(large single download, 2.8 Mb)}
677 @c @item @uref{TODO, contributor.info}:
678 @c GNU info format for documentation. TODO, link broken.
685 @divClass{column-right-top}
686 @subheading Frogs: new contributors
688 The Frogs are a collection of new contributors being mentored in
689 how to @qq{eat} (fix) bugs and add new features to LilyPond.
690 Programmers unfamiliar with LilyPond are encouraged to send
691 patches to the Frogs first for initial discussion and
694 Website and mailist: @uref{http://frogs.lilynet.net}
698 @divClass{column-right-bottom}
699 @subheading Regression tests
701 @divClass{keep-bullets}
704 @item @uref{../../input/regression/collated-files.html, Regression tests}:
705 This release's tests. (also in
706 @uref{../input/regression/collated-files.pdf, pdf})
708 @item @uref{../../input/regression/musicxml/collated-files.html,
709 MusicXML Regression tests}:
710 This release's MusicXML tests. (also in
711 @uref{../input/regression/musicxml/collated-files.pdf, pdf})
713 @item @uref{http://lilypond.org/test, Archive of regression tests}:
714 Comparisons between versions.
721 @unnumberedsec Authors
723 @help{Under construction; this is not an accurate list!}
726 @divClass{column-left-top}
727 @subheading Current Development Team
729 @divClass{keep-bullets}
734 @divClass{column-right-top}
735 @subheading Previous Development Team Positions
737 @divClass{keep-bullets}
743 @divClass{column-center-top}
744 @subheading Current Contributors
746 @divClass{keep-bullets}
747 @subsubheading Programming
755 @subsubheading Documentation
759 @subsubheading Support
763 @subsubheading Translation
771 @divClass{column-center-bottom}
772 @subheading Previous Contributors
774 @divClass{keep-bullets}
775 @subsubheading Programming
783 @subsubheading Documentation
787 @subsubheading Support
791 @subsubheading Translation
793 @translationsPrevious
801 @unnumberedsec Publications
803 @divClass{column-center-top}
804 @subheading What we wrote
806 @divClass{keep-bullets}
810 Han-Wen Nienhuys, @emph{LilyPond, Automated music formatting and
811 the Art of Shipping}. Forum Internacional Software Livre 2006
812 (FISL7.0) (@uref{http://lilypond.org/web/images/FISL7-slides.pdf,
816 Erik Sandberg, @emph{Separating input language and formatter in
817 GNU Lilypond}. Master's Thesis, Uppsala University, Department of
818 Information Technology March 2006.
819 (@uref{http://lilypond.org/web/images/thesis-erik-sandberg.pdf,
823 Han-Wen Nienhuys and Jan Nieuwenhuizen, @emph{LilyPond, a system
824 for automated music engraving}. Proceedings of the XIV Colloquium
825 on Musical Informatics (XIV CIM 2003), Firenze, Italy, May 2003.
826 (@uref{ http://lilypond.org/web/images/xivcim.pdf, PDF 95k})
834 @divClass{column-center-bottom}
836 @subheading What others wrote
838 @divClass{keep-bullets}
844 The German LinuxUser magazine wrote an
845 @uref{http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2009/10/Digitaler-Notenschluessel,
846 article about lilypond}.
852 In @uref{http://www.musicbyandrew.ca/finale-lilypond-1.html,
853 articles on his personal site}, Andrew Hawryluk compares Finale
854 and LilyPond in general terms, and evaluates in detail engraving
855 capabilities of both pieces of software. The second article is an
856 instructive analysis of Rachmaninoff's Piano Prelude 6 engraving,
857 including comparisons with a reference hand-engraved edition.
862 Linux journal cover Linux Journal publishes an article titled
863 @uref{http://www.linuxjournal.com/article/8364, Make Stunning
864 Schenker Graphs with GNU LilyPond}. It is a in-depth but hands-on
865 feature article with crisp LilyPond graphics. Author Kris Shaffer
866 remarks “GNU Lilypond generates beautiful graphics that make
867 commercial alternatives seem second-rate.”
872 The Belgian newspaper De Standaard investigates what drives Free
873 Software authors in an article titled
874 @uref{http://www.standaard.be/Artikel/Detail.aspx?artikelId=G42H5GD6,
875 Delen van KENNIS zonder WINSTBEJAG} (Non-profit sharing of
876 knowlegde) in its `DS2 bijlage'. LilyPond is used as an example
877 and the article is interspersed with quotes from an `email
878 interview' with Jan Nieuwenhuizen. This marks LilyPond's first
879 appearance in mainstream printed press.
884 A French article on the LilyPond 2.6 release appeared on
885 @uref{http://linuxfr.org/2005/06/27/19210.html, linuxfr.org}.
890 The editors of Computer!Totaal, a Dutch computer magazine,
891 @uref{http://lilypond.org/web/images/computer-totaal.jpeg,
892 describe LilyPond} in the October 2004 issue as: @qq{Wonderful
893 free (open source) software [..] The sheet music produced by
894 LilyPond is exceptionally pretty [..] a very powerful system that
895 can do almost anything.}
900 Dave Phillips wrote an introductory article for Linux Journal At
901 the sounding edge: LilyPond, parts
902 @uref{http://www.linuxjournal.com/article/7657, one} and
903 @uref{http://www.linuxjournal.com/article/7719, two}.
908 Chris Cannam interviewed Han-Wen Nienhuys and Jan Nieuwenhuizen on
909 linuxmusician.com (site now defunct). This interview was also
911 @uref{http://slashdot.org/article.pl?sid=04/03/13/2054227&tid=,
917 Jazz singer Gail Selkirk writes about
918 @uref{http://www.songbirdofswing.com/editorial_page/lilypond/,
919 Diving into LilyPond}. @qq{... you can make lead sheets or full
920 orchestral parts, and the results can be stunning.}
921 @uref{http://www.computermusic.co.uk/, Computer Music Special},
931 @unnumberedsec Old news
933 @include web/news-front.itexi
935 @include web/news.itexi