FreeBSD 11.0-RC1 Now Available
lists.freebsd.org
lists.freebsd.org
Still lots of rough edges but it's pretty fun to watch and participate.
Out of the box ZFS boot is still more important to me than getting rid of my Radeon card, though.
Async sendfile, TCP/IP improvements, RSS are things that stand out for my workload. bhyve with UEFI and graphics is probably pretty neat to many folks. VNET (jails closer to Solaris zones with their own network stack) is also closer to correct.
There's a lot of groundwork that will make 11.1 exciting as a followup too (for new TCP stacks, memory management scalability)
We're running FreeBSD in AWS rather successfully. 11 seems to add a few things that are aimed directly at first-class support for building and running VMs and AMIs. Good to know continued support is being focused in this direction.
So, it's partly personal, as all things are. But it's mostly how easy it is to use, especially for someone that wouldn't describe themselves as a server admin of any special level of skill. There are a few core tenets of design in BSD/FreeBSD that are both beautiful and very easy to understand. So I can ignore the OS a lot of the time and just get to work on the app side.
Anyway, I really appreciate the simplicity of rc.conf and the well-curated config/boot infrastructure in general; pkg(ng) just works; ZFS is insanely cool; LLVM-as-system-compiler is nice... I sometimes wonder where we'd be if the BSD lawsuit hadn't held things back 20-ish years ago.
Linus said he wouldn't have written Linux if he had 386bsd at that time, which took longer. What that means is up for speculation, but Linux became wildly popular as a host for Apache and Samba before anything else. Similarly, if Oracle hadn't closed off Solaris, maybe FreeBSD wouldn't be the best compromise between hardware support and ZFS+DTrace availability.
PS: XFS is about to gain COW and data checksum support, probably generally available next year.
Do you have link for that? XFS supports metadata checksumming already and cp --reflink IIRC but I've never heard about data checksums and "real" COW e.g. snapshots?
BSD would be at the same place as today! People love to bring up the AT&T UNIX lawsuit like it did damage to BSDs popularity but never bring up the SCO Linux lawsuit which saw Linux grow and become more popular in spite of having a multi year lawsuit against it.
BSD is where it is in part because of the BSD license, and Linux is where its at because of the GPL.
As far as I know, there is no binary compatibility between the three of them, so sharing package repositories would be a no-go, but if you know the tools on one system, that knowledge is transferable to the others, for the most part.
If you want to use the same exact ports collection on each of them, NetBSD's pkgsrc is quite portable, and will work not only on the other BSDs, but on Linux, Mac OS X, Minix, Solaris, and a few others as well. I use pkgsrc to manage packages on my Mac Mini -- Joyent provides binaries for most things, and the other stuff is usually just a `bmake` away.
* pkgng has some stark differences to OpenBSD pkg, most notably the notion of Debian-like "post-install", "pre-remove", et al. scripts.
* The systems compress packages with different tools. OpenBSD pkg uses gzip. FreeBSD pkg uses xz.
* OpenBSD has a notion of "package flavours" that does not really have an analogue in pkgng.
* The introduction of pkgng was distinctly problematic. A lot radically changed in early versions, most critically the configuration file format. It used to be YAML. It's now UCL.
* The documentation is misleading to the point of being downright wrong. The FreeBSD wiki still insists (https://wiki.freebsd.org/pkgng#Metadata) that the configuraton file is YAML. The manual page for pkg-create gives examples such as "name pkg-name" and "file sha256-hash path", which is syntactically incorrect for either language and the wrong keyword to boot. Following the manual does not produce a working configuration file. Ironically, the wiki provides better information on this, even though it provides that information in the wrong configuration language.
* The documentation is misleading to the point of being downright wrong. The FreeBSD manual page for pkg-repository claims that repositories contain files named packagesite.txz, repo.txz, and filesite.txz. In fact, the pkg repo tool generates files named packagesite.txz, meta.txz, and digests.txz .
* OpenBSD pkg and FreeBSD pkg don't really have a common notion of "package repositories". The ways to organize pulling packages from remote storage locations are quite different, even down to the fundamental file fetching tools. FreeBSD has fetch. OpenBSD has ftp.
All that having been said: the idea that a unified packaging system necessitates a unified codebase is disproven by Ubuntu and Debian. (An example is OpenRC: present on Debian 8 at https://packages.debian.org/source/jessie/openrc, up to version 0.21 in what is to be Debian 9, and gone from Ubuntu 16 at http://packages.ubuntu.com/xenial/openrc) Conversely, one can have a unified codebase even with multiple packaging systems.
It should have read "The three of them some years ago used basically the same package system." and "they were functionally the same".
OpenBSD 5.9 still has the old packaging toolset.
There was another announcement about pkg itself, but I can't find it. I believe it's being rewritten/modified to fix the issue.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200846.
Userspace should never be able to crash the kernel!