Hi all,

this is an update and "call for action" regarding openLilyLib.

For those not familiar with openLilyLIb a short recap what it is, or
rather what the different parts of it are:

1)
A "snippets" library located at https://github.com/openlilylib/snippets.

This is similar to the official LSR (http://lsr.di.unimi.it/LSR/Search),
a collection of sort-of-organized LilyPond function. The main
differences to the LSR are:

  * it is simply managed as a Git repository on Github, so it is
    somewhat more straightforward to maintain in a collaborative manner
  * It is not compiled on the server, so there's no requirement that all
    code matches a given LilyPond version
  * It is designed to be *includable*, that is one directly uses the
    snippets instead of copying them in one's own files

2)
A library infrastructure. Below https://github.com/openlilylib/ there is
a number of repositories circling around the oll-core package. The idea
is to provide cleanly structured and usable packages/libraries/modules,
however you'd like to name it. This way including a certain package
easily gives access to a certain functionality. As an example the
"page-layout" package allows to specify sets of breaks that can then
simply be applied to a score (so I can define the breaks of, say, the
manuscript and original edition and switch between them. Or define
breaks for A4 paper and screen display).

One neat thing about that is that it's possible to provide functionality
that other functionality can build upon (well, that's what libraries
mostly are about). I have recently seen how fundamentally it makes it
easier to build complex functionality in LilyPond when you can reuse
rather large building blocks.

###

Unfortunately 2) is still a work in progress or rather a construction
site because much is missing, most importantly an automated system for
testing and documentation generation. This is the main reason why I have
been reluctant so far to add further libraries because they necessarily
have to be somewhat undocumented - and I know that it will be hard to
catch up with this if we should implement a documentation system after
having created dozens of libraries ...

Another thing I dearly miss is a proper integration with Sharon Rosner's
approach at a LilyPond package manager
(https://github.com/noteflakes/lyp), which would actually make
openLilyLib installation a less manual task.

(Both these would make for good GSoC projects BTW)

###

So now that I've said what openLilyLib is and what it mostly lacks I'd
like to share an idea and shout out for a community effort.

Knowing it will be an unlikely bet I still would like to apply for
openLilyLib becoming a Google Summer of Code org independently from
LilyPond. This year I mentored an openLilyLib project on behalf of
LilyPond, and while that worked out it somehow felt not fully natural
because my student didn't work on actual LilyPond code, and because that
seems to have made him less inclined to engage with the LilyPond
community as well. And above all an independent openLilylib org could
eventually lead to more GSoC slots in total for us.

I know it's unlikely openLilyLib would get accepted as a mentoring
organization right away but I would like to try it anyway. Even if it
doesn't work out the effort would give the project a push. The program
rules are not out yet, but application is from mid January to mid
February, and I know the basic requirements:

First of all we need to be a community. There is no given minimum number
to this and it "just can't be two developers but we need a community".
https://github.com/orgs/openlilylib/people actually looks pretty good,
but if you look at that graph:
https://github.com/openlilylib/snippets/graphs/contributors it becomes
clear that there is actually a steep curve *and* there are long periods
of near inactivity (OK, this graph is for the one repo only, there has
been more activity recently to other repos).

So the first thing I would really like to see (and this is actually
independent from GSoC) is getting more people involved in openLilyLib,
and also that people from the one-digit commit count aspire to get to a
two-digit count and those in the lower two-digit range try to somewhat
narrow the gap to the top three contributors ;-) I see there are many
open branches, and it would be good to work on reducing that by either
dropping or merging work.

The second thing I would be happy about is to see more packages emerge.
This can be done by pulling out coherent sets of functionality from the
snippets repository to new packages or by creating new ones from
scratch. Of course this is a more involved thing, particularly as it is
not properly documented yet and not even fully stable with regard to
structure. But more activity would also be the frame for improving on
this aspect.

Finally for becoming a mentoring organization there have to be two
volunteers serving as "org admins" over the project cycle (i.e. from
February to October). I don't know exactly what this involves, and in a
small org it should not be too much. Basically they're the
representatives towards the Google staff and the persons the (potential)
mentors can refer to. It *may* be that they would have to manage money
as well, i.e. doing payment requests and accepting money from Google and
distributing that somewhat. I feel this is something like the parent's
council in primary school: nobody wants to volunteer and in the end it
turns out being very little work.
I would love to see two people stepping up who would definitely not want
to mentor a GSoC project, and actually this would be a good opportunity
for people who benefit from using openLilyLib but don't feel ready to
contribute - because the org admin is (as the name implies) a purely
administrative position.

###

To cut a long story short: I would really like to get openLilyLib to
become an active community within the next two months, to see if a GSoC
application will lead anywhere. And if it doesn't we will have at least
done something good for openLilyLib and implicitly also for LilyPond.

Best
Urs

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to