Plugin Contributors

I'm very proud to be the maintainer of a module (Export Sheet to PDF) that is getting many, many contributions to the point that I'm now making many releases without doing any work on the code myself. These fantastic contributors are typically submitting a small plugin file (I call them "mappings") which contains some code, but is completely distinct from what I consider as the main code base. Because of this, I'm concerned with my current approach to incrementing my package's version number as if those updates were to the main code (i.e. with semver I increment the minor version for new features and the patch version for fixes). Does anyone have any ideas on a better alternative to versioning that I can use going forward, but that still mostly complies with semver. I'm also looking for advice on how I can attribute these contributors to make them feel appreciated. I currently ping them in the release notes and discord channels to thank them publicly and I also provide a file where they can leave their name and contact info in the repo (https://github.com/arcanistzed/pdf-sheet/blob/main/mappings/README.md). Another thing that I'm looking to discuss is some best practices for keeping in contact with contributors regarding keeping their contributions up to date.
18 Replies
corporat
corporat•3y ago
Wow what a message, with bold and everything hahah I'd just personally do date based versioning. 22.03.01 or 22.03.1
Daniel Thorp
Daniel Thorp•3y ago
(just doing my best to get interest in the conversation 😅) Interesting. Is there any advantage to that other than just that it "hides" the issue?
corporat
corporat•3y ago
maybe not, but you also get to not think about versioning I guess your users could always know if they're up to date (if there's a release every month(
Daniel Thorp
Daniel Thorp•3y ago
Sure, but that's not really my goal. I love seeing these contributions so I don't mind spending a little time to show that they're appreciated and give the versioning some thought.
corporat
corporat•3y ago
for attribution I use an AUTHORS file for copyright purposes and all contributors bot for recognizing contributions regardless of copyright (for example, answering questions)
Daniel Thorp
Daniel Thorp•3y ago
Hmm. The release schedule so far doesn't follow any patterns like that. I just release right away whenever there is a significant change.
corporat
corporat•3y ago
For keeping in contact, a CODEOWNERS file, properly configured, will auto-add them as reviewers, but then they might need to be added as members to the project? I mean, is it usually close enough to once a month?
Daniel Thorp
Daniel Thorp•3y ago
No. I just did a release yesterday and the day before. I also have one ready for today.
corporat
corporat•3y ago
I just mean to stop people from asking if they missed an update, not that it has to be
corporat
corporat•3y ago
more often than once a month is fine! 22.03.2, 22.03.3, etc
Daniel Thorp
Daniel Thorp•3y ago
One caveat with this is that some of the contributors don't feel comfortable using GitHub and/or may or may not even have GitHub accounts. What sort of bot is this? How does CODEOWNERS work if multiple people have contributed roughly equally to a file? Are they all required to review changes?
corporat
corporat•3y ago
All Contributors
Recognize all contributors
✨ Recognize all contributors, not just the ones who write code. ✨ All Contributors helps praise everyone contributing to open source projects.
corporat
corporat•3y ago
however you write it in the file I'd just ask them who wants to review changes also on a repository level there's settings for how many reviews are required to enable the merge button (which doesn't matter because I think you're the only one merging, and as owner you can merge whenever you want)
Daniel Thorp
Daniel Thorp•3y ago
Hmm. This message seems to imply a level of communication... How should I approach that? I haven't been bothering people after they contribute most of the time. I just pinged someone yesterday for the first time to fix an issue a user was having with their mapping, but I felt... uncertain
corporat
corporat•3y ago
So I feel like it's very different with a system than with a module. The system has a community around it, that means there's at least a little chatter every day, if not a user question then a rules question or an after action report you probably don't want to engage in that level of community building for export pdf sheet but it's an option for communication it makes people more likely to bring stuff up or reply to your DMs
Daniel Thorp
Daniel Thorp•3y ago
Gotcha. The most we have is people asking technical questions and answering each other. Some of those that have already figured it out help out the newer devs. I've taught basic JavaScript to about half my contributors 🤣
corporat
corporat•3y ago
mhm well there you go maybe ask in old pull request comments. Sometimes I do that