4 ms·
> BSD-based distributions have the advantage of being able to rebuild everything from scratch, so they do not need to maintain user-space ABI compatibility in t
by mrkgnao 10y ago
> BSD-based distributions have the advantage of being able to rebuild everything from scratch, so they do not need to maintain user-space ABI compatibility in the same way.
I don't understand, not knowing much about BSD. Is this an LTS/support thing?
Can someone explain?
- cbr 10y agoGenerally people build BSD packages from source instead of installing binaries. (I think; I've not used BSD.)
- protomyth 10y agoThe only time I build from source (ports) on FreeBSD is because the package maintainer picked "crappy"[1] options. On OpenBSD, I can generally find the flavor of port that has the options I want. If I cannot I resort to ports. 1) for my definition of crappy, not compiling PostgreSQL support is the most common for me
- clarry 10y agoOpenBSD user since 2009. I have never compiled a package from source. But they can break the ABI because they do not want to maintain compatibility with old proprietary binaries. It's a source world, in the sense that any software can and will be recompiled if and when needed. That doesn't mean every user has to compile their own system.
- madphrodite 10y agoI've used both, most bsd users have. Prefer packages but ports is useful for custom builds and desktop systems.
- gbrown_ 10y agoBSD's don't tend to have distros. So for example OpenBSD has a ports tree maintained by the ports team for OpenBSD. The operating system is free to break ABI's from release to release as the ports tree is audited, fixed, and recompiled for the new release. The Linux kernel can't freely do this as then the ABI break is placed on various distro maintainers and software authors because there is no clear point in time they can say ABI $FOO will break on date $BAR.
- phpnode 10y agoBSDs typically have all their userspace tools in the same tree as the kernel, it's easier for them to make these breaking changes than it is for linux where the kernel live in one place and the rest of the code is scattered far and wide