My constraints: 1. Good (but enforced) software practices to cater to scientists, so things like requiring enforcement of merge request approvals from reviewers. This pushes me towards paid plans like GitHub Team or GitLab Premium/Ultimate.
2. Large sized containers and custom connections to supercomputers and beefy CI/CD machines (from within the intranet of my lab), which means I would prefer something self-hosted.
3. Ability to host open source code and get some open source contributions from one-off users who appear once in a year. This means I cannot get something like GitLab Premium or Ultimate which essentially closes out the development since every single user is billed even if they appear once in a year. Generally, such users can be restricted to only be allowed to create forks of repos and push to the fork and they can be prevented from ever changing the name of the forks, would have no push rights apart from those to the forks, and would only be able to open MRs from forks to upstream. No ability to be made developer or maintainer of any repository but allowed to open issues and comment on issues or merge approve merge requests.
I think this restriction is good enough to prevent code forges from assuming that the user is a full user.
I am surprised that there is no such platform which allows the trinity of self-hosted, good enforcement and friendly to open source. This seems like the most basic requirement for a good open source development. How are other people doing it? Are they writing their own bots all the time to work around these problems?
Am I missing something? Or is there no product in market which addresses this gap.