Create a basic roadmap or project status page?


#1

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.


#2

I think this is a great idea! Issue gardening and triage is a very important job in a project! Now that you’ve pointed it out, I can also see several things that keep coming up in new issues, and people could benefit from such a status page. Thanks for taking the time to suggest it!

At FOSDEM, we’ve had a small informal meeting where I speculated a bit where restic is going mid-term, and what we can do once all the parts (e.g. the new archiver code) are in place.

I’ve experimented with the “projects” feature GitHub now has, see https://github.com/restic/restic/projects/3 Is that maybe something we could use? I found it not so great for TODO planning (or, should I say, I did different things than the ones I planned with it :wink: )

I think it would be best to have a status/roadmap that is independent of the actual code, be it GitHub issues or some file on the website.


#3

The project page is a great place to gather ideas and notes about future development. I like it!


#4

Btw, what about a sticky forum post that with some kind of FAQ in it?


#5

When I’m considering investing (as a user) on a project, I always look for a roadmap page. It’s a strong indication that the project is alive, and their creators plan to keep it that way for some time to come. It also shows that the creators are interested in keeping the users informed and that the users are interested in following what’s planned into the future. This interaction demonstrates a healthy status for a project.

So I would be very happy if restic was to get its own roadmap page and I promise I would check it for updates at least once a week!


#6

@764287 I’d like the forum to be non-essentials for using restic, so the roadmap should be on the website or in the docs, not in the forum. Besides, we have an FAQ, although not many users discover it (so we need to improve there as well): https://restic.readthedocs.io/en/latest/faq.html


#7

As a new user of restic I was looking for a roadmap for the project, which I didn’t find (obviously). I was also expecting to find that kind of information in the blog but found out that it was mostly a stream of releases.

I feel like roadmaps tend to help reducing the issue load by preventing some people from posting duplicates due to lack of information / not knowing that something is being worked on or is on ice due to technical prerequisites. It can also provide the “big picture” that links multiple issues together.

Might I also suggest posting an entry on the blog when the roadmap is (substantially) updated so that interested users can know about changes? Either mirror the information in the blog post or link to it with a small summary to avoid duplication.

I personally love it when a project has a well-maintained blog; having project updates come in with other news in an RSS reader is great for following a project without having to visit the site often. In general, I feel like a blog is a great place to discuss the evolution of a project; much of the same kind of information that you would find in a roadmap but in an easier-to-digest format.


#8

Thanks for all the feedback! In summary it seems that those commenting on it thinks it’s a good idea, so I will give it a go once I get some time for it.

In general my opinion is that we should try to keep things to the website, except when there’s a good reason to have it somewhere else (e.g. the forum and GitHub both have very specific functionality, and I guess also RTD even though it would be nice to have documentation be part of the main website in the long run).

I took a quick look and I probably didn’t give it enough of a chance, but personally I think it’s better to put the suggested material in/on the main site. It’s more coherent, more integrated, and we can format/design the information in a more controlled manner.

Good idea. I’m inclined to agree with @fd0 though, better to have it on the main website. As he said there’s already a FAQ, one I’d like to keep on the main site instead, but that’s a different discussion :slight_smile:

@fortinmike Great input, will try to keep the coordination between updates and notices about this in mind!


#9

IMHO, the advantage of the Github project page is the possibility to easily link to Github issues. Currently Github seems to be the first contact point for most people.

I guess it doesn’t really matter where exactly all of the information can be found as long as there are links to it from the other locations.


#10

FWIW this is being worked on.