Increasingly, I’m seeing people archive repositories to mark that a package / library / chef cookbook / whatever is no longer supported and won’t be updated.
That’s fair enough, but often these projects are still actively in use by other people for a fair while after the deprecation. During this period, there may be new issues that arise (e.g. due to changes in third-party / dependency libraries etc). Equally, end-users may find workarounds for previously reported issues.
Unfortunately because the repo is archived, there’s no way for the end-user community to share knowledge about these.
For example, I recently hit this fatal bug on the poise-python cookbook https://github.com/poise/poise-python/issues/146 which was reported before it was archived. The original submitter also created a PR with a patch which wasn’t merged. The structure of that project (a combined cookbook and rubygem) makes it quite complex to fork the project and use a modified version with the patch.
Knowing the bug would never be fixed in the package itself, I took another look at the problem and found a much simpler workaround that could be applied from the end-user code that calls it. It would be nice to be able to post that on the issue thread, to help other end-users that might hit the issue. As it stands, many would think it’s just fatally broken and needs immediate wholesale replacement. In fact with a one-line replacement to calling code it can limp on a little longer, and be replaced when the time suits rahter than as a drop-everything firefighting exercise.
Likewise if I had needed to fork and merge, it would have been nice to be able to post a link to a working version of the package.
Completely understand (and agree) that archiving a repo should lock the PRs. But I think it would be nice to give maintainers the option of archiving a repo but leaving issues (either just comments on existing ones, or even allowing new ones) active. This could of course by default disable notifications to the owners/maintainers to allow them to archive and then ignore the project.