Style repository maintenance?

Actually there are 102 open Pull requests (, the oldest dates back on 21 Sep 2015. Does anyone know the reason for this? Is there a way to help?
  • Not easily I'm afraid. Styles go out without further review to hundreds of thousands of end users, so we do need to do relatively thorough QA on them in addition to the automated tests. What would probably help is to help people with failing CI builds. They're usually inexperienced and helping takes up a good amount of time and it's very clear what needs fixing. The rest of the review requires a very solid understanding of what we're looking for in terms of metadata, requirements for accepting styles, and minimal code quality, so that only makes sense for people who've been working with CSL and the repo for some time.

    The style repository gets a lot of PRs from first time github users and it often involves some hand-holding. The stats you cite are also a bit misleading. The oldest PRs typically have unresolved questions, so that's not really an indicator, and as you can tell, we are continuously merging or closing pull requests (200 in the last 5 months, e.g.). Almost all people waiting to get a style merged get it reviewed within a couple of weeks and most PRs are merged within 4 weeks (yours was merged in a week afaict), only in some cases does that require an additional ping from authors.
  • edited October 18, 2018
    It's just hard for the current two volunteer maintainers (@adamsmith and myself) to keep up. Originally the CSL style repository was maintained by Zotero (2006-2011), and we've taken over this task since 2011 when the repository moved to GitHub. Under our stewardship, the number of CSL styles in the repository has increased from about 1500 to over 9000, and we have closed thousands of pull requests. In the past year or two the amount of open pull requests has grown a bit as we both have become busier in our personal and professional lives. As @adamsmith said, the number of open pull requests is not necessarily a good indicator, but you're right that there are currently quite a few pull requests that have been open for multiple weeks that haven't yet received any attention.

    Some options to improve on the situation:

    * Professionalize the maintenance of the style repository. We have been able to get a little bit of CSL funding in recent years (typically $5000-10000/year for a good year), but the vast majority of companies using CSL (see for a list) don't contribute upstream (financially or otherwise). Personally, style repository maintenance feels like a job, and to the extent that I've been reimbursed for my work on the repository through these corporate donations, I've worked well below the minimum wage for rather mundane and repetitive work. A decent hourly wage would certainly entice me to dedicate more time to this task.
    * Recruit additional maintainers to reduce the burden on the core CSL developers, to give us a bit of a breather and allow us to spend more time on developing the CSL language itself. Like @adamsmith said, this role requires a good understanding of CSL and a high attention to detail. We'd be happy to train people, but it's something that takes quite a bit of commitment and building of trust.
    * We're also always short-staffed on programmers. There are some ways in which we could further automate the reviewing process, but we don't have the skills in-house to implement those improvements.
  • There is no important how many open PR are on GitHub. Some of them are not valid and some of them need any explanation how @adamsmith wrote. Author of style can add a link to the style in Zotero forum and everybody can download it even before upload the style into the repository. Verification of style code is very important work and there is a lot of styles in repository which cannot be easily modified to another very close style due to very unclear or complicated code of style.
  • We're also always short-staffed on programmers. There are some ways in which we could further automate the reviewing process, but we don't have the skills in-house to implement those improvements.
    Are there existing tickets or discussions for these?
  • There are two main things we have talked about to improve reviewability
    1. is to provide more human-readable error reports

    2. is to automatically output a small set of sample citations for changed/new citation styles as part of the CI build -- the one doesn´t have a ticket, but happy to create one.

    For both of these, Rintze and I are happy to help best we can (e.g. supply error messages, good sample citations, etc.
  • I'd also like to see some kind of CI between the "styles" and "journals" repos (the latter is our repository for storing journal metadata from which we generate our automatically generated dependent styles, which is the majority of them). The two repos are currently not exactly in sync, and it would be good if we could detect when they aren't and enforce that they are.

    And it would simplify reviews if there would be some (non-failing) checks on just the styles added, e.g. whether it has a default-locale, documentation link, template link, etc. There are quite a few cases where we don't require these things, so I rather not have a hard-coded exception list, but it would be very nice if the PR could highlight things to look at.
Sign In or Register to comment.