Could you tell us exactly which part of Docker you think is "quite closed"? Docker (Moby) is licensed under Apache 2.0, and so is containerd, the default runtime.
The tight coupling to systemd which refuses to standardise any "internal" interfaces and insists on taking over the entirety of one's system. You can't run Docker if you're not running systemd, you can't run systemd if you're not running udevd and logd and so on, you can't run those if you're not running not just Linux but essentially only the "current" version of Linux, and if you ever implement a compatible replacement for one of those pieces they'll break compatibility with it in the next minor release.
If Docker were an open system it would already be running natively (not that ridiculous docker-in-a-vm thing) on Solaris, FreeBSD (which have offered similar functionality for decades), and probably MacOS by now. Instead their maintainers are actively hostile to portability patches as a matter of policy.
None of what you said is true. Docker does not depend on systemd (there is only one piece of systemd-specific code in the entire project and it's inside runc -- that piece of code is not used by default and also has a non-systemd implementation that is more stable than the systemd one).
I have historically had many problems with Docker and how the project is governed. I'm also no fan of systemd. But there's no point in literally spreading lies.
So fork it? What you outline doesn't mean it's a closed system, it means they have different goals than you and don't want to support your use case. The fact that it's open and you can submit contributions, even if they aren't accepted, is proof that it's not a closed system. Make your own fork and use that. And if that's too much work, why would you expect someone else to do it for you for free?
> The fact that it's open and you can submit contributions, even if they aren't accepted, is proof that it's not a closed system. Make your own fork and use that.
Open alternatives already exist, I use them. But people build other systems that integrate only with docker, and since docker deliberately refuses to follow any fixed standard, other systems can't be compatible with the docker ecosystem. Am I supposed to fork every codebase in the world?
I have a Gentoo system without systemd (I despise the thing for reasons I don't want to get into right now), and I also have Docker running right now.
Worst trouble I had with it was compiling the necessary modules into the kernel when I installed it. The rest was relatively painless (as painless as administering a Gentoo system can be, anyway).
I think instead of them not being open you mean to communicate that they are assholes who don't work with others? If you are going to be critical be accurate too.