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. For details, see the Contributors'
7 Guide, node Updating translation committishes..
10 @include included/authors.itexi
11 @include included/helpus.itexi
16 @divClass{link-headings}
18 @divClass{column-center-top}
19 @subheading Interacting with the community
24 @ref{Contact}: get help, discuss, and keep in touch!
27 @ref{Tiny examples}: these are @emph{highly} recommended when
31 @ref{Bug reports}: something went wrong.
36 @divClass{column-left-bottom}
37 @subheading Making LilyPond better
42 @ref{Help us}: your assistance is requested.
45 @ref{Sponsoring}: financial contributions.
48 @ref{Development}: for contributors and testers.
51 @ref{GSoC}: list of projects for Google Summer of Code.
54 @ref{Authors}: the people who made LilyPond what it is today.
59 @divClass{column-right-bottom}
60 @subheading Miscellaneous
65 @ref{Publications}: what we wrote, and have had written about us.
68 @ref{Old news}: an archive.
92 @unnumberedsec Contact
95 @divClass{column-left-bottom}
96 @subheading User Discussions and Help
98 @subsubheading User mailing list: @code{lilypond-user@@gnu.org}
100 This mailing list is the main place for users to discuss and help
104 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user,
105 lilypond-user subscribe and info}
107 @uref{http://lists.gnu.org/archive/html/lilypond-user/,
109 @uref{http://www.mail-archive.com/lilypond-user@@gnu.org/,
111 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.general,
114 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general,
115 send to lilypond-user with gmane}
118 @warning{When asking questions, please use @ref{Tiny examples}!}
120 @subsubheading LilyPond Snippet Repository
122 The LilyPond Snippet Repository is a large collection of
123 user-submitted examples, which can freely be copied and used
124 in your own works. See what other people have written,
128 @uref{http://lsr.dsi.unimi.it}
131 Particularly instructive examples from LSR are included in our
132 official documentation, in @ref{Snippets}.
137 Some level of support is provided on our IRC channel,
140 @uref{irc://irc.freenode.net/lilypond, #lilypond@@irc.freenode.net}
143 This channel has no public archive, so any question that may
144 be useful for others would better be posted to one of the mailing lists.
147 <form action="http://webchat.freenode.net"
151 <input name="nick" type="text" size="15" value="">
153 <input name="channels" type="hidden" value="lilypond">
154 <input type="submit" value="Join #lilypond IRC Chat">
157 <script language="JavaScript" type="text/javascript">
158 var username = "web";
159 var lang = window.navigator.userLanguage ? window.navigator.userLanguage
160 : window.navigator.language;
161 username += '-' + lang.substr(0, 2);
162 username += '-' + navigator.appName.substr(0, 2);
163 username += navigator.appCodeName.replace (" ", "").substr(0, 2);
164 username += navigator.platform.replace (" ", "").replace("nux", "").replace("n32", "");
165 document.forms["f_lily_irc"].nick.value = username;
169 @subsubheading Other languages
172 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
173 Spanish mailing list}
175 @uref{http://www.lilypondforum.de/,
178 @uref{http://groups.google.com/group/lilypond-brasil,
181 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
184 @uref{http://www.lilypondforum.nl/,
191 @divClass{column-right-top}
192 @subheading Stay Informed
194 @subsubheading LilyPond Report
196 The easiest way to keep touch is by reading our community
197 newsletter, the LilyPond Report:
200 @uref{http://news.lilynet.net}
203 @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org}
205 This mailing list is a low-volume, read-only list which receives
206 notifications of new releases.
209 @uref{http://lists.gnu.org/mailman/listinfo/info-lilypond,
210 info-lilypond subscribe and info}
212 @uref{http://lists.gnu.org/archive/html/info-lilypond/,
214 @uref{http://www.mail-archive.com/info-lilypond@@gnu.org/,
216 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.announce,
219 @c don't include gmane posting here. -gp
226 @divClass{column-right-bottom}
227 @subheading Developer Discussion
229 @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org}
231 Most developer discussion takes place on this list. Patches
235 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
236 lilypond-devel subscribe and info}
238 @uref{http://lists.gnu.org/archive/html/lilypond-devel/,
240 @uref{http://www.mail-archive.com/lilypond-devel@@gnu.org/,
242 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.devel,
245 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel,
246 send to lilypond-devel with gmane}
250 @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org}
252 Bug-specific discussion takes place here.
255 @uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
256 bug-lilypond subscribe and info}
258 @uref{http://lists.gnu.org/archive/html/bug-lilypond/,
260 @uref{http://www.mail-archive.com/bug-lilypond@@gnu.org/,
262 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs,
265 @c don't include gmane posting here. -gp
268 @warning{Before sending a message to the bug list, please read our
269 guidelines for @ref{Bug reports}.}
273 @divClass{column-right-bottom}
274 @subheading Sensitive emails
276 Private matters should be sent to Graham Percival (project
277 manager), who will discuss it with those concerned.
283 @unnumberedsec Tiny examples
285 @divClass{column-center-top}
286 @subheading What are @qq{Tiny examples}?
288 A tiny example is an example from which @strong{nothing} can be removed.
291 @divClass{column-left-bottom}
292 @subheading Why create them?
294 @divClass{keep-bullets}
298 The simpler the example is, the quicker potential helpers can
299 understand it and help you.
302 A tiny example demonstrates that you have put effort towards
303 solving the problem yourself. When people send huge portions of
304 input, it looks like they don't care if we help them or not.
307 Creating a tiny example helps you to understand what is
308 happening. Many false problem reports can be avoided by
309 attempting to create a tiny example; if you cannot replicate a
310 @qq{bug} in a tiny example, then the problem was probably an
311 insufficient understanding of LilyPond, not an actual bug!
319 @divClass{column-right-bottom}
320 @subheading How to create them?
322 @divClass{keep-bullets}
326 Include the @code{\version} number.
329 Make it small! Examples about spacing or page layout might
330 require many bars of music, but most issues can be reproduced
331 using less than a single measure.
334 When trying to create an example, try commenting out @w{(@code{%}
335 or @code{%@{ @dots{} %@}})} sections of your file. If you
336 can comment something while still demonstrating the main idea,
337 then remove the commented-material.
340 Avoid using complicated notes, keys or time signatures, unless
341 the bug is about the behavior of those items.
344 Do not use @code{\override} or @code{\set} commands unless the bug
345 is about those specific commands.
348 Optionally, attach an image showing the desired graphical output.
355 @divClass{column-center-bottom}
356 @subheading How tiny should they be?
358 Is the code below a minimal example?
362 \include "english.ly"
367 \numericTimeSignature
369 <cs' d'' b''>16 <cs' d'' b''>8.
370 %% Here: the tie on the D's looks funny
371 %% Too tall? Left-hand endpoint is not aligned with the B tie?
373 <cs' d'' b''>8 [ <b d'' a''> ]
378 Well, it is not very big, but a truly minimal example is here:
383 % middle tie looks funny here:
384 <c' d'' b''>8. ~ <c' d'' b''>8
388 Very few tiny examples exceed 10 lines of code -
389 quite often 4 lines are enough to demonstrate the problem!
395 @unnumberedsec Bug reports
398 @divClass{heading-center}
399 If you have input that results in a crash or wrong output,
403 @divClass{column-center-top}
404 @subheading Step 1: Known bugs
406 We may already know about this bug. Check here:
409 @uref{http://code.google.com/p/lilypond/issues/list}
412 @warning{Please @strong{DO NOT} add bug reports directly to the
413 bug tracker. Once an issue has been added to the tracker, feel
414 free to add more information to that report.}
419 @divClass{column-left-bottom}
420 @subheading Step 2: Creating a bug report
422 If you have discovered a bug which is not listed,
423 please help us by creating a bug report.
425 @warning{We only accept reports in the form of
426 @ref{Tiny examples}. We have very limited resources,
427 so any non-minimal example will be rejected. Almost
428 every bug can be demonstrated in four notes or less!}
430 Here is an example of a good bug report:
433 % Accidentals should be printed for only
434 % the first note in a tie, but this version
435 % prints flats on both notes.
446 @divClass{column-right-bottom}
447 @subheading Step 3: Sending a bug report
449 Once you have verified that the issue is not already known and
450 created a bug report, please send it to us!
452 @divClass{keep-bullets}
456 If you are subscribed to the @uref{mailto:bug-lilypond@@gnu.org,
457 bug-lilypond@@gnu.org} mailing list, send an email like normal.
460 If you are not subscribed, you can still post a bug report with
462 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs,
463 gmane lilypond.bugs web interface}.
465 However, there is a strict @qq{no top-posting} check on the gmane
466 interface, which is often incorrectly triggered by lilypond files.
467 To avoid this, please add:
470 > I'm not top posting.
474 (you @emph{must} include the @code{>} ) to the top of your bug
481 @divClass{column-center-bottom}
482 @subheading Step 4: Wait for a response
484 Once your bug report has been sent to the list, our Bug Squad will
485 examine it; they may ask you for more information. You will be notified
486 when the report will be added to the bug tracker. Please allow up to 4 days,
487 as we have a limited number of volunteers for this task.
489 Once a bug has been added to the tracker, you can comment it to add
490 more information about it.
491 You may also mark the bug so that you automatically receive emails when
492 any activity on the bug occurs. This requires you have a google
496 @divClass{column-center-bottom}
497 @subheading Optional help: show the desired behavior
499 Once an issue has been added to the tracker, it can be very
500 helpful if we can see the desired output. Feel free to add input
501 code and/or images (possibly created with other tools) which
502 demonstrate what you think it should look like!
509 @unnumberedsec Help us
511 @divClass{column-center-top}
516 @divClass{column-left-top}
517 @divClass{keep-bullets}
523 @divClass{column-right-top}
530 @unnumberedsec Sponsoring
532 @divClass{keep-bullets}
533 @divClass{column-left-top}
539 @item some users have paid for new features
540 @item some developers have added new features for hire
543 The LilyPond project does not organize such efforts; we neither
544 endorse nor discourage such agreements. Any contracts between
545 private individuals is the business of those individuals, not
550 @divClass{column-right-top}
551 @subheading Guidelines
553 Any user wanting to offer money in exchange for work should bear
554 in mind the following points:
558 LilyPond developers may advertise their services on the lilypond
559 email lists from time to time.
562 Any agreements between private individuals should include the
563 normal precautions when conducting business: who pays, how much do
564 they pay, with what method of payment, and upon what set of
565 conditions. We suggest that any ambiguity or uncertainty in these
566 questions should be resolved before any work begins.
572 @divClass{column-center-bottom}
573 @subheading Interested developers
575 Here is a list of people who have expressed an interest in
576 bounties. Note that the amount of work done by individuals varies
577 quite a bit throughout the years. We do not guarantee that this
578 list is up-to-date, nor do we guarantee that the people listed
579 here have any ability. The only criteria is "XYZ asked to be
580 listed on this page".
582 Looking at the git history is a good way to determine who the most
583 active and experienced developers are. Statistics up to version
586 @multitable @columnfractions .3 .3 .3
587 @item @uref{http://lilypond.org/~graham/gitstats-all/, overall history}
588 @tab @uref{http://lilypond.org/~graham/gitstats-1year/, past year}
589 @tab @uref{http://lilypond.org/~graham/gitstats-3months/, past three months}
592 Interested developers:
594 @item @email{dak@@gnu.org, David Kastrup}
595 Donations are required to let me continue my current fulltime work on
596 LilyPond. I focus on user and programmer interface design, coherence,
597 implementation, simplification, documentation, and debugging.
600 @c @item @email{name@@adress.domain, Name}
601 @c area of interest (256 chars max)
610 @unnumberedsec Development
612 @divClass{heading-center}
614 @heading Development for LilyPond @version
617 @heading Development for LilyPond @versionDevel
621 @c we normally don't allow named references, but in this case
622 @c it's good to emphasize the "stable" part. -gp
623 @warning{These are @emph{unstable development} versions. If you
624 have the slightest doubt about how to use or install LilyPond, we
625 urge you to use the @ref{Download, stable Download}, and read the
626 @ref{Manuals, stable Manuals}.}
630 @divClass{column-center-top}
631 @subheading Release numbers
633 There are two sets of releases for LilyPond: stable releases, and
634 unstable development releases. Stable versions have an
635 even-numbered @q{minor} version number (e.g., 2.8, 2.10, 2.12).
636 Development versions have an odd-numbered @q{minor} version number
637 (e.g., 2.7, 2.9, 2.11).
642 @divClass{column-left-top}
645 Instructions for git and compiling are in the Contributor's Guide.
648 @uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, lilypond git repository}
651 Documentation writers and testers will generally want to download
656 @downloadDevelLinuxNormal
658 @downloadDevelLinuxBig
660 @downloadDevelLinuxPPC
662 @downloadDevelFreeBSDNormal
664 @downloadDevelFreeBSDBig
666 @downloadDevelDarwinNormal
668 @downloadDevelDarwinPPC
670 @downloadDevelWindows
679 @divClass{column-right-top}
680 @subheading Contributor's Guide
682 LilyPond development is a fairly complicated matter. In order to
683 help new contributors, and to keep the whole system (mostly)
684 stable, we have written a manual for development tasks.
686 @docLinksBare{Contributor's Guide, contributor,
687 @rcontribnamed{Top,Contributor's Guide},
688 @manualDevelContributorSplit,
689 @manualDevelContributorBig, 500 kB,
690 @manualDevelContributorPdf, 2.8 MB}
695 @divClass{column-center-top}
696 @subheading Regression tests
698 @divClass{keep-bullets}
704 @uref{../../input/regression/collated-files.html, Regression tests}:
705 This release's regtests.
706 (@uref{../../input/regression/collated-files.pdf, pdf version})
709 @uref{../../input/regression/musicxml/collated-files.html, MusicXML tests}:
710 This release's musicXML tests.
711 (@uref{../../input/regression/musicxml/collated-files.pdf, pdf version})
714 @uref{../../input/regression/abc2ly/collated-files.html, abc2ly tests}:
715 This release's abc2ly tests.
716 (@uref{../../input/regression/abc2ly/collated-files.pdf, pdf version})
719 @uref{../../input/regression/lilypond-book/collated-files.html, lilypond-book tests}:
720 This release's lilypond-book tests.
721 (@uref{../../input/regression/lilypond-book/collated-files.pdf, pdf version})
727 @subsubheading Development version
730 @item @regtestDevel (@regtestDevelPdf{})
732 @item @regtestDevelXml (@regtestDevelXmlPdf{})
734 @item @regtestDevelAbc (@regtestDevelAbcPdf{})
736 @item @regtestDevelLilypondBook (@regtestDevelLilypondBookPdf{})
739 @subsubheading Stable version
742 @item @regtestStable (@regtestStablePdf{})
744 @item @regtestStableXml (@regtestStableXmlPdf{})
746 @item @regtestStableAbc (@regtestStableAbcPdf{})
748 @item @regtestStableLilypondBook (@regtestStableLilypondBookPdf{})
753 @subsubheading All versions
756 @item @uref{http://lilypond.org/test, Comparisons between regression tests}
758 @item @uref{http://lilypond.org/download/binaries/test-output/,
759 Archive of all regression tests}
768 @divClass{column-center-bottom}
772 @warning{These manuals are for LilyPond @version{}; the latest
773 manuals can be found at @url{http://lilypond.org}}
776 @divClass{normal-table}
777 @multitable @columnfractions .3 .3 .3
778 @headitem Introduction
780 @docLinkSplit{Learning,learning,@manualDevelLearningSplit}
782 @docLinkBig{Learning,learning,@manualDevelLearningBig}
784 @docLinkPdf{Learning,learning,@manualDevelLearningPdf}
787 @docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
789 @docLinkBig{Glossary,music-glossary,@manualDevelGlossaryBig}
791 @docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
794 @docLinkSplit{Essay,essay,@manualDevelEssaySplit}
796 @docLinkBig{Essay,essay,@manualDevelEssayBig}
798 @docLinkPdf{Essay,essay,@manualDevelEssayPdf}
803 @docLinkSplit{Notation,notation,@manualDevelNotationSplit}
805 @docLinkBig{Notation,notation,@manualDevelNotationBig}
807 @docLinkPdf{Notation,notation,@manualDevelNotationPdf}
810 @docLinkSplit{Usage,usage,@manualDevelUsageSplit}
812 @docLinkBig{Usage,usage,@manualDevelUsageBig}
814 @docLinkPdf{Usage,usage,@manualDevelUsagePdf}
817 @docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
819 @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
821 @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
826 @docLinkSplit{Web,web,@manualDevelWebSplit}
828 @docLinkBig{Web,web,@manualDevelWebBig}
830 @docLinkPdf{Web,web,@manualDevelWebPdf}
833 @docLinkSplit{Changes,changes,@manualDevelChangesSplit}
835 @docLinkBig{Changes,changes,@manualDevelChangesBig}
837 @docLinkPdf{Changes,changes,@manualDevelChangesPdf}
840 @docLinkSplit{Extending,extending,@manualDevelExtendingSplit}
842 @docLinkBig{Extending,extending,@manualDevelExtendingBig}
844 @docLinkPdf{Extending,extending,@manualDevelExtendingPdf}
847 @docLinkSplit{Internals,internals,@manualDevelInternalsSplit}
849 @docLinkBig{Internals,internals,@manualDevelInternalsBig}
851 @docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
854 @headitem Downloadable
871 @divClass{column-center-top}
872 @subheading What is Google Summer of Code?
875 @uref{http://www.google-melange.com/gsoc/homepage/google/gsoc2012, GSoC website},
876 @qq{Google Summer of Code is a global program that offers students
877 stipends to write code for open source projects. Google has worked
878 with the open source community to identify and fund exciting projects
879 for the upcoming summer.}
881 The LilyPond Team decided that this is an excellent opportunity to find
882 new contributors, encourage students already participating in LilyPond
883 development to become more involved, and - last but not least - write some
884 great code for the benefit of all!
886 We are participating in GSoC as a part of GNU Project. See
887 @uref{http://www.gnu.org/software/soc-projects/guidelines.html, GNU GSoC webpage}
888 for information on how to participate.
892 @divClass{column-center-bottom}
893 @subheading Our Ideas List
895 Below is a list of projects suggested for GSoC students. If you don't
896 see a project that suits you, feel free to suggest your own!
897 It's also possible to scale down a project if you feel it's too big.
899 We require that every student has basic @code{git} knowledge, and
900 recommend that everyone applying for projects other than the last one
901 have basic music notation knowledge.
903 @subheading Grace notes
905 Fix problems with synchronization of grace notes,
906 together with all underlying architecture (see
907 @uref{http://code.google.com/p/lilypond/issues/detail?id=34, issue 34 in our tracker}).
908 Grace notes are confusing to LilyPond's timing because they're like
909 going back in time. This causes weird effects, especially when one staff
910 has a grace note and the other doesn't.
912 @strong{Difficulty:} medium
914 @strong{Requirements:} C++, MIDI
916 @strong{Recommended:} familiarity with LilyPond internals
918 @strong{Mentor(s):} Mike Solomon, Carl Sorensen
922 Adding comprehensive MusicXML export and improving import,
923 together with tests checking that it works. Depending on time available,
924 implement some or all of the following:
926 @divClass{keep-bullets}
930 Handle basic musical content export like the MIDI export (i.e. using
931 dedicated exporter classes, derived from the translator class)
934 Build the XML tree of the basic musical content,
935 add a connection from music event to XML tag
938 Let all LilyPond engravers do their job
941 add ability to link each output object
942 (basically each stencil / group of stencils) to the music cause
943 (and thus to the XML tag in the XML tree)
946 Add a XML output backend, which can then add the layout information
947 for each output object to the XML tags
952 The goal will be considered achieved when a (previously chosen) score could be
953 imported from MusicXML and exported back with no unintentional loss of data.
955 @strong{Difficulty:} medium
957 @strong{Requirements:} MusicXML, Python, basic LilyPond knowledge
959 @strong{Mentor(s):} Reinhold Kainhofer, Mike Solomon
961 familiarity with other scorewriters (for cross-testing) would be a nice bonus.
963 @subheading Improve slurs and ties
965 The default shape of slur and tie curves is often unsatisfactory.
966 Ties on enharmonic notes @code{@{ cis'~ des' @}} are not supported,
967 ties "broken" by clef or staff change aren't supported well.
968 The project includes collecting and sorting examples of bad output,
969 deciding on the intended output and writing the actual code.
971 @strong{Difficulty:} hard
973 @strong{Requirements:} C++, experience with writing heuristics
975 @strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
977 @strong{Mentor(s):} Mike Solomon
979 @subheading Adding special variant of font glyphs
980 Adding on-staff-line, between-staff-line, shorter and narrower variants
981 of some glyphs, for example accidentals, together with a generic
982 infrasctucture to support them. An example is ancient notation breve notehead
983 coming in two variants, with smaller and bigger hole.
985 @strong{Difficulty:} easy
987 @strong{Requirements:} MetaFont, C++, good eye for details
989 @strong{Recommended knowledge:} basic LilyPond knowledge
991 @strong{Mentor(s):} Werner Lemberg
993 @subheading Improve beaming
995 Default positioning of regular, cross-staff, broken and kneed beams
996 should be improved. Beaming should depend on context and neighbor notes (see
997 @uref{http://icking-music-archive.org/lists/sottisier/sottieng.pdf, section 2.2 here}).
998 If possible, reduce beaming computation time.
1000 @strong{Difficulty:} medium
1002 @strong{Requirements:} C++, experience with writing heuristics
1004 @strong{Recommended knowledge:} aesthetic sense
1006 @strong{Mentor(s):} Mike Solomon, Carl Sorensen
1008 @subheading Better tablature support
1010 @divClass{keep-bullets}
1014 non-monotonic string tunings, like Ukulele
1017 create tablature input mode (currently musical information is entered
1018 in western-common-music-notation-terms, i.e. @qq{a quarter f sharp note}
1019 and then converted to tablature) for transcribing medieval lute tablature
1022 implement modern tablature features, such as bends, pull-off, hammer-on
1025 if a fretboard shape is defined for a given chord, use this information when
1026 displaying the chord on the staff (and not just display a default chord shape)
1031 @strong{Difficulty:} easy
1033 @strong{Requirements:} C++
1035 @strong{Recommended knowledge:} tablature notation familiarity
1037 @strong{Mentor(s):} Carl Sorensen
1039 @subheading Clean up various compilation warnings
1041 Clean up compiler warnings, static code analysis, and valgrind warnings.
1042 Automatic code analysis tools (warnings in @code{g++} and @code{clang})
1043 and analysis tools like valgrind memory leak detection and callgrind code
1044 profilers provide valuable information about possible flaws in C++ code.
1045 Cleaning these warnings would allow us to automatically reject any patch
1046 which introduced extra warnings.
1048 @strong{Difficulty:} medium
1050 @strong{Requirements:} C++
1052 @strong{Mentor(s):} Joe Neeman, Reinhold Kainhofer
1060 @unnumberedsec Authors
1062 @divClass{column-left-top}
1063 @subheading Current Development Team
1065 @divClass{keep-bullets}
1070 @divClass{column-right-top}
1071 @subheading Previous Development Team
1073 @divClass{keep-bullets}
1079 @divClass{column-center-top}
1080 @subheading Current Contributors
1082 @divClass{keep-bullets}
1083 @subsubheading Programming
1091 @subsubheading Documentation
1095 @subsubheading Bug squad
1099 @subsubheading Support
1103 @subsubheading Translation
1105 @translationsCurrent
1111 @divClass{column-center-bottom}
1112 @subheading Previous Contributors
1114 @divClass{keep-bullets}
1115 @subsubheading Programming
1123 @subsubheading Documentation
1127 @c uncomment when we have any previous members -gp
1128 @c @subsubheading Bug squad
1132 @subsubheading Support
1136 @subsubheading Translation
1138 @translationsPrevious
1146 @unnumberedsec Publications
1148 @divClass{column-center-top}
1149 @subheading What we wrote about LilyPond
1151 @divClass{keep-bullets}
1153 @include we-wrote.itexi
1158 @divClass{column-center-bottom}
1160 @subheading What people did with LilyPond
1163 @divClass{keep-bullets}
1165 @include others-did.itexi
1170 @contactUsAbout{academic papers}
1174 @unnumberedsec Old news
1176 @include web/news-front.itexi
1178 @include web/news.itexi