My very first post on this blog was the announcment of a “Crowd Engraving” project: preparing the performance material for the voluminous orchestral score of “Das trunkne Lied” by Oskar Fried. Unfortunately it took a really long time, but now the project has finally picked up speed and changed its status from a task to a “living” project. We will update you with hopefully interesting reports and information on this blog so this will be the first of a series of posts, similar to our series of posts about our edition of the Oskar Fried songs.
Over the last year we have always written about the joy of working with plain text and version control, and particularly what a positive impact this has on our ways of collaboration. Doing that in a team actually takes it to the next level, and I can already ensure you that this really works out nicely 🙂 .
Apart from the conceptual demands of such an undertaking it also was a technical challenge for me, as I’m now the “root” user of a virtual private server – with all its joys and menaces. There I could set up a LilyPond building environment, run my own mailing lists, and particularly install GitLab. GitLab is an open source application often characterized as a “self-hosted GitHub” – slightly less equipped with features but in the end an equally useful tool. Being one’s own server administrator is challenging but also exciting, and you don’t have to give your data to a commercial provider with dubious Terms Of Service.
When all this was set up I could take the time to fix the project framework, set everything up and write something like a Contributor’s Guide so I could ask for participants on the lilypond-user mailing list. This resulted in an impressive list of around 30 collaborators, although I have to admit that so far only a handful of them has found their way into active and regular contribution. But it really turned out to be an enjoyable experience to collaborate on a score that way, with a number of contributors who (some after some initial learning curve with the tools) work very independently and reliably by now. Like a gardener who has finished the seed I can watch my plants growing, and I can safely assume that while I’m writing this someone in any timezone of the earth is laying his hands on a number of segments. Having established a workflow of continuous peer review and having the power and robustness of LilyPond plus Version Control at hand I can be really comfortable with not having to do everything myself – but I’ll tell you more about that and our innovative “segment grid” approach in the next post of this series …
For today’s entertainment I have used the cool gource tool to generate a video documenting the project’s progress. This tool visualizes the history of a version control repository over time. I’m not sure yet whether this is really a tool and not rather a toy but it’s definitely fun to watch the output.
(we recommend viewing the video full-screen so that you can read the labels)
Around the center of a
root directory you see how the directories and files are added and modified, and you can see the users who are doing this. At the top of the screen you can see how time proceeds – but be aware that the (virtual) editor in gource tries to avoid boredom and decides to skip longer periods of inactivity.
You can see that I initially worked on the infrastructure alone and only on May 08, 2013 (
0:16) created the first directory with actual music (“violoncello”, in the upper right corner). After a little setting up two initial parts over the next week work concentrated on the infrastructure again.
From June 2013 to August 2014 you’ll notice several small and one huge skip, and only at the end of August 2014 (
0:56) you’ll see the appearance of the first contributors. You can then see that the first week of September was one of increased activity with a number of contributors, until on September 08/09 (
1:07) things start to go wild.
Over the rest of the video you can see a kind of settlement: Basically all files have been created and are now edited in detail. Also it gives a quite accurate representation on how the project directory is organized, but that’s a topic for next time …