September 4th, 2024

It's not Rust, it's FreeBSD (and LLVM)

Poul-Henning Kamp discusses FreeBSD's evolution, advocating for a shift in identity to include ports and modern package management, while proposing a new distribution format to streamline installations.

Read original articleLink Icon
It's not Rust, it's FreeBSD (and LLVM)

Poul-Henning Kamp discusses the evolution of FreeBSD, emphasizing its origins as a response to the shortcomings of the UNIX industry in the 1990s. He highlights FreeBSD's commitment to providing a complete UNIX system with full source code, contrasting it with the practices of the time, such as charging extra for the C-compiler. Kamp notes that while FreeBSD has maintained a strong focus on its source code, the landscape has changed, necessitating a reevaluation of what defines FreeBSD today. He argues that the project should shift its identity from being solely about source code to recognizing the importance of ports, which include various applications and tools, including those written in Rust. Kamp suggests that LLVM, which currently occupies a significant portion of FreeBSD's compile time, should be separated from the source tree, as it does not align with the core identity of FreeBSD. He proposes a new distribution format that includes essential components while allowing for a more modern approach to package management and system installation. This change aims to streamline the build process and adapt to contemporary needs while acknowledging the historical context of FreeBSD's development.

- FreeBSD was created in response to the UNIX industry's shortcomings in the 1990s.

- The project has historically focused on providing a complete UNIX system with full source code.

- There is a need to redefine FreeBSD's identity to include its ports and modern package management.

- LLVM's integration into FreeBSD's source tree is seen as outdated and should be reconsidered.

- A new distribution format is proposed to enhance system installation and upgrade processes.

Link Icon 5 comments
By @klez - 8 months
I'm not sure I understood what this was all about. I guess I'm missing some context. Can someone please help me understand?
By @irdc - 8 months
Putting all of a BSD in separate packages is going to make evolving the various parts together more difficult. See for instance the ease with which OpenBSD does ABI changes (I know FreeBSD doesn’t do that, just an illustration).
By @vermaden - 8 months
Why have LLVM in FreeBSD Base System if I have to add additional LLVM by Ports or package?

    % pkg info|grep Clang 
    llvm15-15.0.7_10               LLVM and Clang
IMHO both Rust and LLVM should be OUT of Base System.
By @Y_Y - 8 months
I wonder if they could use tcc or similar and get a reasonable system. Hopefully someone familiar with BSD can expand on the quest for a suitably licensed compiler.