A couple of people on twitter recommended homebrew to me as an
alternative (and quite nice) package manager for OS X, and it got me
thinking that it might have some lessons for the CSL repo idea (and
indeed, potentially for something like zotero translators).
https://github.com/mxcl/homebrew/wiki
Basically, the package descriptions (called “formulas”) are tiny
little ruby applications, and are stored in the main github repo.
These are analogous to csl styles.
There’s a little command line tool that is built in some way on git,
for searching, installing, etc. these packages.
To contribute a new formula, you do as we’ve been imagining: fork, and
then issue a pull request. Then, as it says:
“Now all that remains is to tell a Homebrew collaborator about your
formula so it can be merged.”
E.g. “Homebrew collaborator” = CSL “Style editor”
In some more detail, they also suggest branching, and a few other details:
“We prefer that you create a Pull Request for new and changed brews.
Do not open both an issue and a Pull Request; Pull Requests
automagically create their own issues. One formula to a commit, one
commit to a formula. Keep merge commits out of the request. If you
have any or fixed up commits then please squash your commits. If more
than one file is touched in a commit, and the commit isn’t one logical
bug fix, or the same file is touched in multiple commits then we will
probably ask you to rebase your commits. For this reason you should a
new branch for each pull request rather than using the master branch.
You can delete it after we have pulled your commit.”
Not really sure why they emphasize both forking and branching though,
but I sense it’s important to understand.
Bruce