]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/web/community.itexi
Merge branch 'master' into translation
[lilypond.git] / Documentation / web / community.itexi
index b87062c7ba7c5edf0eeeab40e10fbfcec285da86..214ee64d40fa0174e556a661da27970ad4dba6d8 100644 (file)
@@ -49,7 +49,7 @@ discussing LilyPond.
 @ref{Development}: for contributors and testers.
 
 @item
 @ref{Development}: for contributors and testers.
 
 @item
-@ref{GSoC 2012}: our ideas for 2012 edition of Google Summer of Code.
+@ref{Google Summer of Code}: ideas for Google Summer of Code (GSoC).
 
 @item
 @ref{Authors}: the people who made LilyPond what it is today.
 
 @item
 @ref{Authors}: the people who made LilyPond what it is today.
@@ -87,7 +87,7 @@ discussing LilyPond.
 * Help us::
 * Sponsoring::
 * Development::
 * Help us::
 * Sponsoring::
 * Development::
-* GSoC 2012::
+* Google Summer of Code::
 * Authors::
 * Acknowledgements::
 * Publications::
 * Authors::
 * Acknowledgements::
 * Publications::
@@ -134,7 +134,7 @@ in your own works.  See what other people have written,
 and add your own!
 
 @example
 and add your own!
 
 @example
-@uref{http://lsr.dsi.unimi.it}
+@uref{http://lsr.di.unimi.it}
 @end example
 
 Particularly instructive examples from LSR are included in our
 @end example
 
 Particularly instructive examples from LSR are included in our
@@ -178,8 +178,8 @@ be useful for others would better be posted to one of the mailing lists.
 @subsubheading Other languages
 
 @quotation
 @subsubheading Other languages
 
 @quotation
-@uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
-Spanish mailing list}
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
+French mailing list}
 
 @uref{http://www.lilypondforum.de/,
 German forum}
 
 @uref{http://www.lilypondforum.de/,
 German forum}
@@ -187,26 +187,19 @@ German forum}
 @uref{http://groups.google.com/group/lilypond-brasil,
 Portuguese group}
 
 @uref{http://groups.google.com/group/lilypond-brasil,
 Portuguese group}
 
-@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
-French mailing list}
-
-@uref{http://www.lilypondforum.nl/,
-Dutch forum}
+@uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
+Spanish mailing list}
 @end quotation
 @end quotation
-
 @divEnd
 
 
 @divClass{column-right-top}
 @divEnd
 
 
 @divClass{column-right-top}
-@subheading Stay Informed
+@subheading The LilyPond Blog
 
 
-@subsubheading LilyPond Report
-
-The easiest way to keep touch is by reading our community
-newsletter, the LilyPond Report:
+Read our community blog, @q{Scores of Beauty}:
 
 @example
 
 @example
-@uref{http://news.lilynet.net}
+@uref{http://lilypondblog.org}
 @end example
 
 @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org}
 @end example
 
 @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org}
@@ -233,12 +226,12 @@ archive3}
 
 
 @divClass{column-right-bottom}
 
 
 @divClass{column-right-bottom}
-@subheading Developer Discussion
+@subheading Developer Discussions and Translations
 
 @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org}
 
 
 @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org}
 
-Most developer discussion takes place on this list.  Patches
-should be sent here.
+Developer discussions take place on this list. Patches can also be sent
+here.
 
 @quotation
 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
 
 @quotation
 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
@@ -258,7 +251,8 @@ send to lilypond-devel with gmane}
 
 @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org}
 
 
 @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org}
 
-Bug-specific discussion takes place here.
+Bug reports and discussions should be sent here.  Do not send patches
+to this list.
 
 @quotation
 @uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
 
 @quotation
 @uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
@@ -277,13 +271,16 @@ archive3}
 @warning{Before sending a message to the bug list, please read our
 guidelines for @ref{Bug reports}.}
 
 @warning{Before sending a message to the bug list, please read our
 guidelines for @ref{Bug reports}.}
 
-@divEnd
 
 
-@divClass{column-right-bottom}
-@subheading Sensitive emails
+@subsubheading Translation mailing list: @code{translations@@lilynet.org}
 
 
-Private matters should be sent to Graham Percival (project
-manager), who will discuss it with those concerned.
+All discussions about translating LilyPond manuals should be sent here.
+Do not send patches to this list.
+
+@quotation
+@uref{http://lilypond-translations.3384276.n2.nabble.com/,
+Translation mailing list archive}
+@end quotation
 
 @divEnd
 
 
 @divEnd
 
@@ -415,7 +412,7 @@ then that is a bug.
 We may already know about this bug.  Check here:
 
 @example
 We may already know about this bug.  Check here:
 
 @example
-@uref{http://code.google.com/p/lilypond/issues/list}
+@uref{http://sourceforge.net/p/testlilyissues/issues/}
 @end example
 
 @warning{Please @strong{DO NOT} add bug reports directly to the
 @end example
 
 @warning{Please @strong{DO NOT} add bug reports directly to the
@@ -492,14 +489,14 @@ report.
 
 Once your bug report has been sent to the list, our Bug Squad will
 examine it; they may ask you for more information.  You will be notified
 
 Once your bug report has been sent to the list, our Bug Squad will
 examine it; they may ask you for more information.  You will be notified
-when the report will be added to the bug tracker. Please allow up to 4 days,
-as we have a limited number of volunteers for this task.
+when the report will be added to the bug tracker.  Please allow up to 4
+days, as we have a limited number of volunteers for this task.
 
 Once a bug has been added to the tracker, you can comment it to add
 more information about it.
 You may also mark the bug so that you automatically receive emails when
 
 Once a bug has been added to the tracker, you can comment it to add
 more information about it.
 You may also mark the bug so that you automatically receive emails when
-any activity on the bug occurs.  This requires you have a google
-account.
+any activity on the bug occurs.  This requires you have a google account
+login.
 @divEnd
 
 @divClass{column-center-bottom}
 @divEnd
 
 @divClass{column-center-bottom}
@@ -785,6 +782,7 @@ manuals can be found at @url{http://lilypond.org}}
 @divClass{normal-table}
 @multitable @columnfractions .3 .3 .3
 @headitem Introduction
 @divClass{normal-table}
 @multitable @columnfractions .3 .3 .3
 @headitem Introduction
+
 @item
 @docLinkSplit{Learning,learning,@manualDevelLearningSplit}
 @tab
 @item
 @docLinkSplit{Learning,learning,@manualDevelLearningSplit}
 @tab
@@ -805,7 +803,9 @@ manuals can be found at @url{http://lilypond.org}}
 @docLinkBig{Essay,essay,@manualDevelEssayBig}
 @tab
 @docLinkPdf{Essay,essay,@manualDevelEssayPdf}
 @docLinkBig{Essay,essay,@manualDevelEssayBig}
 @tab
 @docLinkPdf{Essay,essay,@manualDevelEssayPdf}
+@end multitable
 
 
+@multitable @columnfractions .3 .3 .3
 @headitem Regular
 
 @item
 @headitem Regular
 
 @item
@@ -828,7 +828,9 @@ manuals can be found at @url{http://lilypond.org}}
 @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
 @tab
 @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
 @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
 @tab
 @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
+@end multitable
 
 
+@multitable @columnfractions .3 .3 .3
 @headitem Infrequent
 
 @item
 @headitem Infrequent
 
 @item
@@ -858,15 +860,17 @@ manuals can be found at @url{http://lilypond.org}}
 @docLinkBig{Internals,internals,@manualDevelInternalsBig}
 @tab
 @docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
 @docLinkBig{Internals,internals,@manualDevelInternalsBig}
 @tab
 @docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
+@end multitable
 
 @ifset web_version
 
 @ifset web_version
+@multitable @columnfractions .3
 @headitem Downloadable
 
 @item
 @doctarballDevel
 @headitem Downloadable
 
 @item
 @doctarballDevel
+@end multitable
 @end ifset
 
 @end ifset
 
-@end multitable
 
 @divEnd
 @divEnd
 
 @divEnd
 @divEnd
@@ -874,163 +878,257 @@ manuals can be found at @url{http://lilypond.org}}
 
 
 
 
 
 
-@node GSoC 2012
-@unnumberedsec GSoC 2012
+@node Google Summer of Code
+@unnumberedsec Google Summer of Code
 
 @divClass{column-center-top}
 @subheading What is Google Summer of Code?
 
 
 @divClass{column-center-top}
 @subheading What is Google Summer of Code?
 
-It is a global program run by Google that offers students stipends
-for working on open source software projects during summer vacations.
+@uref{https://developers.google.com/open-source/gsoc/, GSoC} is a global
+program that offers students stipends to write code for free software
+and open source projects during the summer.  It is an excellent
+opportunity for students to gain experience with real-world software
+development and make a contribution that benefits everyone.  It brings
+new contributors to LilyPond and enables students who are already
+involved to become more involved.  LilyPond participates in GSoC as part
+of the @uref{http://www.gnu.org/, GNU project}.
+
+We have had GSoC participants in 2012 and 2015 and encourage students to
+apply for future summers.
 
 
-The LilyPond Team decided that this is an excellent opportunity to find
-new contributors and encourage students already participating in LilyPond
-development to become more involved.  One of our contributors was accepted
-for 2012 edition of the program as part of the
-@uref{http://www.gnu.org/, GNU project};
-we hope to participate in future editions as well.
+If you have questions or would like to apply, send us an email on our
+developer mailing list (see @ref{Contact}).
 
 @divEnd
 
 
 @divEnd
 
-@divClass{column-center-bottom}
-@subheading Our 2012 Ideas List
+@divClass{column-center-middle-color2}
+@subheading Project Ideas List
 
 
-Below is a list of projects that we suggested for GSoC 2012 students.
-Although the application period is over, we decided to keep this webpage
-online as an inspiration for anyone who is interested in developing LilyPond.
-Some members of the development team are willing to help people who would like
-to tackle these projects.
+Below is a list of suggested projects for GSoC or for anyone who is
+interested in helping to improve LilyPond. (Last updated: February 2016)
 
 
-Of course, there are many more things to improve in LilyPond, including
-very small ones.  A full list of all known issues can be found
-@uref{http://code.google.com/p/lilypond/issues/list, here}.
+Mentor availability varies from project to project and from year to year.
+Send us an email on our developer mailing list (see @ref{Contact}), and
+we will help you find a mentor for a project that fits your interests
+and skills.
 
 
-@subheading Grace notes
+If you have ideas for a GSoC project that is not listed below you can
+send us an email as well.  There are a number of areas where LilyPond
+could be improved, and our development team is always willing to help
+those who would like to tackle a project like those listed below.
 
 
-Fix problems with synchronization of grace notes,
-together with all underlying architecture (see
-@uref{http://code.google.com/p/lilypond/issues/detail?id=34,
-issue 34 in our tracker}).  Grace notes are confusing to LilyPond's
-timing because they're like going back in time.  This causes weird
-effects, especially when one staff has a grace note and the other
-doesn't.
+A full list of all the current open issues can be found
+@uref{http://sourceforge.net/p/testlilyissues/issues/, here}.
 
 
-@strong{Difficulty:} medium
+@divEnd
 
 
-@strong{Requirements:} C++, MIDI
+@divClass{column-center-middle-color3}
+@subheading Improve internal chord structure
 
 
-@strong{Recommended:} familiarity with LilyPond internals
+The internal representation of LilyPond chords is not powerful enough
+to capture the nomenclature of jazz chords.  Currently the chord has
+a root, a bass and an inversion.  It would be nice to be able to handle
+stacked or polychords, minor/major, etc.  In order to do this, an
+internal representation with the ability to capture the essence of
+complex chords must be developed.  As a bonus, once the internal
+representation is developed, the output formatting of chord names can
+be improved.
 
 
-@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+@strong{Difficulty:} Easy/medium
+@strong{Requirements:} Scheme (Guile), but the level necessary can be
+easily learned
+@strong{Recommended:} Chord theory and naming
+@strong{Mentor:} Carl Sorensen
 
 
-@subheading MusicXML
+@divEnd
 
 
-Adding comprehensive MusicXML export and improving import,
-together with tests checking that it works. Depending on time available,
-implement some or all of the following:
+@divClass{column-center-middle-color3}
+@subheading ScholarLY
 
 
-@divClass{keep-bullets}
-@itemize
+ScholarLY is a library in
+@uref{https://openlilylib.org, openLilyLib} that provides functionality
+for annotating scores, making it possible to manage scholarly workflows
+completely in the context of the score document.  So far it is possible
+to enter annotations of different types, produce clickable messages in
+the console output and export to text and LaTeX files.
 
 
-@item
-Handle basic musical content export like the MIDI export (i.e. using
-dedicated exporter classes, derived from the translator class)
+There are numerous feature requests to turn this library into an
+even more powerful and comprehensive tool.  Some examples: Inserting
+music examples, producing footnotes, automatically applying styles
+to the annotated item (e.g. dash a slur, parenthesize an accidental),
+creating reports with point-and-click entries.  For a full description
+of this project suggestion please visit
+@uref{https://github.com/openlilylib/scholarly/wiki/GSoC, this Wiki page}.
 
 
-@item
-Build the XML tree of the basic musical content,
-add a connection from music event to XML tag
+@strong{Difficulty:} medium
+@strong{Requirements:} Scheme, possibly LaTeX, (optionally Python)
+@strong{Recommended:} Experience with or interest in scholarly
+edition and collaborative workflows.
+@strong{Mentor:} Urs Liska
 
 
-@item
-Let all LilyPond engravers do their job
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Adding variants of font glyphs
+
+@divClass{keep-bullets}
+@itemize
 
 @item
 
 @item
-Add ability to link each output object
-(basically each stencil / group of stencils) to the music cause
-(and thus to the XML tag in the XML tree)
+Adding @q{on} and @q{between} staff-line variants.
 
 @item
 
 @item
-Add a XML output backend, which can then add the layout information
-for each output object to the XML tags
+Shorter and narrower variants of some glyphs for example, accidentals.
+Another, more specific example could be an ancient notation breve
+notehead coming in two variants one with a small or big @q{hole} within
+it.
 
 @end itemize
 @divEnd
 
 
 @end itemize
 @divEnd
 
-The goal will be considered achieved when a (previously chosen) score
-could be imported from MusicXML and exported back with no unintentional
-loss of data.
+@strong{Difficulty:} easy
+@strong{Requirements:} MetaFont, C++, good eye for details
+@strong{Recommended knowledge:} basic LilyPond knowledge
+@strong{Mentor:} Werner Lemberg
 
 
-@strong{Difficulty:} medium
+@divEnd
 
 
-@strong{Requirements:} MusicXML, Python, basic LilyPond knowledge
+@divClass{column-center-middle-color3}
+@subheading Grace notes
 
 
-@strong{Mentor(s):} Reinhold Kainhofer, Mike Solomon
+Fix problems with synchronization of grace notes.  Grace notes can
+interfere with LilyPond's timing and cause odd effects, especially when
+multiple staffs are used where some have grace notes and others don't.
+This is one of the longest-standing and one of the more embarrassing
+@uref{https://sourceforge.net/p/testlilyissues/issues/34/,bugs} in
+LilyPond.
 
 
-Familiarity with other scorewriters (for cross-testing) would be a nice
-bonus.
+@strong{Difficulty:} medium
+@strong{Requirements:} C++, MIDI
+@strong{Recommended:} familiarity with LilyPond internals
+@strong{Potential Mentors:} Mike Solomon (not available for GSoC 2016),
+Carl Sorensen
 
 
-@subheading Improve slurs and ties
+@divEnd
 
 
-The default shape of slur and tie curves is often unsatisfactory.
-Ties on enharmonic notes @code{@{ cis'~ des' @}} are not supported,
-ties "broken" by clef or staff change aren't supported well.
-The project includes collecting and sorting examples of bad output,
-deciding on the intended output and writing the actual code.
+@divClass{column-center-middle-color3}
+@subheading Improve default beam positioning
 
 
-@strong{Difficulty:} hard
+For regular, cross-staff, broken and kneed beams.  Beaming should depend
+on context and neighbor notes
+(see @uref{http://icking-music-archive.org/lists/sottisier/sottieng.pdf,
+section 2.2 here}).  If possible also reduce beaming-computation time.
 
 
+@strong{Difficulty:} medium
 @strong{Requirements:} C++, experience with writing heuristics
 @strong{Requirements:} C++, experience with writing heuristics
+@strong{Recommended knowledge:} aesthetic sense
+@strong{Potential Mentors:} Mike Solomon (not available for GSoC 2016),
+Carl Sorensen
 
 
-@strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
+@divEnd
 
 
-@strong{Mentor(s):} Mike Solomon
+@divClass{column-center-middle-color3}
+@subheading Allow spanners to cross voices
 
 
-@subheading Adding special variant of font glyphs
-Adding on-staff-line, between-staff-line, shorter and narrower variants
-of some glyphs, for example accidentals, together with a generic
-infrastructure to support them.  An example is ancient notation breve
-notehead coming in two variants, with smaller and bigger hole.
+Currently all sorts of spanners (ties, slurs, dynamics, text spanners,
+trills etc.) have to be ended in the context they were started.  However,
+this doesn't reflect the reality of notation in most polyphonic settings.
+Awkward workarounds with hidden voices are currently necessary to achieve
+cross-voice spanners.
 
 
-@strong{Difficulty:} easy
+New ways of addressing this issue should be explored, for example by
 
 
-@strong{Requirements:} MetaFont, C++, good eye for details
+@divClass{keep-bullets}
+@itemize
 
 
-@strong{Recommended knowledge:} basic LilyPond knowledge
+@item specifying a “target context” where the end of the spanner is
+expected
 
 
-@strong{Mentor(s):} Werner Lemberg
+@item explicitly specifying the ending object with an ID
 
 
-@subheading Improve beaming
+@end itemize
+@divEnd
 
 
-Default positioning of regular, cross-staff, broken and kneed beams
-should be improved.  Beaming should depend on context and neighbor notes
-(see @uref{http://icking-music-archive.org/lists/sottisier/sottieng.pdf,
-section 2.2 here}).  If possible, reduce beaming computation time.
+This feature would solve many problems that are commonly faced with
+piano music and combined parts. 
+
+@strong{Difficulty:} medium (?)
+@strong{Requirements:} C++, Scheme
+@strong{Potential Mentor:} Urs Liska
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Help improve compilation behavior
+
+Automatic code analysis tools, like valgrind memory leak detection or
+callgrind code profilers, provide valuable information about possible
+flaws in our C++ code.  Cleaning up warnings would allow us to automate
+the rejection of any patch which introduced extra warnings.
 
 @strong{Difficulty:} medium
 
 @strong{Difficulty:} medium
+@strong{Requirements:} C++
+@strong{Potential Mentors:} Reinhold Kainhofer (not available for GSoC
+2016), Joe Neeman
 
 
-@strong{Requirements:} C++, experience with writing heuristics
+@divEnd
 
 
-@strong{Recommended knowledge:} aesthetic sense
+@divClass{column-center-middle-color3}
+@subheading MusicXML
 
 
-@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+Improving MusicXML import and export functions:
 
 
-@subheading Clean up various compilation warnings
+@divClass{keep-bullets}
+@itemize
 
 
-Clean up compiler warnings, static code analysis, and valgrind warnings.
-Automatic code analysis tools (warnings in @code{g++} and @code{clang})
-and analysis tools like valgrind memory leak detection and callgrind
-code profilers provide valuable information about possible flaws in C++
-code.  Cleaning these warnings would allow us to automatically reject
-any patch which introduced extra warnings.
+@item
+Handle basic musical content export like the MIDI export (i.e. using
+dedicated exporter classes, derived from the translator class).
 
 
-@strong{Difficulty:} medium
+@item
+Build the XML tree of the basic musical content, add a connection from
+music event to XML tag.
 
 
-@strong{Requirements:} C++
+@item
+Let all LilyPond engravers do their job.
+
+@item
+Link each output object (i.e. each stencil or group of stencils) to the
+music cause (and thus to the XML tag in the XML tree).
+
+@item
+Add an XML output backend, which can then add layout information for
+each output object to the XML tags.
 
 
-@strong{Mentor(s):} Joe Neeman, Reinhold Kainhofer
+@end itemize
+@divEnd
+
+There are several possibilities for this project, including building upon
+the MusicXML export project from GSoC 2015.
+
+@strong{Difficulty:} medium
+@strong{Requirements:} MusicXML, Python, Scheme, basic LilyPond knowledge
+@strong{Potential Mentors:} Reinhold Kainhofer, Mike Solomon (both not
+available for GSoC 2016)
+
+Familiarity with other scorewriters (for cross-testing) would also help.
 
 @divEnd
 
 
 @divEnd
 
+@divClass{column-center-middle-color3}
+@subheading Improve slurs and ties
 
 
+The engraving quality of slurs and ties is often unsatisfactory. Ties
+@q{broken} by clef or staff changes are not handled well.  The project
+could include collecting and sorting examples of bad output, deciding on
+the intended output and writing code to improve them.
+
+@strong{Difficulty:} hard
+@strong{Requirements:} C++, experience with writing heuristics
+@strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
+@strong{Potential Mentors:} Mike Solomon, Janek Warchoł (both not available for
+GSoC 2016)
+
+@divEnd
 
 
 @node Authors
 
 
 @node Authors