24 ms·
Technical reasons to choose FreeBSD over GNU/Linux (2020)
- alberth 4y agoI'm a huge fan of FreeBSD, though I have to admit - when I was looking at the Vulnerability Statistics chart I wondered to myself "are there fewer identified FreeBSD vulnerabilities because there are way fewer FreeBSD users (than Linux)".
- deano 4y agoAs a long time Linux and BSD user I agree with you. You still have to enable basic things that are not turned on by default - i.e. stack protection. A lot of this is enabled by default on OpenBSD. https://vez.mrsk.me/freebsd-defaults.html https://vez.mrsk.me/freebsd-defaults.html
- 1-6 4y agoYou can find a Linux distro for everything these days though.
- werid 4y agocan't believe that openbsd dude is still updating that page. he seems to be obsessed with an os he doesn't use.
- kaashif 4y agoI can't believe that either. At most I'd have written an angry blog post and never updated it. Don't know what keeps him going. A desire to see FreeBSD fix those defaults? Desire for OpenBSD to be recognised as having better defaults for security than FreeBSD? What would that even look like?
- 1500100900 4y ago> Don't know what keeps him going. A desire to see FreeBSD fix those defaults? And when they do fix any of those things, what is his reaction going to be? So far it's been "it took them so much time to fix this, let's keep that in mind". The point of it is clearly to convince people to use OpenBSD instead of FreeBSD.
- etc-hosts 4y agoAfter reading all that I feel like the main danger in my house is a IDE drive with an old install of FreeBSD on it.
- neop1x 4y agoI thought the same thing. And also there is probably more code compiled in the majoroty of Linux deployments and that widens the attack surface. So just comparing the absolute vulnerability counters is not useful IMO.
- amtamt 4y agoThere are virtualization options in FreeBSD, but I can't use FreeBSD in absence of mature OCI compatible container support, without going though hoops on bhyve. In present day, it matters a lot with a good amount of time being spent on docker/ kubernetes.
- gigatexal 4y agoThis is the same for me. ZFS native boot environments and such is a killer feature that I am envious of. Also proton gaming seems to be best supported on Linux from what I can tell.
- michaelmrose 4y agoZFSBootMenu provides boot environments for Linux. The now defunct Project Trident, formerly PC-BSD and then TrueOS, had a gui installer that sets you up with - ZFS on root install of essentially void Linux - rEFInd with a kernel sufficient just to boot into - ZFSBootMenu which lets you boot into a prior boot environment - ZFS native encryption of /home per user directory set up to unlock when you log in via PAM and zfscrypt - An update script that automatically creates a boot environment prior to updating - A mediocre choice of display manager and their own customer desktop environment that was neither in my opinion terrible nor interesting. Trivially replaceable with a different DE and lightdm. Trident is alas gone but all the pieces remain and work fine. https://zfsbootmenu.org/ https://zfsbootmenu.org/ https://web.archive.org/web/20211223122028/https://project-trident.org/ https://web.archive.org/web/20211223122028/https://project-t...
- gigatexal 4y agothis i did not know thank you for sharing! I've not got zfs on root on my fedora 36 install but if i did this is something i'd seriously look into
- jagged-chisel 4y agoHow well does FreeBSD support a “modern” web backend? Does Java run here? Mono (C#)? Node.js? PostgreSQL? Any noSQL databases?
- sophacles 4y agoFor the most part: yes. The one I'm not sure of is Mono. That being said, some tooling assumes linux sometimes, but the popular stuff is generally gtg, especially if you get it via the ports tree.
- Yuioup 4y agodotnet core is not supported
- carlavilla 4y agoYou can run Spring with Java 17 in FreeBSD without problems. Same with Node.js, Postgres and MongoDB for example. About Mono, I don’t have experience with this environment. But I’m using the other technologies at my work without problems.
- whalesalad 4y agoIn the server sense, FreeBSD will do essentially everything that Linux does as far as running software. For your examples, yes.
- pid_0 4y ago
- pjmlp 4y agoI guess calling POSIX modern is a point of view, unless a language runtime is bound to Linux specific syscalls, any UNIX like OS will run "modern" web backends. From that point of view, you can even do "modern" web backends on IBM and Unisys mainframes, using their POSIX environments. And yes, they do actually support everything on that list, by the way, mainframes invented noSQL databases before SQL was a thing, have a look on ISAM.
- ArrayBoundCheck 4y agoAFAIK I and most people can't run it due to freebsd not supporting our hardware. Does it support intel wifi and GPUs? (I'm using an amd GPU). Can I run netflix or prime and get 1080 resolution? (note on linux I need to use a addon to achieve this)
- trasz 4y agoYes, it does support Intel WiFi and GPUs, and in some cases (all GPUs, more and more WiFi) it uses code borrowed from Linux. For Netflix you'll need to run Linux Chromium or Firefox using linux(4) (https://docs.freebsd.org/en/books/handbook/linuxemu/ https://docs.freebsd.org/en/books/handbook/linuxemu/), because of widevine.
- itvision 4y ago> Technical reasons to choose FreeBSD over GNU/Linux On the server/router maybe. For IT pros maybe. The desktop is a whole different matter.
- iasay 4y agomacOS is a fine Unix desktop to drive your FreeBSD servers from...
- sgt 4y agoOn the desktop, Linux is going to be challenging anyway. Many people love that challenge and make it work, and that's cool. But my point is that if you can make it work on desktop Linux you will make it work on FreeBSD as well, given some decent skill.
- loeg 4y ago> But my point is that if you can make it work on desktop Linux you will make it work on FreeBSD as well, given some decent skill. As someone who has run Linux and FreeBSD desktops for years -- no, Linux on the desktop is actually quite a bit better and easier to use than FreeBSD.
- gtirloni 4y ago> Linux on the desktop is actually quite a bit better and easier to use than FreeBSD. As someone who actually started learning *NIX on BSDs and later switched to Linux, I think "quite a bit better and easier" is an understatement. I tried the latest FreeBSD last year on a not so recent Lenovo laptop and it was a horrible experience.
- caslon 4y agoDesktop Linux is pretty comfortable and intuitive, actually. There's no challenge involved.
- sgt 4y ago
- trelane 4y agoEarlier revision discussion: https://news.ycombinator.com/item?id=22852316 https://news.ycombinator.com/item?id=22852316
- 5e92cb50239222b 4y agoLet me pick and choose a few points since replying to everything will necessitate a similar 40-page post. FreeBSD has great engineering and release management practices When someone gets an idea and develops something new, it first gets peer technical reviews The recent WireGuard debacle left a bad taste about this. As it actually turns out, sometimes there is zero technical review for very important patches and a few blessed developers can (and sometimes do) just throw their stuff directly into trunk. Unlike on Linux, the ZFS filesystem is a first class citizen on FreeBSD ZFS has first-class support on Ubuntu and is compiled into the kernel. FreeBSD also supports boot environments Including this one IIRC. Jails Well... linux has containers, and if all you need is isolation there's this: https://news.ycombinator.com/item?id=29976096 https://news.ycombinator.com/item?id=29976096 systemd is not required (all the heavy lifting is done by the kernel using the same features employed by containers), but it's available almost everywhere and makes this easy. security I actually think it's worse in this regard because of the link above. Most services on my machines are heavily locked down and isolated from each other since systemd makes this very easy (add a few key-value pairs to an .ini file and it's done). On FreeBSD the developer must add capsicum support (which is not easy to say the least), or you have to setup jails for each and every application manually. Capsicum Excluding the usual boring stuff like seccomp-bpf, we now also have this: https://lwn.net/Articles/859908 https://lwn.net/Articles/859908 It's pretty much unveil for Linux. I think it kind of flew under the radar. I don't believe there's anything like capcisum, though. DTrace https://www.brendangregg.com/dtrace.html#Linux https://www.brendangregg.com/dtrace.html#Linux There's also real DTrace on Oracle Linux if you're ready to sell your soul: https://docs.oracle.com/en/operating-systems/oracle-linux/dtrace-guide/dt_about.html#dt_prov_about https://docs.oracle.com/en/operating-systems/oracle-linux/dt... bhyve Not sure if this counts as a particular advantage. Firewall I find nftables to be pretty enjoyable to work with. It has a similar syntax, removes duplication of rules (supporting both ipv4 and ipv6 at the same time), etc. I actually removed firewalld from many RHEL servers and went with nft directly. Security Event Auditing Uhm… so like auditd?
- cperciva 4y agoThe recent WireGuard debacle left a bad taste about this. As it actually turns out, sometimes there is zero technical review for very important patches and a few blessed developers can (and sometimes do) just throw their stuff directly into trunk. This seems like a misunderstanding of the FreeBSD development model. Yes, immature code landed in HEAD, but it was removed before the next release. In general in FreeBSD there's no expectation that HEAD is always usable. Sometimes it won't even build! It's a place where code can land in the hope that it will be ready by the time the next release rolls around, but "remove code which isn't ready for prime time" isn't an exceptional case. FreeBSD has a very strong history of post-commit code review, largely because every FreeBSD committer gets email when commits go into the tree -- that's a lot of eyeballs. We're moving towards increased pre-commit review thanks now that better tools are available for that, but that's a separate matter. (Yes, Netflix runs FreeBSD HEAD. I think they're nuts.)
- Keyframe 4y agoHow are things these days with graphics (well, NVIDIA and maybe intel, I don't care about amd) drivers, CUDA, ML? How's support in general for latest hardware like CPUs, mobos/wifi?
- loeg 4y agoBasic usage with Nvidia drivers works ok. Nvidia disables CUDA and NVENC/NVDEC on FreeBSD. CPUs/motherboards work great, at least in x86 (arm64 probably works well, too, but I'm less familiar). Wifi is very behind the curve. If you have a supported card (including some 802.11AC cards), 802.11N probably works -- but last I heard, AC does not.
- jester23947 4y agoI really like this article about FreeBSD. One really nice feature that is not cover though is to set the immutable flags on some binaries with the command chflags. It's possible to boot your very secure system into securemode level 1 or higher. In this mode, it's impossible to delete those files. rm -rf /* has very limited damage. chmod -R 0000 /* won't touch chmod and all kind of ooops become much less destructive. It's probably not useful in all scenarios, but definitely some systems deserve to never be touch live. Automation, scada, super important core backbone systems. FreeBSD is the power to serve. It deserves more credits.
- kstrauser 4y agoThe whole securelevel mechanism is nice. You can only increase its value at runtime, never decrease it without rebooting. At higher levels, you can’t modify firewall rules. If you configure the server to boot into a high securelevel, you can make the machine effectively read-only until you boot it with console access.
- how2cflags 4y agoJust wanted to say that in linux you have extended attributes on files, check the man page on chattr. I believe the -i option makes files immutable. I picked this little trick up watching a red team discuss how they set themselves persistence on the target system by making /etc/shadow immutable this way.. Fun bit is, root can't even remove the file until the flag is removed, and you can't see the immutable flag on the file unless you know what you are looking for via lsattr.
- matthews2 4y agoFreeBSD has the concept of a 'security level'. You can increase it at runtime, which disables more functionality, but you can't decrease it without a reboot. At security level 1, the immutable and append only attributes on files can't be removed, so even chattr -i would be useless.
- znpy 4y ago
- bxparks 4y agoI have tried learning FreeBSD occasionally, mostly for nostalgia because I learned Unix on BSD 4.3 (or 4.4?) on MicroVaxes many years ago. But I get stuck on some very basic things: - My wifi card doesn't work. The installer recognizes it, but the driver doesn't work. - The console terminal defaults to 80x25, I don't know how to resize it. - I can't figure out how to start X Windows. - If I run it in a VM (e.g. VirtualBox), the network bridging doesn't work so my FreeBSD instance has no internet access. It's probably my fault, I'm sure it's in the docs somewhere. But it probably means that I'm not the target audience for FreeBSD, since I don't have the time and patience to figure out the most basic things.
- jester23947 4y agoread the handbook... it's the second chapter in this webpage.
- RamRodification 4y ago...or pick an operating system where you don't need to read the handbook to get working WiFi.
- djbusby 4y agoI'm on Linux and have to get a rtw8852 driver from some random-ish gitHub repo to get WiFi in a recent Lenovo. Does this mean WiFI is only for Win/Mac?
- sebow 4y agoFor people (semi-rightfully) complaining about the feasibility of FreeBSD as a desktop OS (or a workstation purposed OS), the fact that it isn't easy to install through the graphical interface is both a blessing in disguise and a legitimate point for slow install + config times. To that end I say to the less keyboard/terminal focused (which should be a paradox when it comes to developers but whatever) : try some of the general-purposed graphical "flavors" of FreeBSD: MidnightBSD, GhostBSD, NomadBSD. MacOS users who want to seek the same experience but on a less closed unix(Still FreeBSD): helloSystem(from an ex-Apple if I recall correctly) & ravynOS (previously 'airyx'). Of course there is also netbsd + openbsd, but imo those are really far behind FBSD when it comes to being mainstream and usable as daily drivers. One of the main reasons I personally can't daily drive FBSD on my laptop is the lack of proper drivers (I know about 'running' the linux ones). Still a more than decent choice for any desktop unless running very obscure hardware or needing specific requirements (think cuda,cudnn,rt and similar proprietary software/libs)
- Klonoar 4y ago> ravynOS This is a cool project but it's in no way usable right now.
- johnklos 4y agoThe article hits the nail on the head about Linux' "mismatches". When distros need to be different gratuitously, you can no longer get a book on Linux that meaningfully applies across multiple distros. Heck, even an Ubuntu book would be irrelevant after a few changes (16 -> 18, 18 -> 20). The same people who respond in the community to questions about changes often respond to defend the changes, but rarely respond with answers to the technical questions about them. It's frustrating.
- Koshkin 4y ago> distros need to be different gratuitously I, on the other hand, tend to think of distributions as operating systems in their own right, so the difference between them is something I welcome - otherwise what’s the point?
- Gordonjcp 4y agoI don't understand why you'd think that. All Linuxes right back to the 90s are basically the same. There are more obvious differences between them and other Unix-like OSes, like SunOS/Solaris, the BSDs, and so on.
- bregma 4y agoThis is the way it is. In the free market of ideas not everything is the same just because you find it on the same shelf. If what you're looking for is centralized planning and freedom from the tyranny of choice, stick with your branded stores with their marble floors and genius bars or answer desks. A Linux distro is an OS. They have in common with your Android phone the Linux kernel. That's a very, very small part of what goes into a distro.
- deleted 4y ago[deleted]
- gray_-_wolf 4y agoI've considered migrating my NAS to openbsd few times, but one thing I was not sure about is with that to replace the filesystem with. I'm currently running btrfs and I like it. Few things I would like to have in a replacement: 1. copy-on-write and snapshots 2. checksums that are automatically verified on reads 3. btrfs' version of RAID1 (meaning I don't have to buy identical HDDs only) What would be my options?
- ahepp 4y agoI believe zfs fulfills all those requirements. I’m running freebsd on my NAS and it’s been great.
- LanternLight83 4y agoNot #3, but it's still the best option
- ahepp 4y agoas far as I know, you can put disks of different sizes in a mirror vdev, you’ll just obviously be limited to the size of the smaller disk. Is that not what OC is asking for?
- gray_-_wolf 4y agoBtrfs' RAID1 works bit differently. It ensures every block (1GB by default I believe) is present on two devices. So, if for example, you have 2x 1TB and 1x 2TB drive, you get 2 TB of usable space. It is arguably not the most useful property in enterprise setting, but helps to stay on budget on home projects, since I can just use random drives laying around without any further requirements on the matching of the sizes.
- gtirloni 4y agoHmm I think you can mirror different sizes just fine but it'll predictably use the smaller size, no? Is btrfs different in that regard? I have only used it when it was released many years ago so my memory is rusty.
- avodonosov 4y agoIf it also recommended well supported laptop models...
- nulbyte 4y agoThere are details on what is working and what isn't for a slew of models on the FreeBSD wiki: https://wiki.freebsd.org/Laptops https://wiki.freebsd.org/Laptops
- lmas 4y agoYeah from that page I picked a refurbished Thinkpad x270 as my new daily drive and set up FreeBSD on it, works perfectly!
- a-dub 4y agohow does the kernel compare these days? pre-cfq i remember the scheduler was far better than linux, but what about raw performance for single and multithread/process workloads with lots of i/o going through the kernel? raw cve counts seem meaningless without a denominator to me. those numbers should be normalized by estimated install base if they're going to be compared.
- jeffbee 4y agoYeah, the number of BSD CVEs just boils down to the fact that nobody cares about BSD. Since nobody cares about it, its performance is also very 20-years-ago and doesn't stand up to modern linux performance. You could expect database performance (e.g. postgresql) to be 2-4x higher on linux under a highly concurrent load. There are thousands of full-time professionals around the world focused on linux performance and the applications are co-evolving to work best on linux so you can't expect cutting-edge speed from freebsd. There's probably a niche for freebsd but unless you know exactly what it is and how to exploit that niche, you're not going to find it by accident.
- deleted 4y ago[deleted]
- naikrovek 4y ago> the fact that nobody cares about BSD I am quite certain that you would be shocked if you learned how many people use it. I've worked at two companies where more than 95% of servers ran FreeBSD, and these are absolutely companies that you have heard of. 10s of thousands of servers at each when I worked at them, and likely 5x that amount, now. lots of people care about FreeBSD. they just aren't known for crapping on Linux, like Linux users are known for crapping on everything that is not Linux.
- jen20 4y agoSo who are these companies? I hear references to them constantly, but pretty much the only ones willing to stick their head above the parapet are Netflix (in a single use case) and a few storage/network vendors using proprietary forks.
- sgarland 4y agoNot shown: the bewildering choices made for various tools. sed * The `-i` flag - In the absence of a file extension given, I should not have to specify with `''` that I want the original file over-written. The flag is called in-place for a reason. * BSD sed doesn't support ANSI-C escape sequences, so you have to fall back to your shell quoting them for you. xargs * Why is there no `-d` flag for BSD? There are others I've found over the years, but those come to mind as annoyances.
- rrix2 4y agoYeah, BSD coreutils are so frustrating to use...
- 1500100900 4y ago> The flag is called in-place for a reason. What's the reason? Surprisingly, the file is never edited in place.
- sgarland 4y agoOK, I'll give you that the underlying sycscalls are in fact creating a temporary file. But the abstract result to the user is an in-place edit.
- MontyCarloHall 4y agoI agree that BSD coreutils are extremely feature poor (e.g. no PCRE in grep) and have some odd syntax choices as you point out, but you can always install the GNU coreutils. Of course, you then have to prefix everything with “g” (e.g. ggrep, gsed) which can get annoying. That said, this is why I’ve always given up on BSD every time I’ve tried it—all of the low-level technical benefits touted in the article never actually make a difference in my day-to-day usage, whereas little annoyances with the userspace really add up.
- _abox 4y agoThey're just different. It's a different OS. I agree some things don't make sense but some things on Linux don't make sense either. It's just a long heritage of things that have organically grown. Consider 'dd' for example, with its 'if=xxx' whereas other tools would use the format '-if xxx'. But it's a different OS. Solaris tools were different from the GNU toolset. HP-UX' tools were very different (try compiling something on HP-UX CC lol). MacOS' tools are also different. If you expect things to be GNU, use GNU/Linux. Or Hurd :) Or install GNU coreutils.
- stiray 4y agoI am using freebsd since version 8 for all my server needs (was using linux, but got repelled by its chaos which I dont care about on my laptop, but it pisses me off on server). Some more points: - bhyve, developed by netapp, they ditched all old technologies support and it works faster on my i5 server than kvm on my i7 laptop. Snapshoting using ZFS is not a feature to discard either. - FIBs, absolute miracle routing tables that you can apply to whatever software, define the routes as fib 1 (lets say it is openvpn) and then use them as simply as `setfib 1 bash` to use them in all child processes - backward compatibility, this is where linux is really horrible, there was an article about compiling binary on freebsd 2 and running it on freebsd 10. Try this on linux, binaries are not compatible even on minor versions. - jails... docker? Really? Jails are 15+ years old implementation, kernel supported, that stood test of time, actually being a security feature. It runs circles around the docker in everything except how much it was adapted by community. I never understood why people rather used an inferior solution like docker. - not to mention all the chaos in linux ecosystem, in next sub-version, the commands can have completely different switches,... I will never understand on what technical merits people are using linux for servers except the support-ability of hardware. Due to the whole show that linux is getting we would prosper as a humanity by ditching the linux. Unfortunately, marketing is worth more than anything. (I do understand that people will not agree due to their preference, but try to use it. I doubt you will prefer linux ever again.)
- stjohnswarts 4y agoI use Linux all day long and none of this is an issue for me, so I guess that's the counterpoint. I'm just a desktop/server user/developer though and not a guru by any stretch.
- atmosx 4y agoComparing Linux to FreeBSD is like comparing a Mercedes to a custom-made trackday car. Docker, kubernetes et all was the nail in the coffin. BSDs are amazing for universities, OS classes and some outliers in the industry here and there. The one thing FreeBSD had was network stack performance. Linux supports higher throughput for a while now.. so even that ship sailed.
- rvz 4y agoIt is not early days anymore and we have given it a quarter of a century for these 'alternatives' OSes to do something on the desktop and it is still plagued with issues for just simple desktop usage. This list of reasons here makes it easy for me and others to choose neither and tell users to just stick with either Windows or macOS (which macOS is a BSD Unix, but the users don't care and they should not). Both FreeBSD and the trillions of GNU/Linux distros are still not ready for a simple desktop usage. This is even before mentioning the in-fighting on swapping out system components like desktop environments, windowing systems, init systems, service, etc.
- School-Cotton 4y agoNeither Linux nor (especially) FreeBSD is primarily used on desktops. That’s a nice-to-have side feature (and one I’m personally grateful for, since I run Linux on my laptop now and have used FreeBSD desktop in the past), but the fact remains that it’s not the core value proposition of those OSes. It’s no surprise that they’re not as nice on the desktop as OSes produced by corporations that pour billions into making them polished. I’m not sure why so many people expect them to be and get indignant when they’re not.
- rubyist5eva 4y agoI use FreeBSD on servers instead of Linux for one reason: ZFS. It's really that much better than anything that is currently available on Linux. BTRFS is not even close. Yes I know it's available on Ubuntu but everything else about Ubuntu is just so messy.
- stjohnswarts 4y agobut you can use ZFS on linux?
- rubyist5eva 4y agoYes but it’s clunky. ZFS on FreeBSD is smooth as silk. Ubuntu is the only distro that I would say has good integration with ZFS but I don’t like anything else about Ubuntu.
- cyberpunk 4y agowhat linux server distro are you using if not ubuntu lts? Im not a massive fan either but i run thousands of the bastards (k8s hosts) and cant imagine an other... just disable snap and you're good ;)
- rubyist5eva 4y agoAt $CURRENT_JOB we run our postgres database on a massive bare-metal dedicated server running FreeBSD, our container hosts are Alma Linux 8 and the base images are typically debian-slim, though some are alpine or even scratch.
- Asdrubalini 4y agoI think NixOS has an even better ZFS implementation, compared to Ubuntu.
- School-Cotton 4y agoI don’t have a lot of SRE/sysadmin/etc. experience, so this is probably just ignorance on my part, but I find it hard to imagine a scenario where the filesystem on my servers matters at all (as long as we’re not talking about something super ancient like FAT). What are some workflows that ZFS enables for you on servers that you couldn’t do with ext4 or stock FreeBSD FFS ?
- gnramires 4y agoI have to plugin Void Linux, a nice little distro that tries to mimick some of BSD philosophy (I believe w.r.t. simplicity and security). It's working very well here (it's somewhat analogous to Arch, meant for advanced users -- that said, following the docs it shouldn't be too difficult to get going). https://voidlinux.org/ https://voidlinux.org/
- Klonoar 4y agoChimera Linux is a more recent interesting attempt at this. I believe it involves some former Void people. https://chimera-linux.org https://chimera-linux.org
- aleclm 4y agoThis post is not very robust in its arguments: 1. vulnerability list is not very relevant as a measure if you don't relate to SLOC, features available or something; 2. having a lot of configuration options for security is far from being good, security should be easy and by default; if the tradeoffs are unclear you enter FUD and avoid enabling them; is randomizing PIDs good? what are the downsides? :shrug: 3. I stopped reading given that the most prominent arguments seemed heavily biased;
- efortis 4y agoAbout point 1, and not exactly SLOC, but the comparison is between Linux (a kernel) and FreeBSD (a full OS). Now, it’s possible that the number of vulnerabilities are much higher in the Linux Kernel because there is more research interest due to its larger usage.
- claudiojulio 4y agohttps://arstechnica.com/gadgets/2021/03/buffer-overruns-license-violations-and-bad-code-freebsd-13s-close-call/ https://arstechnica.com/gadgets/2021/03/buffer-overruns-lice...
- lnxg33k1 4y agoI think the mismatch thing doesn’t really make sense, as you should consider freebsd as a complete OS rather than just the kernel, and archlinux as the same. Dragonflybsd and pcbsd for example have the same freebsd kernel, do they follow the freebsd way too? The rest is about preference with the exception of DTrace that is imho superior , but I am not going to pick freebsd over Linux only for DTrace, as Linux has better compatibility and support with software and hardware in general imho Edit ps: I use gentoo so I see the power of ports but I can match it with the wider support of Linux
- trasz 4y agoDragonflyBSD absolutely does not use the same kernel. It literally split off FreeBSD over kernel architecture differences.
- 0xcde4c3db 4y agoNot only that, the split was ca. 20 years ago, from FreeBSD 4.8. They're massively different now. DragonFly also uses NetBSD's pkgsrc system (having initially used a fork of the FreeBSD ports tree), so there are significant practical userland/sysadmin differences too.
- jillesvangurp 4y agoExactly, there are a lot of BSD variants out there. You might consider them BSD distributions even. And they are as different from each other as Linux distributions are from each other. They all share the same messy ancestry of different companies cloning Unix in the nineteen seventies and eighties and doing loosely the same things with loosely the same naming conventions and tool names.
- Koshkin 4y agoIndeed, ‘D’ is for ‘distribution’ :)
- tomc1985 4y agoI've gotten good enough at Linux to where I don't need to constantly look stuff up after long periods of use, but not FreeBSD. Which is why I love FreeBSD so much. It's consistent, clearly explained, thoroughly documented, powerful, and flexible. I have a home server (just upgraded to 13.1) that I go months at a time without logging in. And while I do tend to forget a lot of important details, looking them up is incredibly easy. I don't really care about what software FreeBSD uses, just that it is consistent and well-documented. Plus, the whole architecture of it fits comfortably in my head. It is so nice to reason about.
- _abox 4y agoThat link has been posted here many times already. I use FreeBSD as a daily driver on my desktop. Very happy with it. My reasons to choose it were more that I feel like Linux has become a toy of big tech. If you look at the kernel contributions, most of them are from people working for all the big names. Linux has become Big Business and each company is trying to safeguard their interests in it. Linus is still in charge of the kernel officially but all the steering groups are dominated by big tech. Look at the Linux Foundation for instance: https://www.linuxfoundation.org/board-of-directors/ https://www.linuxfoundation.org/board-of-directors/ . These are not the kind of people you'd expect to lead 'free software', these are all boardroom types. Maybe Linux has outgrown the beardy hacker culture but I have not :P Of course, Linux is not much worse for it... Yet. I think this is for 2 reasons: Linus' benevolent dictatorship, and the fact that they won't be able to agree on much given that these guys are all competitors. But in the long term I'm sure this will take its toll. For example, would these guys ever have approved the GPL-3? Everyone in business is pretty universally against it. And in fact it's the very BSD license that makes big business shun FreeBSD. Which I think is a good thing. FreeBSD still feels like a grassroots development and as such I feel more in control. The excellent and consistent documentation and friendly community is another plus for me. And the combination of stable OS with rolling third-party software (but this is something that was also mentioned in the article). ZFS on Root is another one (though Ubuntu is now catching up to that).
- ahepp 4y ago> If you look at the kernel contributions, most of them are from people working for all the big names Like hardware manufacturers? I thought getting commercial users to contribute to the kernel was desirable? > For example, would these guys ever have approved the GPL-3? Didn't Torvalds himself reject GPL-3? > And in fact it's the very BSD license that makes big business shun FreeBSD Now I'm really confused. Why would businesses not like the BSD license? And they don't like GPL-3 either? Is GPL-2 the goldilocks license for them?
- GekkePrutser 4y ago> Like hardware manufacturers? I thought getting commercial users to contribute to the kernel was desirable? Contribute to drivers, yes. Steer development of the kernel, no, IMO. The more they contribute, the more influence they gain. And a lot of the contributions are not hardware related at all. > Didn't Torvalds himself reject GPL-3? I don't know, I didn't follow this as I don't follow Linux news that closely anymore. I thought it was mainly about the way that it was introduced. But I think it's a much better license than GPL-2. > Now I'm really confused. Why would businesses not like the BSD license? And they don't like GPL-3 either? Is GPL-2 the goldilocks license for them? Businesses hate the BSD license because any code derived does not have to be open at all. So that means anything they contribute can be taken by their competitors and used in closed-source software. That's totally OK. Because of this there's only a few companies involved in BSD. Notably Netflix, the former Skype (before it was acquired by MS), and some smaller orgs like Netapp and iX that makes freenas/truenas. Companies hate GPL-3 because their license gets revoked if a company uses its patents to attack GPLd software. It also stipulates some other things like that devices running GPL-3 software must also be open (e.g. no locked bootloaders etc). Very good things IMO. A lot of GPL-3's stipulations were triggered by real-world exploitation of free software. Examples: By TiVo (hence the name "anti-TiVoisation clause" for the open hardware thing). And the anti-patent clause was a direct result of Microsoft's patent attacks on Linux. No wonder Steve Ballmer hated the GPL-3 so much. This is why Microsoft and most of the others hate it so much, they love giving open source lip service, but are not really open source companies. The GPL-2 gives them enough loopholes to get away with this. Many companies avoid GPL-3 licensed software at all costs, it was the driving force for bash not being updated (and replaced by zsh) on macOS for example. Personally I think it would be better if FreeBSD was GPL-3d but BSD is not bad for me as a use that doesn't want too much corporate influence. After all, if a company makes a closed-source fork it doesn't impact me in any way. I won't use it anyway.
- hkgjjgjfjfjfjf 4y ago
- freedomben 4y agoI don't think comparing FreeBSD to GNU/Linux is a fair comparison. since FreeBSD is looked at as a whole operating, it should probably be compared to Fedora or Ubuntu or RHEL, etc. Particularly the complaints about how some follow "the Debian way" and other don't. If you're going to say that, you invite criticism about things that work on FreeBSD but not on OpenBSD.
- School-Cotton 4y agoThe point was that some software in Debian works the Debian way, and other doesn’t.
- sedatk 4y agoYeah, hypothetically, you can have FreeBSD userspace on top of Linux kernel, and GNU userspace on top of FreeBSD.
- naikrovek 4y agodespite all the Linux users defending their operating system (they should, Linux is great) based on past experiences, I still prefer FreeBSD when possible. it just feels ... like a complete thing, rather than an assembly of different things. it makes sense to me. the article mentions this, and when I started typing I thought I could do a better job of explaining, but as I typed I realize that I could not. it just feels better to me. it may not feel better, or even good, to any of you, and that's (of course) fine with me. I just like FreeBSD. I think FreeBSD deserves far more attention than it gets, and I am therefore quite happy to see this article on HN, even if others can't see why it's a valid option for anything they need.
- frankjr 4y agoI have a server running FreeBSD 13.1-RELEASE and the experience is kind of mixed. Things from the top of my head in no particular order: - I like the idea of "kern_securelevel", but I can only use it on the low setting (1 out of 3) because the machine (VM) is sometimes powered off and its time gets de-synced. The server is running ntpd but on this security level you're not allowed to change time by more than a second. - ntpd doesn't support running with ASLR enabled. Fortunately, you can disable ASLR for a particular process with "proccontrol". - ASLR is not enabled by default. Not that it cannot be defeated but it's a basic security measure, isn't it? - User installed packages put their configuration into "/usr/local/etc/". Or more generally user level stuff goes to "/usr/local". I like that, keeps things more tidy. - Upgrading between major versions requires several reboots. You also have to reinstall / recompile all of your installed packages / ports because ABI can change between versions. - IPv6 didn't work out of the box because the standard DHCP client doesn't support DHCPv6. Getting it to work took me a while but works now with the use of rtsold. - pf is nice. Enabling pflog and then inspecting the logged traffic via standard tools such as tcpdump is handy. - In line with UNIX philosophy, each utility does one thing and one thing only. I find it quite annoying though when dealing with long running services. There doesn't seem to be a standardized way of monitoring once a particular service is started via rc. Some packages use daemontools, some use something else (I forget the name), and some don't do any monitoring at all. Similarly with logging. I very much prefer systemd in this regard. - Jails are cool but annoying sometimes. Jails are created from a particular version of FreeBSD and you have to keep them up to date with "freebsd-update" like a regular host (including the reboot dance). There's a way to share most of the files between jails using mount_nullfs but I haven't tried that. - I miss "journalctl --since=-5hours" every time I ssh into the machine. Not sure how I could do it with just plain log files without parsing their specific format.
- nsajko 4y ago> [...] I can only use it on the low setting (1 out of 3) because the machine (VM) is sometimes powered off and its time gets de-synced. The server is running ntpd but on this security level you're not allowed to change time by more than a second. Have you tried configuring your NTP daemon so it would only adjust time in sub-second increments?
- locutous 4y agoTried freebsd for a router because if into like this. Hardware support was lacking for my setup. It ended up being unstable and horrible. Replaced with Linux and it's been running smoothly since.
- gabereiser 4y ago>On FreeBSD you'll notice right away that you're dealing with a "complete operating system", a system that has been put together very well. Ugh, this argument is long in the tooth. It’s not a complete operating system. It never will be, and neither will GNU/Linux. To be “complete” you need to support all the hardware. You can’t. Also, a base install of FreeBSD is missing the port tree sources… so complete…
- School-Cotton 4y ago> To be “complete” you need to support all the hardware. You can’t. You redefined a crucial word from the author’s thesis, in a way that’s obviously not remotely close to what was originally meant, and then concluded that the argument was “wrong”. Well, of course…
- mshroyer 4y agoOne application where FreeBSD especially shines is as a fileserver to Windows clients: Unlike on Linux, NFSv4 ACLs are supported natively! The NT ACLs used in Windows and SMB are much more expressive than Linux's POSIX draft ACLs. When a Windows client writes a file to a Linux Samba server, it cannot necessarily express the file's ACL as a POSIX ACL losslessly. To work around this, Samba's vfs_acl_xattr saves the "real" ACL as an extended attribute: https://www.samba.org/samba/docs/current/man-html/vfs_acl_xattr.8.html https://www.samba.org/samba/docs/current/man-html/vfs_acl_xa... This means the ACLs set by clients won't be enforced for local users on the file server, and that you need special tools to view and edit those ACLs. In contrast, FreeBSD supports NFSv4 ACLs on ZFS, and those are a superset of NT ACLs. Samba saves the NT ACL as an NFSv4 ACL, and this can be viewed or edited using getfacl and setfacl as with any other file on the server.
- deleted 4y ago[deleted]
- chungy 4y agoEven more frustrating, Linux has been offered full NFSv4 ACL support a couple times but the kernel maintainers turn it down. This is honestly my #1 sticking point against Linux and in favor of FreeBSD.
- pleb_nz 4y agoI really like the idea and would live to give it a go, but as someone who develops across web, xamarin, .netcore, docker and wants good first support for these tools so I'm not wasting time/money it looks like I would be hard pressed to swap without dedicating a lot money to the effort. Also, does freebsd run on m1/m2 hardware yet? Happy if I'm wrong and someone can point me in the right direction. But the few times I've looked into it it doesn't seem worth the expenditure.
- efortis 4y agoHeterogeneous infrastructure was my main motivator to learn FreeBSD. Without this diversity, in face of a security issue, you can only shut-down or take the risk. On the other hand, when there’s a bug or suspicious activity on FreeBSD servers, you can turn off only those servers, while the problem is patched, and viceversa.
- baskethead 4y agoThe main reason to use Linux is because almost everyone else is. If you're only installing it on your own servers at home, then that's okay. But in a business environment, the minor differences or improvements with FreeBSD are simply not worth the lack of familiarity for most people over Linux. I used FreeBSD starting in 1999-ish and I still have the original Design and Implementation of the 4.4 BSD Operating System on my shelf. I used FreeBSD exclusively for years, but it has completely lost to Linux and Linux frankly is good enough.
- ooneeks 4y agoToo bad BSD has such obscure hardware support, anyone running BSD over GNU/Linux is going to lose performance and responsiveness having to run everything through layers of code and emulation. Also, due to squalid support, it's only really usable without GUI - bad scaling and graphical acceleration, or the lack hereof, as well as poor support just means that most GUI solutions for BSD look worse than Windows 3.0.I've yet to see anyone make BSD look agreeable, the only viable solutions being KDE and XFCE, both of which suck. Surely that'll take away from productivity as well, but that's just me. The poor support is the worst offender, also because it seems to me that a lot of the lacking hardware support stems not from a lack of users, but a general apathy towards doing anything on your computer that isn't just using emacs or compiling. The lack of wifi support is most baffling and contributes to the fact that doing anything with BSD on a laptop that isn't owned by one of the developers themselves, will result in sluggish or subpar performance. I have the same opinion on desktop BSD users as I do with GNU/Hurd users. You do you. But as soon as you start talking about the perceived sufficiency and/or supremacy of your deprecated, wet 80's FOSS fever dream of an OS, it becomes impossible to communicate.
- Eleison23 4y agoI'm 50 years old, now, so in college I had hands-on experience with a 3B2 running real live SVR3. There was also an academic VAX running 4.3BSD. And being closely tied to the UC system myself, I gradually became a BSD fanboy. I started by putting Minix on my 286 at home, but I longed to run 386BSD. I eventually realized my dream with some nice OpenBSD installs. I was a partisan, not entirely a bigot, but I'd also seen Linux grow from infancy and considered it a toy or plaything, compared to mature BSD codebases. And truly, Linux was a hobbyist's choice for ages, but many hobbyists grow up to be professionals, don't they? In 1999 (to prove I wasn't a bigot) I installed Linux on the old 386. It was either Slackware or Debian, and the reason I chose it was to support the floppy-tape controller that was unsupported by BSD. I continued to use OpenBSD as a daily driver, alongside Windows, until 2004. Then a trusted sysadmin friend listened to my pleas for help with audio and assorted hardware, and simply directed me to Ubuntu. Since then I've been BSD-free (including no Apple devices.) My needs over the decades have reduced from "godlike control-freak sysadmin" to "power user" to "does ordinary consumerist stuff on a Windows laptop". BSD has great technical reasons and use cases. If you still use BSD, more power to you! BSD's dual legacy for the world, even after the OS itself has evaporated, will be MacOS X and BSD's corporate-profit-friendly licensing terms.
- Gud 4y agoAs a long time FreeBSD user it makes me sad to see so many GNU/Linux users dismiss FreeBSD and it’s way of doing things. Jails? Pfft. We have docker. Since everyone else is using Docker, surely it must be the superior technology? And so on.
- tux2bsd 4y ago[dead]
- rwaksmunski 4y agoAs a developer I find working with kqueue a lot more pleasant than epoll.
- smm11 4y agoI stopped reading at GNU/Linux.
- jbverschoor 4y agoI used to run FreeBSD in the '90s and beginning '00s. However, back then java wasn't supported properly and the overall tech world geared towards linux, and I switched to Debian. Has anyone switched back to FreeBSD lately? And why?
- ConanRus 4y ago
- claudiojulio 4y agohttps://www.csoonline.com/article/3250653/is-the-bsd-os-dying-some-security-researchers-think-so.html https://www.csoonline.com/article/3250653/is-the-bsd-os-dyin...
- Matl 4y agoFor me, it comes down to what's usable to do my work. Today, I can pick a regular Windows laptop and have a decent experience with it on Linux, whereas with FreeBSD it is likely that WiFi/BT won't work, GPU acceleration might not work, software is likely to be out of date compared to rolling release Linux distros, then there's the whole WireGuard fiasco[1] and an apparent disregard for code quality, no Docker, no k8s, slow boot times, no ability to play AAA games, non-declarative init etc. etc. If I were to run a BSD on a server or a router, it would most likely be OpenBSD as that at least has the security aspect going for it. FreeBSD seems like Linux, but from 2006. 1 - https://lwn.net/Articles/850098 https://lwn.net/Articles/850098
- batab 4y agoI am understood the article. But my feelings are: - it sounds like an perfect server os, but not am desktop os: i tried 3 times install gnome on freebsd inside kvm, i didn't make it. - how about install on laptop? On arm laptop? How about power management? i think linux is much better for workstation / desktop computers
- tux2bsd 4y agoTry this, maybe it'll help. To get a working mouse with X in freebsd inside kvm. > Add input device "EvTouch USB Graphics Tablet" in virt-manager. > In the guest: > pkg install utouch-kmod xf86-input-evdev > edit /boot/loader.conf as instructed (this is output during the pkg install) > reboot (guest) Also: Read my other comment later in this thread.
- atsaloli 4y agoDoes HDMI audio work out of the box on FreeBSD? I am using Linux on my laptop and HDMI audio sounds crackly. I googled this and apparently this is a common problem. (https://www.google.com/search?q=linux+hdmi+audio+crackling https://www.google.com/search?q=linux+hdmi+audio+crackling). I tried to fix it (following this research) but gave up after a while. When I had Windows on this laptop, the audio over HDMI worked beautifully.