You can repackage old FOSS source code into any of those containers and install and use it that way. Nothing is stopping you, the tools are free and widely documented. You don’t need to own the FOSS repository to repackage it, and actually a huge chunk of containers are packaged by people not affiliated with the development project of the software.
I think we will become better served over time by using systems like the AUR or nix as it seems quite straightforward to make new software available with them. Both of those systems define the method a package should be built with, so even if the maintainer is long gone and the package hasn’t been updated in a long time it will probably still be possible to build, or any changes needed to build it can be easily shared to save other people troubleshooting effort.
The drawbacks are: nix doesn’t seem to have an elegant way to define that users or groups should be created (e.g. at least one package providing locate requires that) (though it does have at least one non-elegant way and one manual but less non-elegant way), and a package usable with pacman has lacked a definition of what version of every dependency it requires in at least one case where it would have been useful to me (even though that is possible apparently), so if anything made a backwards-incompatible change you may not be able to use the package manager alone to troubleshoot.
I think we will become better served over time by using systems like the AUR or nix as it seems quite straightforward to make new software available with them. Both of those systems define the method a package should be built with, so even if the maintainer is long gone and the package hasn’t been updated in a long time it will probably still be possible to build, or any changes needed to build it can be easily shared to save other people troubleshooting effort.
The drawbacks are: nix doesn’t seem to have an elegant way to define that users or groups should be created (e.g. at least one package providing
locate
requires that) (though it does have at least one non-elegant way and one manual but less non-elegant way), and a package usable withpacman
has lacked a definition of what version of every dependency it requires in at least one case where it would have been useful to me (even though that is possible apparently), so if anything made a backwards-incompatible change you may not be able to use the package manager alone to troubleshoot.