FreeBSD 11.1 released
freebsd.org
freebsd.org
So, you may or may not know that, but you need FreeBSD and OpenBSD and they also need you! Every cent counts and so does every contributor, that helps the foundations keep their non-profit status.
This really isn't how this should work. If one uses Netflix or some gaming hardware (for which one payed) one should not feel obligated in any way to give to FreeBSD. The Netflix or Nintendo might want to donate to ensure they have an even better system available in the future, but because of the BSD license, they aren't obligated either.
That aside, as a personal FreeBSD user, I have actually donated to the FreeBSD foundation every year for the last four or five years and plan to do it again this year.
Or looking at it cynically, I am paying for Netflix development who then also charge me for the privilege.
No free software license that I know of would obligate them to donate money to FreeBSD.
I know you didn’t say otherwise, but in license discussions a lot of people (particular GPL fans) suggest changing to a copyleft license would improve FreeBSD’s financial status, without anything to back it up.
While you're here what did they donate?
We also do other things, like sponsor conferences, and work behind the scenes, advocating for FreeBSD support from a wide variety of enterprise hardware vendors.
Not to mention Linux has a much better license for end-users in that it makes some effort to guarantee the code stays free, and that corporations can't close and modify the code and redistribute it for profit.
I feel like "advocating for FreeBSD" really does more harm to the open source ecosystem than good.
Do you have any idea what you're talking about?
BSD literally invented the networking stack that was copied (poorly) by Linux, and most other Unix variants including Darwin (macOS). It is strictly superior for networked applications. Read here for more info (https://news.ycombinator.com/item?id=8167126)
I've been doing kernel development for Linux since a while now, and I'm always amazed at how much time it takes me to understand a new subsystem I didn't use before, because everything is SO damn over engineered it's a farm fest for geek. Whereas when I hack OpenBSD or FreeBSD on my free time I feel like I can be productive making changes in an unknown subsystem in just a few days of reading code and playing with it.
Every part of BSD is from BSD. The kernel, network stack, init system, userland, sshd, etc are all made and released together. Ideas are driven by teams and committees and then implemented.
Every part of a functioning Linux system is from a different vendor. "Linux" makes the kernel and network stack, the init system comes from the FreeDesktop project, the userland comes from GNU, sshd comes from BSD. Things are driven in a variety of different ways, by different people, with different goals and thoughts on how Linux should look. Eventually it all gets glued together and we see what we've got.
Linux isn't an OS, it's a kernel. There are hundreds of distributions that package Linux and make an OS out of it. You don't think that all that duplication of effort is an even larger waste of time?
Who cares if FreeBSD isn't as relevant. Monocultures suck. There's lots to like and lots to dislike in Linux, and I'm happy that we have other working systems from which to draw lessons and inspiration.
I disagree very strongly with this statement. The best license for the end user is the one that enables the developer to thrive financially. If that license is open source it's a bonus for the end user. I also believe that the software is only truly free if you're contributing because you care, not because of a viral contractual clause.
Cynicism would say the former but I'd be delighted if I were wrong.
http://freebsdfoundation.blogspot.de/2014/11/freebsd-foundat...
https://www.freebsdfoundation.org/blog/foundation-announces-...
Of course, that is completely awesome!
Just looking at how syscalls are made proves that it is not a FreeBSD kernel (It's possible to dump a few nintendo switch binaries, like the webkit browser, through pegaswitch[0]).
"I assume that using version 11.1 is the way to go? No point in using the 10.x branch?"
... and that is everything that is wrong with FreeBSD - and has been for over ten years.
I wrote a long critique of this issue in 2012 that you can read in the mailing list archives:
https://lists.freebsd.org/pipermail/freebsd-hackers/2012-Jan...
... and although many of the core team had agreeable sentiments in the very long discussion that followed, nothing at all has changed.
The poster is correct - there is indeed no point in using the 10.x branch. What he doesn't know is that there has been no point in using the 10.x branch for over a year now[1] but since the 11 release was at "dot zero" you were ill-advised to use that as well. This means that for over a year there has been no good answer to the question "which version of FreeBSD should I use".
In summary:
FreeBSD is an operating system by, and for, FreeBSD developers. It is very difficult to invest time and money into FreeBSD because the platform is neither stable[2] nor long-term. Finally, FreeBSD, possibly unwittingly, loses a lot of end-user development and reinvestment since end users are never working on the same OS that the developers are.[3]
[1] As usual, all new drivers and non-critical bug-fixes go to 11, since that is what "is current" and nobody bothers backporting any of it to 10. This was true even before 11.0-RELEASE came out.
[2] I don't mean stable in terms of reliability - FreeBSD is rock solid and we trust all of rsync.net to it - I am speaking of the stability of the OS platform itself and what functions it is capable of.
[3] I'm not interested in your success stories running CURRENT in production. The official stance of the FreeBSD project is that CURRENT "includes works in progress, experimental changes, and transitional mechanisms". They go on: "FreeBSD-CURRENT is not in any way “officially supported".
Not true at all. The answer is:
1. If you have systems which are already running 10.x, you should run the latest 10.x release.
2. If you're deploying a new system now, you should deploy it with the latest 11.x release.
3. If you're building a product which you will be selling next year, you should build it on top of FreeBSD HEAD, so that it will be running a recent release when it ends up being deployed.
Old STABLE branches get updates and new releases because there are deployed systems which are using them. Think of 10.3 as "FreeBSD 10, service pack 3".
A long time ago I thought it was stupid not to upgrade to the latest and greatest. It turns out in business stability triumph over everything else. ( That is assuming you have a decent security measures put in place already )
@rsync, is there any other BSD out there that has a better model than FreeBSD? (E.g. netbsd, openbsd, dragonflybsd)
Unless your organization, after wasting a year and tens of thousands of dollars on 5.0, has implemented a SOP to never use the x.0 of FreeBSD.
I think that's a decent heuristic in general - for instance, I don't buy a car until they've been rolling off the line for 9-12 months - but in the case of FreeBSD it is a concrete rule based on experience - not a superstition.
So again, the cool kids all stopped working on 10.x[1] over a year ago, and 11.1 was not released.
In our case, 10.x was working fine for us and nothing was terribly broken driver-wise (unlike 8.x when we desperately needed intel NIC fixes circa 8.2 that all went to 9 and never got backported).[2] So we kept deploying 10.3.
[1] Driver fixes all go to 11, non-critical bugs all "committed to stable", etc.
[2] Well, except for some nice new bhyve features that all went to stable were not available to us for the last 12-18 months (and will never go to 10).
Frankly, if that's the lesson you learned from FreeBSD 5.0, I don't know that there's anything I can say to help you.
A more appropriate lesson to learn from FreeBSD 5.0 would have been "don't use releases which are cut from HEAD and announced as being for 'early adopters'". The FreeBSD 5.x stable branch started at FreeBSD 5.3.
Maybe we can't convince John to unlearn his wrong lessons, but I'd like to avoid having him teach those wrong lessons to everybody else.
> Unless your organization, after wasting a year and tens of thousands of dollars on 5.0, has implemented a SOP to never use the x.0 of FreeBSD.
The important thing to keep in mind is that these are two consequences of the state of the FreeBSD tree in the early 5.x days. There's no question the first couple of 5.x releases had a great number of stability and other issues, and I can certainly understand that experience leading to an approach of "never use a .0 release." But it is precisely because early 5.x was in such bad shape that 4.x continued to receive ongoing development for so long.
If FreeBSD were to accommodate this kind of SOP given their current resources, what could they do other than just call the first release x.1 instead of x.0?
I've been steadily upgrading FreeBSD since version 8.x.
It's also generally very conservative with its feature set, unstable and experimental features are generally very clearly labeled and are not marked as stable until actually stable.
You're a power user and you follow the development of FreeBSD extremely closely and you're frustrated that you have to wait 10 months for a feature to make it into a release. That's understandable. I on the other hand use FreeBSD as some kind of 'install and forget' OS. It's stable, it Just Works and I just need to remember to run freebsd-update from time to time.
>FreeBSD is an operating system by, and for, FreeBSD developers.
I see your point but I'll take that over what seems to be the mindset of most Linux distros these days, "let's dumb everything down and hide everything behind mountains of crappy abstractions to cater to the mythical 'average desktop user' who doesn't even use or care about our OS anyway".
FreeBSD has a very good documentation but it doesn't attempt to dumb things down and assumes a certain level of technical knowledge from its users. I think understanding the release cycle is part of that, all the information is out there, it's up to you to decide what's good for you. CURRENT, release, oldrelease, they all have their use case.
I don't think I'm an idiot, but sometimes FreeBSD makes me feel like one. (This is, of course, in contrast to OpenBSD where the software may not make me feel like an idiot, but the developers do.)
https://www.freebsd.org/security/advisories/FreeBSD-EN-15:05...
Edit: I realize my comments may sound a bit unfair. I don't want to come across as saying "they had a bug in their software, so they suck!" I realize stuff happens, and these are complex things. But I'm bothered by the fact that it has happened often enough that I'm actually nervous to upgrade my FreeBSD system, even though I have been using the OS for 20 years and did time as a professional sysadmin. I guess the flip side is that once it's working, FreeBSD is so stable and drama-free that my incentives for upgrading are very low unless there's a critical security issue.
At my current employer, and the previous, we used FreeBSD for its base OS, and then most of the services we ran were our own proprietary code, built with in-house patches on top of an open source language. We didn't and don't tend to upgrade the OS unless a release (or a patch) fixes a specific issue we're seeing, or is a security issue in things we actually use, but new hardware tends to get the latest OS (we're currently installing 10.3, but may consider 11.1 now that it's out; we do have a couple machines running 11.0 because they need the per disk io threads and fixes to directio that i think were in 11 as well). When we run into problems, we'll look to see if it has been fixed in upstream, and see if we can apply that to the whatever release we're currently using. If not, we try to fix it ourselves, and then offer the fix back; but we're happy to run with our version of the fix until it makes it upstream.
We've had pretty good luck with upgrades not causing major issues, but we did have some trouble with mrsas drivers for a while, and the VM change in 10.x where pages are marked inactive and can get swapped out without memory pressure caused us a lot of trouble until we figured it out.
The benefit of the lengthy release process is that the releases are pretty solid, and once a system is setup, we don't have to touch it. Also, because FreeBSD doesn't change for the sake of it, we don't usually have to worry about some systems being on 9.x, some on 10.x, and some on 11.x; we just are sure to build software either on the hosts themselves, or on an older system, so it'll run on all systems.
Edit to add: The most frustrating thing for me are the many Bugzilla entries for issues that I'm having, with patches, that are sitting there for years. For example this one https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=25986 which was open for 14 years before it became CVE-2015-5358
That one is a particularly disappointing and egregious example, but highlights the problem we have with stale PRs and patches. There are a number of folks in the FreeBSD community working on triaging old (and new) PRs, but it's slow going and a mostly thankless task.
If you have other cases of issues that have existing PRs and/or patches please feel free to let me know (email in profile) and I'll try to find out why it's stalled and if someone can help out.
You don't get to use the "unpaid volunteers" excuse when a good portion of FreeBSD's site is dedicated to explaining why GPL and copyleft is anti-corporate and big business should be/is afraid of it, and how BSD is more business friendly.
Red Hat is a business. FreeBSD is a volunteer/community project.
FreeBSD is a volunteer/community project that offers more business-friendly licensing than gNewSense, which is also a volunteer/community project. It is not, however, a business like Red Hat.
Red Hat development gets all that funding because Red Hat is a business. FreeBSD relies more on volunteer time because it is not a business.
Fedora is a "community" project of Red Hat. FreeBSD is a community project of, well, a community. Red Hat funds Fedora (astroturf project) as its testing ground for RHEL (commercial project), while FreeBSD is just a community project.
What part of this do you not understand?
And having used FreeBSD for nearly 18 years now, there have certainly been hiccups, but for the uses I have had 9 and 10 were perfectly usable.
It is very appropriate that you remember the 4.x days like that since that is the last time there was a long term, stable target for FreeBSD development (and investment). Remember, the 4 branch went to 4.11.
It is 4.x that I identified in my original mailing list post (2012) as the time, after which, I thought FreeBSD began having problems with focus and longevity.
For the record, I think we all agree that this kind of panic is not FreeBSD's fault. Linux support for this kind of driver is more stable and advanced, but, even though I use FreeBSD both for production and personal use, its "expected" case is production server.
It's an update of the graphics stack to match modern Linux. Apparently amdgpu leaks memory, but radeonkms might work fine.
There's something inside wait6 and kevent that causes a thread to sleep whilst holding a non-sleepable lock. I hit it more than most I suspect because on my systems a lot of processes are blocked in kqread, whereas with the stock toolset one sees few processes using kevent.
I brought the subject up last year on freebsd-hackers, but nothing came of it.
That was definitely a low point for the Project.
Edit: Ha! It looks like we have this conversation every time there's a new release: https://news.ycombinator.com/item?id=12368914
While I don't want to dismiss you... The number of extremely profitable companies that built their products on top of freebsd tells me you're completely off base with your opinion.
Just off the top of my head: netapp ONTAP, emc isilon onefs, juniper Junos, Sony PlayStation, ixsystems, pfsense, Netflix, Intel, etc.
That means, you probably just can't cut releases on a schedule and call it a day, you also have to decide which commits should be added to your inbetween releases, and which should wait. Sometimes, that's probably pretty easy, but other times, I would expect a lot of things to be mixed together, especially when code refactoring is needed to enable new features, the refactoring may (hopefully) fix existing bugs, but the new features are likely to be unstable for some time, and shouldn't really get into a release until they're done.
Managing that without upstream cooperation sounds like a nightmare, or at least like something that needs a team of smart people.
I have no idea why they didn't include NAT-T by default in 11.0. I'd hazard a guess that most VPN connections involve at least one end being behind NAT.
Many thanks to all the FreeBSD crew for all their hard work.
I assume that using version 11.1 is the way to go? No point in using the 10.x branch?
Even if you're well versed on these topics, I'd still suggest trying it out on a VM, or at least reading through their guides. Seeing the approach taken by someone else might help you refine your own setup.
Unfortunately, the last few months haven't been great for FreeNAS. They had a horribly botched release. It was killed off fairly quickly, but a few people got burned over it. The good news is that they changed their mind on their expected breaking changes. Initially they intended to kill off jails in favor of docker, which made it a painful upgrade process for some existing users. From an outsider's perspective, it looked rush. Even though I'm happy with my setup, it made me a little more weary about quickly adopting major upstream changes.
Go with FreeNAS 11.
I would build the NAS using plain old FreeBSD and I would indeed use 11.1.
If it were a week ago, I would have advised 10.3 as, historically, x.0 releases of FreeBSD have been ill-advised.
If you are comfortable on the command line I see no reason to use FreeNAS/TrueNAS.
This is how I run my home fileserver. It is also how I/we run all of rsync.net - ZFS filesystems on top of plain old FreeBSD.
I don't believe I'm in such a unique position of having run both FreeNAS and FreeBSD on the same hardware (with the same zpool) so I expect others to chime in.
FreeNAS has been better from a performance perspective than FreeBSD raw was- why? Probably because I didn't do the right thing for good performance on FreeBSD. But that's my point here.. why spend ages configuring things to get the same performance you'd get OOTB with FreeNAS? You also get a webUI for "free" and plugins to run things like transmission and plex.
I don't advise using raw FreeBSD for home use, power users can still have all the CLI access on FreeNAS too, but may not want the "bloat" of a webUI.
If you go with plain FreeBSD, yes...go with 11.1. No point using the 10.x branch unless you have some specific reason to (eg. some specific legacy support requirements or something).
I use Arch Linux on my desktop but I would switch to FreeBSD in a heartbeat if it addressed the desktop-related issues I had last time I tried it. It would be especially amazing if they fixed all the sleep and power management stuff so it could be used on a laptop with good battery life.
If you're using FreeBSD on your main computer, you need some kind of a Desktop Environment, if you don't want to stick with KDE4, you install GNOME. However, GNOME is ported from Linux and although most of the time it works without problems, there is a speed compromise (again only based on my experience).
Upsides of FreeBSD:
• The Package Repository is great, most apps such as firefox, emacs, IDE's are maintained at their latest versions.
• The system works solid, no crashes
• FreeBSD feels more like Unix, and if you're interested in the low level stuff you can learn more quickly. The source code is clean, the implementations are not complicated.
• Drivers are scarcer than Linux, but if there is a driver, it works flawlessly.
The points I'm neutral about:
• Behyve and ZFS are all great technologies, however they were a bit complex for my test. I couldn't manage to setup a Linux server with X11 forwarding. As for ZFS, I used FreeBSD on my laptop with a 256G SSD drive, so I did not see much benefit of ZFS. However, I was aware that if I had used VMs, ZFS would offer much better IO performance.
As for sleep and power management issues:
• Power management on FreeBSD is good, not great like Linux and you don't have powertop and tlp available. But it's good. You can expect upto 70-80% of the battery life you get in Linux. (You don't even have to tinker with C-States and all, just powerd or powerdxx works great out of the box.)
As for sleep issues, mostly on FreeBSD the closing the lid or pressing the power button won't be recognized as a sleep trigger. But on most laptops 'acpiconf -s3' puts your laptop to sleep.
Closing the lid is a non-issue, see sysctl hw.acpi.lid_switch_state.
A more serious problem is that some Thinkpads just don't wake up https://github.com/FreeBSDDesktop/freebsd-base-graphics/issu... :(
This was already mentioned here but what's up with people thinking that ZFS is only for large storage arrays? You don't need anything more than a small SSD to get the benefits of snapshots, compression, and general ZFS reliability (copy on write — no data corruption ever, except for like hardware bugs). Boot Environments is an especially great snapshot-based feature.
Also how is bhyve complex? It's the simplest hypervisor ever.
Bhyve seemed complex to me, because I was accustomed to Virtualbox and VMware. I tried to boot up ubuntu server with behyve and finding the kernel images, loading them, typing the boot commands were a hassle. Maybe if I had some prior experience with hypervisors, I could better understand behyve.
As for ZFS, I always had extra space in my SSD, so compression was of little use to me. My FreeBSD system only used 30-40 GB of space (including downloads). I had 8 Gigabytes of RAM, but FreeBSD only needed 1.4 GB, even whilst browsing.
I haven't used the snapshot feature, although I imagine it's powerful. I also haven't made use of FreeBSD jails, which are, according to what I read, far better than chroot.
the bhyve command shipping with FreeBSD is a bit lower level, sure. There are more user-friendly front-ends like https://github.com/pr1ntf/iohyve and http://chyves.org
Some might say "most primitive ever".
You might want to look into these and other benefits I think it's worth it even on single disk setups.
Plus, you can always switch between plain and FreeNAS installation.
They are both great options and FreeNAS already gives you a lot of flexibility.
It's a bit like with a router. Do you use something along the lines OpenWRT and mainly log in to the command line, not because you have to, but because you can then you might want to go with FreeBSD and ZFS.
However, if you don't know if it is flexible enough and fits: Go with FreeNAS and fall back to FreeBSD. I think that's the best option for most people.
I would recommend HardenedBSD 12-CURRENT but maybe that's just me :D
>HardenedBSD is one of the bigger jokes in the BSD community. [...]
ZFS on FreeBSD has been flawless for me. ZFS on Ubuntu is functional but limited, and I've experienced some odd glitches.
A few months back, I booted my Ubuntu 16.10 workstation. No ZFS datasets were mounted at boot. Regular "zfs mount" and "mount" failed. Could not get the datasets to mount at all, even though the pool was active and the datasets were visible. Solution: changing the mountpoint worked for some reason. Still no idea what triggered this or why the fix worked. Either way, it broke the system's normal functioning through no intervention of my own.
I've also had the zfs and zpool commands get stuck in "D" state indefinitely because something internal had blocked everything. Mounted filesystems continued to work, but no admin commands would work. Triggered by running some trivial admin function. After a few days I had to hard reset the system to regain control. This looks like a locking bug.
I've also had poor behaviour when a disc glitched and I got an oops rather than ZFS coping with the short outage. IIRC I got the same "D" state issue as above.
I never encountered any such problems with FreeBSD, and I've run it on both platforms for years. ZFS on Linux is functional, and I use it daily, but the FreeBSD implementation is better.
I think its worth noting that 16.04 is is 16 months out of date on zfs releases and even 16.10 is 10 months out of date.
In a version of software in development the most current stable release potentially has a lot of bug fixes that ubuntu users are missing out on.
1) There is a clear separation between the base system and the extra software. On a typical Linux distribution, everything gets installed into /usr, /etc, /var, etc. On FreeBSD things that aren't part of the base system go into /usr/local.
2) The base system is designed as a whole cohesive system. The kernel and userland are kept in sync through the update process.
3) The documentation is fantastic.
It would be unfair to Linux if I didn't mention some downsides though:
1) Upgrades are more painful than Linux, and more painful than they need to be. On my OpenSUSE boxes, an upgrade is literally "sudo zypper dup; shutdown -r now". On FreeBSD, the same task requires multiple reboots[0]. Then you need to update any extra software as a separate step.
If you have a custom kernel (because you needed IPSEC and/or NAT-T), it's even more painful.
2) The base system is fairly sparse. You want to use bash? That's an extra package. Want sudo instead of su? That's an extra package. Don't get me wrong, the base system is very usable, but it does lack a lot of things that Linux users take for granted.
[0] https://www.freebsd.org/doc/handbook/updating-upgrading-free...
On TrueOS out of the box everything is ZFS, even the root volume, and that has been the case for a while, now. The operating system is in a single ZFS dataset (with things like /usr/ports, /usr/jails, /var/mail, /var/log, /usr/obj, and /usr/home split off into their own datasets). This is used to provide "boot environments".
System upgrade goes like this: The upgrade script makes a clone of the current operating system dataset, mounts it, and runs freebsd-upgrade on it chrooted at the mount point. This results in a new boot environment with the upgraded operating system ready to be rebooted into. ZFS copy-on-write means that an upgrade does not consume twice the disc space; and the separate dataset means that one retains an untouched current boot environment throughout the process.
To me, it seems kinda novel but I can't see myself ever using it across my production servers.
# kldload cpuctl # powermon
Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz
(Arch: Sandy Bridge, Limit: 44W)
4.98W [=======> ]
Package: Uncore: x86 Cores: GPU:
Current: 4.98W Current: 3.34W Current: 1.44W Current: 0.21W
Total: 14.37J Total: 9.79J Total: 3.62J Total: 0.96J
Also for power management, powerdxx (from Ports) is better then powerd:/etc/rc.conf powerdxx_enable=YES powerdxx_flags="-n hiadaptive -a hiadaptive -b hiadaptive -m 1600 -M 3000"