Why replace ostree with bootc? Doesn't ostree do it's job well?

Recently, with future versions of fedora atomic desktops, there have been plans to replace the current [rpm-]ostree system with bootc, and a modified dnf.

OStree supports container booting, and works well… rpm-ostree, while lacking at non-rpm installations, supports rpm natively very well… [most of them]… [not supporting arbitrary untracked files is good for immutability]

I see in many issues that bootc doesn’t support this, that, multiple kernels, etc… and “needs work”.

And I also have seen discussion on a github issue on installing packages on bootc, by modifying a containerfile somewhere in /etc, to have RUN dnf install -y $PACKAGES

I am also seeing how many features already in ostree need to be implemented in bootc, and how bootc is needed because ostree doesn’t support a trivially implementable change.

And the composefs, which seems very complicated just to prevent a read-write remount of the immutable /usr [Can’t SELinux do it? Will users actually go such great lengths just to break their system? ostree admin unlock provides a clean way to do that anyways… but oh! bootc]
And to prevent corruption and fsck runs… [is it really such a big problem? After all, ostree supports rollbacks in case of such an event]

All of the above is just my viewpoint, I might have missed or not known something…

So does someone know the motive for all this?

Some links:

Here bootc needs to have some features ostre already has…

Implementing features already in ostree in a “bootc-only world” without ostree…

bootc is limited so for now ostree, but eventually it will gain those features and replace ostree

Yes, so what is the issue?

What are the arguments? Where can I read them?

“Discussion” is in “Fedora Discussion”…
WHY is bootc better?

In my opinion, how you feel about this question will be aligned with your thoughts on using containers for building/shipping applications and/or an OS.

bootc was designed from the ground up to be fully container native; the premise is to leverage the existing container ecosystem to build and distribute operating systems. Currently, the backing filesystem transported in the filesystem is ostree based, but that could be changed in the future (and likely will).

If you are not sold on the idea of using container images as the build/delivery mechanism, you may not feel that bootc is better. You pointed out a number of features currently missing from bootc and as such, you have an argument that it is not a complete replacement.

Personally, I think there is a lot of value in adopting the container-native approach for building/distributing an OS in a container image. The breadth of the container ecosystem allows you to tap into the same solutions that you have used for building/distributing applications as container images, such as robust CI/CD pipelines, vulnerability scanning, container image signing, etc. Additionally, the language of building containers via Containerfiles is very well understood and provides an easy entrypoint for many people looking to experiment with building an OS in a container image. While ostree has had some great success, it did not produce the same broad ecosystem and resulted in many users inventing their own bespoke solutions that were not easily adopted by multiple users.

Finally, while ostree will remain well supported for quite some time, the focus and efforts of the core rpm-ostree team are shifting towards bootc. Continuing to invest in and advocate for a technology that will be replaced by bootc does not feel like a good position to be in.

I agree. Now I understand.
Thanks.