As for Github being proprietary, I don't get the issue. My supermarket is not open source. Should I ban it? To me, they are offering free services to support open source. Services that cost money. It costs money to store the data, to serve the data, to run the servers. It costs money to process github actions, to fight spam. to moderate disputes, etc...
Where is the lock in? Every piece of data related to your projects are available for you to access. Issues, Wikis, etc..
Even github actions, the runner is here and open source
https://github.com/actions/runner
There's no lock in. There's a company offering a free service to open source developers and hoping that you'll pay for anything not open source.
I don't see the issue any more than the fact that my grocery store is not some kind of collective.
GHA also supports bringing your own self-hosted runners [1][2] where you install their agent, so you could, e.g., use an ARM instance on AWS with tons of cores. It looks like CircleCI offers this as well.
[1]: https://docs.github.com/en/actions/hosting-your-own-runners/...
And yet it is still half baked. We prepared for this with internally shared docs and the branch built in private for a while, but still had to roll back yesterday because the scheduler reverted to putting jobs wherever it pleased (including on ephemeral runners that already have a job) and randomly cancels large sets of jobs too.
I have been of the opinion that investing into GH Actions at this stage is purely sunken cost (at my org), and I'm not moving until the team behind this thing ships something that doesn't break half the time. These have been seriously frustrating months, because no amount of working around this messy code[1] made of 5 layers of MS style .NET (seriously, deleting a directory goes 5 layers deep in the call stack) will ever produce a stable product. They don't even know their own code base that well, when they first attempted ephemeral runners with `--once` it turned out the thing they produced could never work (because the server-side scheduler loves pipelining jobs to machines and failing miserably when these disappear, job times out after 20 minute of waiting type)