Live data from Hacker News

Ask HN: I'm a Linux guy. Tell me about all those BSDs

news.ycombinator.com

51–60 of 167 posts

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#51
post #42

Earlier quoted context omitted.

> 5. I really like source / ports-tree-based packaging ... Some Linux distros (Arch and Gentoo) have similar packaging systems, now. FreeBSD user here. I've always been curious about the ports-tree-based packaging systems found in these Linux distros. Is anyone familiar enough with both to offer a comparison?

While I've done very little with Gentoo, Arch's packaging seemed to me like running OpenBSD's ports tree from cvs, but without the option of an updated-every-six-months super-stable milestone release. It's inherently a "bleeding-edge" distro, which is not necessarily true for OpenBSD. (I run OpenBSD from snapshots/source and update a few times a month, but I also maintain some ports.) I've only experimented with Arch…

I use both - Arch as a primary desktop and OBSD for my servers.

For all practical purposes you are correct.

I personally think of Arch as a collection of components loosely put together, you pick and choose what you want and they generally work together, there are no releases per-se, stable or otherwise. OBSD is a more coherently designed and engineered system, if you want a particular feature that is available in a new release , the logical way to get it is to update to a new release. If you don't want it , you can simply stay on your release and just apply the rare security patches that come through.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#52
post #38

Earlier quoted context omitted.

I've used FreeBSD for servers and my personal workstation for quite a few years. I love FreeBSD, and the thought of having to support a Linux variant is not a pleasant one. Not that I have a bone to pick with Linux, since I thought it was an excellent OS for the 10 or so years I used it before trying FreeBSD. But once I tried, and became accustomed to, FreeBSD, there was simply no turning back. However, I take issue…

Yeah point #1 is odd. GNU/Linux doesn't let licenses get in the way of technical decisions. DTrace and ZFS aren't in Linux because Sun explicitly designed their licensed to be GPL-incompatible. Where that isn't the case nobody is seeking to replace code due to license reasons. E.g. you don't see Linux people trying to replace X11 or Sendmail because of their licenses. But the BSD systems are actively trying to phase…

I really don't want to instigate a flamewar, but think for a second about the dogmatic bias required to create a slogan such as "GPL-incompatible".

This is a pot-kettle situation if there ever was one.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#53

(Speaking as a FreeBSDer here -- I'll let NetBSD and OpenBSD folks cover those, since I don't follow them closely enough to offer accurate comments.) 1. We don't let licenses get in the way of making good technical decisions. This means that, for example, we had no problem with importing DTrace and ZFS. 2. We have more of an emphasis on doing things right. This often means that it takes longer before we acquire new f…

I'm not trying to be argumentative, trollish, etc. But, really none of those are very compelling and a couple are negatives. I can see 3,4,5 being important if I developed software that is directly affected by any of that. 1 is a political argument and one that I stand on other side of the fence on. 2 just sounds like it takes longer for stuff to be released. 3 meh. 4,5 extra meh. Recompiling is so trivial that not h…

[Taking more time to develop features correctly] just sounds like it takes longer for stuff to be released

This attitude demonstrates a pretty significant lack of experience.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#54
post #38

Earlier quoted context omitted.

Yeah point #1 is odd. GNU/Linux doesn't let licenses get in the way of technical decisions. DTrace and ZFS aren't in Linux because Sun explicitly designed their licensed to be GPL-incompatible. Where that isn't the case nobody is seeking to replace code due to license reasons. E.g. you don't see Linux people trying to replace X11 or Sendmail because of their licenses. But the BSD systems are actively trying to phase…

Exactly. I always read BSD discussions and think "what a bunch of licensing fanbois". I guess since the OS and the license have the same name... Anyway, here's why I support Linux and the GPL: the WRT54G. Linksys would have never released the source code for the router's kernel without being forced to. But when they did it, an amazing thing happened, third-party developers made their product one of the most popular w…

Imagine if OpenSSH were GPL'd and every vendor who implemented it got sued for not releasing a few patch files specific to their product.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#55
post #54

Earlier quoted context omitted.

Exactly. I always read BSD discussions and think "what a bunch of licensing fanbois". I guess since the OS and the license have the same name... Anyway, here's why I support Linux and the GPL: the WRT54G. Linksys would have never released the source code for the router's kernel without being forced to. But when they did it, an amazing thing happened, third-party developers made their product one of the most popular w…

Imagine if OpenSSH were GPL'd and every vendor who implemented it got sued for not releasing a few patch files specific to their product.

I'm imagining it. Posting a patch to your website is surely better than rewriting ssh from scratch or licensing SSH.com SSH. (Sure, BSD requires less effort on your part, but the community gets less in return. That's not good for the continued existence of the project.)

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#57
post #53

Earlier quoted context omitted.

I'm not trying to be argumentative, trollish, etc. But, really none of those are very compelling and a couple are negatives. I can see 3,4,5 being important if I developed software that is directly affected by any of that. 1 is a political argument and one that I stand on other side of the fence on. 2 just sounds like it takes longer for stuff to be released. 3 meh. 4,5 extra meh. Recompiling is so trivial that not h…

[Taking more time to develop features correctly] just sounds like it takes longer for stuff to be released This attitude demonstrates a pretty significant lack of experience.

I don't know, it's not like Linux just lets things in after a week of testing. I understand the need to do things right, but I also understand the natural tendency in developers toward perfectionism. You have to strike a balance -- in some cases Linux may be closer than BSD or vice-versa, but the real thing is that the open-source philosophy of release early, release often is better embodied by something active like Linux.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#58
I have been an OpenBSD and FreeBSD user, as well as minor contributor, since the mid-90s. All the answers here are good, and I would like to add:

* FreeBSD is on the cutting edge of performance. Because it is a total OS (as opposed to just a kernel), performance improvements are made and integrated into the binary packages and ports build options of common packages. FreeBSD was one of the first operating systems to implement kqueue, which is now available on OS X. This was part of the reason why for years FreeBSD dominated high-performance web serving. If you asked this question 5-10 years ago, the answer would simply be 'FreeBSD performs a lot better than Linux with web serving', but that is not as true today since Linux has caught up in the 2.6.x branch (with epoll). For more info see the classic: http://www.kegel.com/c10k.html

The good servers like nginx and varnish take advantage of these performance benefits that FreeBSD offers.

(there was a similar system here with the virtual memory manager, while the Linux kernel struggled with this issue ~01-02 FreeBSD was miles ahead). FreeBSD is the starting and development point for a lot of new technologies.

2. Everything is done the BSD way, from directory layout to the rc.x startup system. It is the same and uniform and integrated with the kernel and doesn't vary across releases. There is a single reference handbook, and POSIX compliance. I have always preferred the BSD way of file system layout, and that is what I have become accustomed to. (ie. /usr/local/ really is usr local).

3. The BSD's are a monolithic kernel (which Linux is today, mostly, if you choose to) which has performance implications. FreeBSD support kernel modules, but the monolithic approach is preferred. It is very easy to build your own custom kernel (I suggest you do for servers) and the defaults are include nothing and build what you need from there, which provides a very small, fast and optimized kernel image. Linux distributions tend to take a 'kitchen sink' approach, since they are aimed at people who don't want to compile and load a kernel module for device XYZ. FreeBSD places the onus on the user to know what they are doing - which forces you to understand the internals of the operating system and how it works. Linux usually has different distributions depending on the target, but FreeBSD is flexible enough to only have a single distro that can be customized from a 20MB install image through to a desktop system that will support your Chinese webcam when plugged in. It can do this without compromising on performance or bloat. I suggest you start FreeBSD with the minimal binary install plus the ports tree (the ISO is 50MB, install is about that).

4. You can take this one 'distro' and way of doing things across a multitude of architectures.

5. jemalloc - a virtual memory manager for parallel processing that outperforms Linux, see: http://people.freebsd.org/~kris/scaling/7.0%20Preview.pdf

6. The GCC compiler and toolchain are steadily being replaced by the less bloated and much faster Clang/LLVM which are part of Xcode and BSD licensed. It allows much better IDE integration, is modular and a lot lot faster than GCC. Clang/LLVM are already at the point now where they can compile all of FreeBSD

7. The TrustedBSD event auditing, ACL, stack protection, other security features and OpenBSM make FreeBSD orange book compliant in terms of security. OS X also has this (it is the same security model). This is important if you are in a corporate environment and need to stamp some certifications or meet compliance regulations with the systems you choose.

8. Zen and VMWare virtualization support available in kernel. Virtualization support is very good in Linux, but the virtualization providers have been supporting FreeBSD for a while now, and have hired core team members to develop software. EC2 needs better support, but I am sure it is coming.

9. Linux has abandoned the development branch approach (ie. 2.7.x) and instead trails along 2.6 releases with releases candidates. With FreeBSD you can be assured that STABLE is stable and CURRENT is current. Releases are taken very seriously, as can be seen by FreeBSD 5 (one of the best OS releases every, IMO) took years to finalize. Point releases are binary and API compatible with .0 releases (ie. 5.5 binaries are guaranteed to run on 5.0)

10. You have linux binary compatibility anyway, at near-zero cost.

11. A more liberal license to use in commercial environments (ie. if you sell a firewall, or an embedded device, no need to release your own code - Apple have done this spectacularly).

12. ZFS (works)

13. Excellent handbook that encompasses the entire operating system: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/

14. Average knowledge of a FreeBSD/OpenBSD community member is higher than Linux (personal experience) and since there is usually only one way of doing things, you will find consistant answers and advice on your questions or issues across the web.

15. FreeBSD hasn't had a default install, STABLE security advisory in ~10 years.

In conclusion, if you like to know what is actually happening on your server or machine so that you can tweak, optimize and better understand performance and other issues, BSD will almost force you into understanding it. If you are running linux and just downloading and installing binary packages, you are simply unaware of what is happening on your system (no different to running Windows, really). BSD will teach you the old school UNIX way of doing things, is consistant throughout and through just using it it will teach you a lot more about your system and operating systems in general than Linux.

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#59

Earlier quoted context omitted.

While I've done very little with Gentoo, Arch's packaging seemed to me like running OpenBSD's ports tree from cvs, but without the option of an updated-every-six-months super-stable milestone release. It's inherently a "bleeding-edge" distro, which is not necessarily true for OpenBSD. (I run OpenBSD from snapshots/source and update a few times a month, but I also maintain some ports.) I've only experimented with Arch…

I have been an Arch user for about 6 months now. jumped the ship from Gentoo. Since I like to stay bleeding-edge, on Gentoo that meant often-broken packages that took a lot of time to fix. Arch has been very smooth till now, despite my using a lot of AUR packages.

Arch user here. The great thing with a rolling release is that when something breaks there is usually a lot of people trying to solve the exact same problem at the same time. I think I learn a lot in problem solving because of that since I switch to Arch! And now every bug is a fun thing that almost never last long, you must be quick if you want to be the first to write the patch who will solve it!

Re: Ask HN: I'm a Linux guy. Tell me about all those BSDs

#60
I love OpenBSD's philosophy and documentation and enjoyed testing FreeBSD but I always return to Arch for my desktop and laptop and Debian for my servers. Except for two project that are on my todo list for years but never been completed: a router firewall using OpenBSD (with the wonderful PF) and a NTP server using FreeBSD and a GPS with time pulse signal.

I hope someday I will give them the time because I feel that I could have a lot of fun with that.

Post reply on HN