We are at a crossroad. Server "Unix" is going in different directions, some of which we are not equipped to support.

We do a complete, usable by default, "Heavyweight" Unix fairly well. However, there are lots of new models reaching critical mass. Eg: trivial, massively replicable containers.

We are also suffering from a very heavyweight build process. Yes, it is self contained and integrated, but damn.. we pay the price for it.

For phk's "be the best unix around" goal, we have done a reasonable job for a while. However, an increasing number of people don't want that any more.

How could we do it better?

The first clue is that we have a serious contender for a decent package system now.

The second clue is that over time, more and more functionality has been moving to build options or completely to ports. There is clearly an acceptance that a mega-unix isn't for everyone.

However, the "ports tree" has plenty of its own problems and isn't exactly suitable as-is for augmenting the base system. For starters, ports were designed for installing into a working system and packaging was added as an afterthought. We've been dancing around that issue for decades, and in spite of heroic efforts to improve packaging support, ports are still a wrapper around a 'configure; make all; make install' into a live system.

Solution? Burn it all to the ground!

At this point, the parts of base that are worth packaging are avalable for pkg to install. A new style 'buildworld' is a staged rebuild of core packages and an 'installworld' is pkg upgrade -f.

Once the basics are viable, the tough issues need to be dealt with:

This is definitely a disruptive long term project to complete.

If it is done right, the benefits will be apparent..

For example:

Flavors become build profiles. We define stable or long-term-support branches in terms of ABI lockdown and feature sets.

Since partitioning of the base system would have to be on the table, we wouldn't need to be locked into a single VCS. Since the parts would be smaller, they become well within the comfort zone of the many dvcs systems out there. When the parts become smaller, then that makes CI workflows simpler.

I am NOT talking about .....

Known problems..

Can we even do it?

I know we have the capability, but I'm not sure about the willpower. As a whole, we are a very change-averse group and many of us are here because we liked having an integrated system.

PeterWemm/FreeBSD-ng (last edited 2022-10-27T04:26:05+0000 by KubilayKocak)