Last week I found myself in the uncomfortable position of many users strongly disagreeing with a decision I had made about git-annex. It felt much like a pile-on of them vs me, strong language was being deployed, and it was starting to get mentioned in multiple places on the website, in ways I felt would lead to fear, uncertainty, and doubt when other users saw it.
It did not help that I had dental implant surgery recently, and was still more in recovery than I knew when I finally tackled looking at this long thread. So it hit hard.
I've been involved in software projects that have a sometimes adversarial relationship with their users. At times, Debian has been one. I don't know if it is today, but I remember being on #debian and #debian-devel, or debian-user@lists and debian-devel@lists, and seeing two almost entirely diverged communities who were interacting only begrudgingly and with friction.
I don't want that in any of my projects now. My perspective on the history of git-annex is that most of the best developments have come after I made a not great decision or a mistake and got user feedback, and we talked it over and found a way to improve things, leading to a better result than would have been possible without the original mistake, much how a broken bone heals stronger. So this felt wrong, wrong, wrong.
Part of the problem with this discussion was that, though I'd tried to explain the constraints that led to the design decision -- which I'd made well over three years ago -- not everyone was able to follow that or engage with it constructively. Largely, I think because git-annex has a lot more users now, with a wider set of viewpoints. (Which is generally why Debian has to split off user discussions of course.) The users are more fearful of change than earlier adopters tended to be, and have more to lose if git-annex stops meeting their use case. They're invested in it, and so defensive of how they want it to work.
It also doesn't help that, surgery aside, I lack time to keep up with every discussion about git-annex now, if I'm going to also develop it. Just looking at the website tends to eat an entire day with maybe a couple bug fixes and some support answers being the only productive result. So, I have stepped back from following the git-annex website at all, for now. (I'll eventually start looking at parts of it again I'm sure.)
I did find enough value in the thread that I was able to develop a fix that should meet everyone's needs, as I now understand them (released in version 7.20191024). I actually come away with entirely new use cases; I did not realize that some users would perhaps use git-annex for a single large file in a repository otherwise kept entirely in git. Or quite how many users mix storing files in git and git-annex, which I have always seen as somewhat of an exception aside from the odd dotfile.
So the open questions are: How do I keep up with discussion and support traffic now; can I find someone to provide lower-level support and filtering or something? (Good news is, some funding could probably be arranged.) How do I prevent the git-annex community fracturing along users/developer lines as it grows, given that I don't want to work within such a fractured community?
I've been working on git-annex for 9 years this week. Have I avoided burning out? Probably, but maybe too early to tell. I think that being able to ask these questions is a good thing. I'd appreciate hearing from anyone who has grappled with these issues in their own software communities.
I'm sorry you had to go through with this joey... It's really too bad! Working on those projects should be fun, and while there can be friction sometimes, it shouldn't completely take the fun away. :) I do encourage you to do things the way they are going to make you feel better, and disengaging from the conversation does seem like a good stopgap measure.
I think one of the problems is, as you identified, that everything is in the same bag: bug reports, documentation, todo lists, design discussion and the user forum are all in the same wiki. And ikiwik is great, but it's not the best forum tool out there. It lacks things like community moderation, for example...
Maybe it's time to revisit the forum system discussion again? I don't mean to bring you back to the site, but I suspect significant parts of the community would be quite happy to engage with user support, moderation and administration of a forum. It would take away a lot of traffic from the website and create a community for users that would feel like home. You could, of course, participate there, but it would keep the more technical discussions (bug reports and official feature requests) separate from the larger group of users.
Discourse does offer free hosting for free software projects, by the way. It might be something that could work for you. Or you could just squat an existing instance, although I'm not sure that there's an existing one that could match... Maybe https://pixls.us? There has been quite a few git-annex conversations over there and while I suspect I'm a minority in this, I do manage my photos with git-annex, so it's kind of on topic. :)
let me know if i can help any further! -- ?anarcat
Sorry Joey it went down like this. People focus on their own use case and don't always consider the larger picture. Which is how one ends up pushing half-baked fixes that break DRY. Your final design is certainly better.
In retrospect I see how my adding to an already one-sided discussion felt like 'piling on'. Sorry about that.
I think people's reaction stemmed not from "a decision about git-annex", but from a decision about git, which people still see as a distinct tool, even when used on repos with annexes. Pure-git workflows on such repos were affected. People are "fearful of change" to git, "invested in it, and so defensive of how they want it to work" -- but this may not yet be true for git-annex.
I'm an Ikiwiki user since way back and am finally about to deploy git-annex across my devices after too many data losses with syncthing.
I have always been inspired by your work and ethics. It's tough to find good role models so thank you.
git-annex seems really cool! I'm one of those users who has large repository of source files I want to track with "vanilla git" and one subdirectory of very large files I want to manage with git-annex. Pardon me if this is mention elsewhere, but how can I set up git annex v7 to only annex files I explicitly "git annex add" and otherwise leave "git add" unchanged?
Thanks for all of your hard work. Your many projects and experiments in off-grid living are an inspiration.