FreeBSD 8.2 Released
meta coder writes with word of the release of FreeBSD 8.2: "This is the third release from the 8-STABLE branch which improves on the functionality of FreeBSD 8.1 and introduces some new features. Some of the highlights includes improvements in Xen support and various bugfixes."
Version 15 of ZFS seems to have a better support for quotas and other accounting stuff: http://hub.opensolaris.org/bin/view/Community+Group+zfs/15
But I just installed 8.1.
Sigh.
Kriston
Even if FreeBSD just manages to keep up with Linux I for one am glad its around. Remember Open Source is about choice. BSDs provide one more. One that is far better than Hurd, Haiku etc. at the moment.
Linux servers get taken down all the time, FreeBSD not so much. I'm sure some of this is due to security by obscurity but I really don't care.
Freenas kicks the crap out of the linux-based openfiler, pfsense is a heck of a distro, etc etc.
BSD is still relevant as Im concerned.
Where does Linux fail where BSD succeeds?
For some people it's the licensing (BSD vs GPL). For others it is the coherence of the system (how many places hide an IP address in Red Hat?). For others, it is a question of style (BSD vs AT&T type Unix). For some, its functionality (I always liked the way the BSD _______ command worked). From some, it's the simple Joy of BSD, or the McKusick - take your pick. For some, it could be the approach taken to a particular problem taken by one of the BSDs, such as the continuous OpenBSD code audits. For some it might be a particular platform maintained as part of the main distribution. For some, it may be the continuing BSD innovations. For some it might be the counter-culture aspect BSD in the Linux world. Plenty more reasons that people could have, including: Linux - 5 letters, BSD - 3 letters. Do the math.
You could say that the only truly popular Unix desktop is Apple's Macintosh running OS X.
Mac OS X: What is BSD?
What's The Greatest Software Ever Written?
OpenBSD FreeBSD NetBSD PC BSD
FreeBSD Mall BSD Magazine
To each his own.
much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
I'll bite. The main reasons I consider using FreeBSD nowadays are:
1) Reasonable filesystem support. ext3 and ext4 are just terrible filesystem for 24x7 production systems. The potential for long fsck times alone is enough to remove them from a lot of serious applications. XFS does better, but with its lack of popularity the user base is a little scary. Meanwhile, FreeBSD has ZFS, which is just a better filesystem that almost any other choice. And it also has UFS2, which avoids the whole "let's keep the server down while we do a long filesystem check sometimes" problem Linux suffers with by doing background fsck.
2) The new FreeBSD 8.2 includes userland DTrace support, which has been the missing piece that has kept earlier verisons from replacing Solaris for me on a lot of systems. systemtap on Linux just completely misses the point from a complexity and "scary" perspective. It just doesn't have that feel that you're not going to hurt the running process by using it that DTrace has always managed.
Well if you're going to put it this way, it's probably better to ask why OpenOffice isn't a good enough alternative to MS Office and why Linux gaming is so lackluster.
The answer is money. Oh, business customers pay well to have their servers supported so the kernel, network stack, server software, databases etc. is in tip top shape. But the desktop? Very little. Of course open source isn't all about the money, but there's the stuff everyone want to do and there's the drab stuff no one really wants to do. Microsoft and Apple pays people to do a *lot* of boring shit, so do the application developers out there. Ubuntu and friends not so much, least not on the desktop side.
Small money adds up, Angry Birds have now grossed $50m on $1 sales. But most people in the open source community would be violently opposed to a "if you like it, pay a buck" attitude. The software is free/Free/gratis, you pay for service & support. Except I've never wanted nor needed any kind of service or support for Angry Birds and if I did I'd probably declare the game broken and move on. I'm not saying you would be a multimillionaire out of it, but it would help if developers could make a living writing desktop apps. Or at least pizza and beer money. But neither the system nor the attitude is in place.
Live today, because you never know what tomorrow brings
Where does Linux fail where BSD succeeds?
Sound. I switched to FreeBSD 4.x almost a decade ago, when Linux had two sound stacks. OSS didn't support sound mixing, ALSA did, but needed apps rewriting for it. So you needed a userspace sound daemon if you wanted more than one app to play audio at once. Some of my apps used the GNOME one, some the KDE one, and some just opened /dev/dsp. With FreeBSD 4, you could set up multiple /dev/dsp.x devices, and set each sound daemon or app to write to a different one. With FreeBSD 5 (2003), each device that opened /dev/dsp got a new audio channel. Multiple apps all playing audio just worked.
With FreeBSD 8, the sound system added full OSS 4 compatibility, and a few things that the 4Front OSS implementation lacks. It also added a new sound mixing algorithm, which has even better performance. Oh, and per-channel (i.e. per app) volume control. From a developer perspective, audio is simple: open /dev/dsp and write audio data, with a few ioctl()s to tweak parameters. No libraries to link, no complex APIs, it's simple to use. From a user perspective, there's no messing around with sound daemons, no dependencies, stuff just works. Every time I hear a Linux user complaining about PortAudio, I wonder why they're still bothering with Linux.
What else? Jails are useful - lightweight VMs that cost about as much as a chroot. The ez-jail port uses union mounts to allow you to create new jails in a few seconds, with about 5MB of disk space each. It also integrates with ZFS, so you can use ZFS cloned volumes instead.
From a developer perspective, BSD libc is a lot less painful to work with than glibc. The system actually comes with documentation - compare GNU/Linux man pages with their FreeBSD equivalents some time. There's also the fact that FreeBSD doesn't change user-visible interfaces without a good reason. If you learned how to use FreeBSD 2.x, most of that knowledge is still valid. New stuff gets added, but the older stuff still doesn't get changed randomly. You may get new implementations of features, but they're exposed using the same set of commands or the same APIs.
Not sure about performance these days. Last benchmarks I saw showed FreeBSD outperforming Linux. Not sure if this is still the case. I did some tests recently for a course that I'm teaching, with large numbers of threads and found that Linux seems to have much lower defaults for the maximum number of threads - not sure what the FreeBSD limit was: Linux was running out of threads but with 64 times more, FreeBSD was still going.
I am TheRaven on Soylent News
Now how sad is it that FreeBSD 8.2 has KDE 4.5.5 before Debian Sid? Great news for FreeBSD but truly pathetic for Debian, who keeps punting on any exact dates for KDE 4.6 builds, let alone 4.5.5.
I use Eclipse 3.6 on FreeBSD without issues. Installing Java (openjdk) from ports was trivial.
What the user wants is probably one system where everything works.
I agree with you. It's very important I can fix anything that breaks. That's the only way you can achieve a system that works. If the component doesn't come with source code, my efforts to address brokenness are stymied.
Glad we've all agreed to jettison binary blobs in favour of a platform where everything works. How nice to live in a world where you never reach a fork in the road, such as a stable 2D video card with source code vs a faster 3D video card with no source code. When confronted with a fork in the road, all travellers choose the same path: whichever works. Now I have no insight into the one true user, so I'm rarely able to guess which of these paths is the one that works for everyone. I have to pull up my horse and wait for someone such as yourself to come along and explain which path is which.
It's the same spectrum with relationships. Many users define a good marriage as mind-blowing sex on the honeymoon. Others are in for the long haul, and put a higher priority on constructive conflict.
Some of the same people value engineering principles over straw polls, even when its difficult and obscure.
FreeBSD can run a computer, whereas trains merely run them over.
I write bullshit
I'll bite. ZFS was designed with a different train of thought when it came to the file system and storing files. ZFS lets one do everything from just formatting a single drive with one partition to doing a RAID array with three parity stripes, file system compression, file system encryption, block level deduplication, with file cloning and/or snapshotting to another server with ZFS. The ability to setup an array, selectively apply features (encryption, compression, dedup, etc.) to different directories, mount directories elsewhere in the OS hierarchy, clone, do snapshots, etc. is so easy and only needs a handful of commands.
I use to be a fanboy when it came to hardware RAID with a dedicated RISC processor and RAM. The risk with hardware RAID is if the controller fails, one will probably be in a world of hurt. I didn't like software RAID due to CPU overhead and the damn thing not always working. ZFS has changed that for me. Not only do I not notice CPU overhead, recovery is so easy. I can install an OS on a HDD and then configure three new drives with RAID-Z (ZFS' RAID5 implementation). From there I can replace the OS HDD and start with a fresh OS install; a couple of commands that don't include the paths to the RAIDed HDDs and any backed up config file and my array is back online. All I need are the drives and nothing else. I could even loose a drive and still be fine.
The other beauty is not needing exactly the same drives. Say I have three 1.5TB drives in a RAID-Z and one of the drives fails. Perhaps I can't buy another 1.5TB drive or the 2TB model is cheaper. I can replace the drive with a 2TB unit and ZFS will rebuild the lost 1.5TB. I can either use that 0.5TB for something else or expand the array when the other two drives are replaced with larger drives.
Sure booting from ZFS in FreeBSD isn't perfect, but I don't see a real need for my OS to reside on a drive with ZFS. However when it comes to my storage arrays, ZFS is invaluable.
There's so much to ZFS that considering it just another file system like EXT or UFS is an ignorant assessment. I recommend doing a some research before bashing something you don't understand.
You realize OSS works on Linux too, right?
Kind of. You can use the 4Front implementation of OSS, but it doesn't support as many cards as ALSA. You can use the ALSA compatibility shim to run OSS apps, but (last time I checked, may not be the case anymore), it didn't do software sound mixing, so only one app could use it unless your card does hardware mixing (as increasingly few do, now everyone has CPU power to burn).
They all work, they're all compatible (code written to use OSS or ALSA will work right with OSS, ALSA, and PulseAudio)
Code written to use OSS may work with ALSA, if you've configured ALSA to provide OSS emulation (not the default in a lot of distros), and your hardware supports hardware mixing. Portaudio's OSS emulation may work, but the last person I know who tried to use it gave up.
I use OSS on my desktop and ALSA + PulseAudio on my laptop (because OSS wasn't working right)
And most of your apps probably have multiple code paths, one for OSS, one for ALSA, maybe one for PulseAudio. As a developer, this is a pain, and I can't be bothered working out what the Linux API of the week is - I just support OSS and if someone wants to ALSA support they can send me patches, or use the OSS emulation.
Oh, and per-channel (i.e. per app) volume control.
Yeah, PulseAudio does that too.
So, to implement core OS functionality (letting multiple apps share a single device), you run a userspace sound daemon, which doesn't expose the interfaces that have been around for the last 15 years, and requires yet another rewrite of the code. Meanwhile, back in FreeBSD land, this stuff has just been working with no user intervention or configuration for the past 8 years or so (maybe longer - that's when I started using FreeBSD).
I am TheRaven on Soylent News