ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

I am please to be announcing the release of ColPrac: the Contributor’s Guide on Collaborative Practices for Community Packages.
This consists of a policy and some guidance for contributor to community packages.
It’s like a universal Contributing.md.
It’s all the stuff you try and remember to tell people when you grant them merge rights on a repository.
Like “Don’t merge your own PRs without someone else having reviewed them, and the CI passing”.

No doubt there are still some fine tweaks and typos to correct, but this is basically done, and ready for use now.
PR’s and issues can be openned at:
https://github.com/SciML/ColPrac
Discussion can occur in the #colprac channel on Slack

The repository is hosted in the SciML org, but it is intended for all community packages (the repository had to go somewhere).
By community packages we mean things with multiple maintainers, and public releases.
It’s not really suitable for your early stage solo projects, though some of the advice might apply.
Particularly in the Guidance section, which also defines things like “What is a breaking change”?

The writing of this has been a moderately large community endevour, with collaborators from the the FluxML, JuliaCollections, JuliaDiff, and SciML organizations.
Its a fine line to walk on being opinionated enough to give useful concrete guidance for contributors, while being nonobjectionable enough that everyone can use it.
Expect this to be rolled out as the official policy of the aforementioned organizations in the coming week(/s), as soon as we get around to adding the links to the readmes.
We hope other organizations will join us as we move towards a consistent policy of collaborative practices

27 Likes

What problem is this trying to solve?

Edit: Nvm, mostly answered by reading through the link.

packages created with PkgTemplates.jl can now optionally include a ColPrac badge in the Readme

Edit: clarified wording (the ColPrac badge is a feature you can add to the PkgTemplate, not included by default, same as with e.g. TravisCI or other “Plugins”).

Given that ColPrac says that it is

only intended for community practices, it is not suitable for solo projects with one maintainer.

I am not sure that package template generators should automatically insert it. The maintainer(s) can just add a badge when the project grows.

Its not part of any kind of default template.
PkgTemplates allows you to have many templates.

ColPrac isn’t suitable for solo projects.
But not all projects start as solo projects.

2 Likes

I’m glad to see SciML grow into a real mature software organization. :sunny:

I don’t think it was ever intended to be, since it is about Collaborative Practices for Community Packages.

I don’t think it was ever intended to be, since it is about Collaborative Practices for Community Packages.

Correct. It isn’t, it never was.
(I can say that, I am the primary author of it.)

5 Likes