So, at this point in time restic has gained quite a lot of attention, and more and more people are using it. With this wonderful development, there’s also an increase in issues, questions and other feedback. These various types of feedback needs to be answered, addressed and much of it is issues needing to be looked into and debugged. Naturally, it’s hard for @fd0 to keep up with this, even if he’s not entirely alone.
As we’re still working on implementing the cloning-of-@fd0 feature, the issues pile over at GitHub is growing, there’s no denying that. The IRC channel (#restic at irc.freenode.net) is great for newcomers to get active help from the restic community, but I think it can’t help very much with controlling the number of issues on GitHub.
I feel that lately, more and more of the issues and questions being asked are about a number of common/central things, e.g. compression, shaky S3, shaky B2, config file, resumable restores, asymmetric keys, etc. There’s more, but the bottom line is that as the number of issues and questions increase, we start to see patterns in what they’re about.
I also have a feeling that a lot of people finding restic and bumping into some of these issues might start to feel that the project is stalling. Some do it simply because they think the number of open issues on GitHub is high. Some feel that more than a day or two for issues to get attention/comments indicate a stalled project. Some think that commonly requested features that haven’t been implemented in a long time is a bad sign.
To mitigate this to some extent, I’m thinking that some form of roadmap or “what we’re currently focusing on” page could be useful, on the website. If should be pretty easy to find, and the purpose of it would be to inform visitors about where efforts are currently focused and in what areas work is being done. Important/often requested features could be mentioned specifically.
For example, it could say that currently, the archiver (a key part of restic) is being reworked, which will result in a much more flexible core, which will enable us to more easily attend other feature requests. This would hopefully give most people a better understanding of what’s going on, and why a lot of the issues are somewhat lingering/on ice (e.g. compression, as it’s waiting for the archiver to be done). It could also state what we intend to focus on after that (e.g. archiver -> compression -> repo format v2 -> …). I guess this is the roadmap part of my suggestion.
Beyond that, this page could also serve as a central place to briefly summarize/comment on central/commonly requested features or issues. Not in terms of stating what we aim to do with them in the end, but on a more general note just addressing them, so that people get a feeling that we are aware of this and that, and do have it in mind. It’s probably way more effective than them finding it through an issue where they get the feeling that it’s just stalled. So more of an overview, is what I’m thinking. For example, it could mention asymmetric encryption being on the roadmap but not highly prioritized right now, the general state of connectivity/performance issues with S3/B2, and perhaps also the state of prune performance (e.g. we’re currently researching a more aggressive prune, to alleviate the problem of full disks where the repo resides).
Key issues and discussions relating to the points listed in this information page could be linked to, for reference and further insight/commenting.
The page could go in the README at GitHub, but I think it might be better to have it on the website. This also has the effect of making the website more alive (assuming we keep the info page up to date, of course).
What do you think? Would people benefit from such information? Would it be good in that they don’t file redundant issues? Would it be bad in that they feel less inclined to add their take or experiences with certain issues (information that might be valuable to us in debugging or getting to grips with a problem)? Overall, I think both the project and the visitors could benefit from it.
I would volunteer to try and maintain it as well as I can (would have to touch base with @fd0 every now and then to make sure it’s up to date), but only assuming it’s something we agree is really useful, it’s somewhat pointless to do it if it’s just me and someone else thinking it’s a good idea and the rest of the community don’t care.
Please keep in mind that it’s not meant to be a super detailed page, just a lightweight and general overview. A bit of roadmap and a bit of status, on current matters and neither of them set in stone.