Best BSD alternative(s) to FreeBSD?

I wonder which BSD distribution has the largest contributor pool (outside of FreeBSD, which of course is largest)? Likely NetBSD has the smallest development group? Typically I run NetBSD when using an unusual architecture that doesn't have a working FreeBSD port, because (as was said) - the devs there quickly jump aboard new architecture-porting projects. Given what I've read about their small (official) development group - it seems they do a herculean job. However; I suspect they simply don't have the time/resources to cover all the bases so much as would happen in the FreeBSD camp. The installation is easy, and pkgsrc surprisingly versatile once you get the hang of it.

Have never seriously used OpenBSD, so can't compare it to anything.

Considering NetBSD, the system is minimalist and has a good minimalist layer, then it does not need much developers.

It needs only a good Boot, with EFI or Legacy, regular boot, UFS or ZFS, a good TUI installer, and few good packages, such as : cp, mv, dd, sh... and a good compiler such as clang.
If the system is based on txz it is easy to install.

The basic default system, like the FreeBSD base + kernel, is the most important.

The more you have, the less ; - considering something else than the base.
 
I used to work with Solaris OS and I would pick Illumos for 2 reasons: Zones and ZFS. Solaris/Illumos have excellent virtual containers and generally much better than FreeBSD's Jail. The reason why I switched to FreeBSD is native ZFS support and ports are very often up to date. If it wasn't for FreeBSD then I would stay with Solaris or Illumos. I wouldn't touch Linux as it's a mess.
Partially disagree. I installed OpenIndiana on VBox and I would say no, even though it's very good it's nearly frozen in time. Linux desktop involves far better than it state. I always has problem with PulseAudio prevent me shutdown that annoy me much I disabled both PulseAudio and Volume control applet. Even when Pulse running, sound doesn't work. With full VBox addition installed, I still can't watch any youtube video or hear any mp3 file from VLC, it's just hang and I have to kill it. I can watch youtube HD video on Windows or Linux guests normally. Software packages is very outdated and missing very much, I added both the hipster-encumbered and SFE IPS repo but it's still very limited. I even use Joyent pkgsrc but it's nearly I install another userland it has it own modular-xorg and use it own set of libs without reuse the system wide installed libs. Many software still lacked or just crash, geany installed from pkgsrc gives segmentfault immediately and can't even run.

Overall I still think it's far smoother than the default FreeBSD mate desktop, specially about scrolling on Firefox but the most killing issue left me go for FreeBSD is poor disk performance. By default VBox disabled Use host IO cache so installation of OI take nearly 30mins. After enable IO cache and move the VM to SSD it's still cost more than 15 mins, compared to 5 mins to install FreeBSD.

Forcing ashift 12 is a nightmare. There's no option like -o ashift 12 and their zpool-12 no longer works. Their solution is via /kernel/drv/sd.conf that I found patchy and after I followed the tutorial of a guy from DelphixOS just to find out cfgadm can't unconfigure my disk so it's no affect, it must be unconfigure and reconfigure to have affect like the guy stated, I wasted more than 4 hours just to know it's no way to force 4k. I still have an OI VM running on SSD with ashift 9 now, slow like hell, both boot up and shut down takes mins but fast enough when already loaded for more than 10mins. Use swap like hell even I assigned 5G ram to it.

And I found SMF to be very slow indeed and the OI guys seem to be abused services too much so boot up (load services) and shutdown (close services) suffers. Don't accuse me, I found systemD to be far faster than SMF, which you guys claimed the golden standard.
 
Getting back to the original post, I think the most common reason that one could not run FreeBSD is hardware support. In terms of hardware support only linux is more up-to-date.

This brings up Crux linux which uses a BSD style /etc/rc.d init and has a very flexible ports system. I don't use zfs, and the license is not compatible with GPL-2.0, but it is possible to add
ZFS on Linux

The Crux installer is non-existent - everything is done manually.
 
Getting back to the original post, I think the most common reason that one could not run FreeBSD is hardware support. In terms of hardware support only linux is more up-to-date.

This brings up Crux linux which uses a BSD style /etc/rc.d init and has a very flexible ports system. I don't use zfs, and the license is not compatible with GPL-2.0, but it is possible to add
ZFS on Linux

The Crux installer is non-existent - everything is done manually.
linux is linux, not BSD.
 
I have only tried FreeBSD, OpenBSD and NetBSD (desktop usage). I did try GhostBSD a few years ago but had problems. I personally found FreeBSD to be the best for my hardware and use case. Use case being many of the things Vermaden listed. OpenBSD was so slow on my hardware it was was nearly unuseable. Screen and window redraws reminded me of the speed at which web pages would draw back when we used dial-up. My hardware is quite beefy so it was not my hardware that was at fault. FreeBSD is very fast on my hardware.Also, the OpenBSD installer is (IMHO), terrible in comparison to the FreeBSD installer.

FreeBSD is obviously my favorite :)
 
Partially disagree. I installed OpenIndiana on VBox and I would say no, even though it's very good it's nearly frozen in time. Linux desktop involves far better than it state. I always has problem with PulseAudio prevent me shutdown that annoy me much I disabled both PulseAudio and Volume control applet. Even when Pulse running, sound doesn't work. With full VBox addition installed, I still can't watch any youtube video or hear any mp3 file from VLC, it's just hang and I have to kill it. I can watch youtube HD video on Windows or Linux guests normally. Software packages is very outdated and missing very much, I added both the hipster-encumbered and SFE IPS repo but it's still very limited. I even use Joyent pkgsrc but it's nearly I install another userland it has it own modular-xorg and use it own set of libs without reuse the system wide installed libs. Many software still lacked or just crash, geany installed from pkgsrc gives segmentfault immediately and can't even run.

Solaris or OpenIndiana is best known for its robust server, security, virtualization and ZFS operations. Linux is best for desktop. FreeBSD is in the middle since it doesn't come with preinstalled windows manager as you have to build it from ports or packages plus tweaking the Xorg config. It all comes in different flavors and needs.

I know Solaris or OpenIndiana's desktop is ugly and bland as it was designed to function as a server. It also had very limited hardware support. You can compile a better windows manager for it though.
 
Solaris or OpenIndiana is best known for its robust server, security, virtualization and ZFS operations. Linux is best for desktop. FreeBSD is in the middle since it doesn't come with preinstalled windows manager as you have to build it from ports or packages plus tweaking the Xorg config. It all comes in different flavors and needs.
Nice review
 
linux is linux, not BSD.
I'll concede in terms of a semantic distinction. In reality there are large chunks of linux code in the FreeBSD kernel. An OpenBSD developer noted that the recent amdgpu kernel code, imported from linux, was several fold larger than the source for the OpenBSD kernel. FreeBSD imported the same linux code.
 
I'll concede in terms of a semantic distinction. In reality there are large chunks of linux code in the FreeBSD kernel. An OpenBSD developer noted that the recent amdgpu kernel code, imported from linux, was several fold larger than the source for the OpenBSD kernel. FreeBSD imported the same linux code.
You mentioned about the newly ZoF don't you? ZoL is a out of tree kernel module and it's also under CDDL so I don't think saying it's Linux code to be fair. Correct me if I'm wrong, I think a kernel module on FreeBSD could be GPL or even proprietary as long as we don't link it statically and let the user install it from ports and load it manually on boot (via loader.conf) :p
 
I know Solaris or OpenIndiana's desktop is ugly and bland as it was designed to function as a server. It also had very limited hardware support. You can compile a better windows manager for it though.
I didn't said OI desktop to be ugly. I even think it's much smoother than the default FreeBSD mate desktop installed from pkg. Everything feel well integrated but sound is sucks. To be clear PulseAudio sucks. Sound doesn't work and PulseAudio only prevent the system to shutdown. It's so bad they don't have the resource to even merge improvements from OmniOS like LX Zones let alone import another sound server like OpenBSD sndio.

And yes. It hardware support sucks. I can't even boot it on my bare system, the system just stuck until I remove the Live USB and Reset. I can only virtualize it via VBox. And I would prefer binary packages over build everything myself. My suffering with pkgsrc on NetBSD is enough. I don't understand why they could deliver to me binary packages while their pkgsrc can't even build without errors? Document is nearly nothing. I have to trial and error and search the mailing list of netbsd and smartos for hours to find just a one mk.conf option and see it doesn't work. NetBSD does have a xf86-video-vboxvideo but I can't compile it, it also not in packages even it exists for a long time and I have to use CustomVesaMode to be full screen on NetBSD. So no, I will rely on binary packages from Joyent.

The most important is could you let me know how to change ashift to 12 on the OI live so the installation just pick it and the created zpool will has ashift 12? It's so cumbersome. I followed this guide from a guy from DelphixOS and I would say it doesn't work: https://www.delphix.com/blog/delphix-engineering/4k-sectors-and-zfs :(
 
If that were true, I'd think that the copyright and GPL lawyers would be all over it. It seems implausible.
It's true, but it's not GPL.

From, mesa/drm licence docs:

Code:
Component         Location               License
------------------------------------------------------------------
Main Mesa code    src/mesa/              MIT

Device drivers    src/mesa/drivers/*     MIT, generally

Gallium code      src/gallium/           MIT

Ext headers       include/GL/glext.h     Khronos
                  include/GL/glxext.h

GLX client code   src/glx/               SGI Free Software License B

MIT licence present in amdgpu Linux kernel source code:
Code:
/*
 * Copyright 2008 Advanced Micro Devices, Inc.
 * Copyright 2008 Red Hat Inc.
 * Copyright 2009 Jerome Glisse.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 
It's true, but it's not GPL.

From, mesa/drm licence docs:

Code:
Component         Location               License
------------------------------------------------------------------
Main Mesa code    src/mesa/              MIT

Device drivers    src/mesa/drivers/*     MIT, generally

Gallium code      src/gallium/           MIT

Ext headers       include/GL/glext.h     Khronos
                  include/GL/glxext.h

GLX client code   src/glx/               SGI Free Software License B

MIT licence present in amdgpu Linux kernel source code:
Code:
/*
* Copyright 2008 Advanced Micro Devices, Inc.
* Copyright 2008 Red Hat Inc.
* Copyright 2009 Jerome Glisse.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
Think of Linux as the upstream like the ZoL/ZoF relation. These hardware vendors contribute to Linux kernel because Linux is the most widely used server OS, but also want/(implicit)allow other OSes to take and reuse/port the code. So these code mostly licensed with permissive licenses. But kernel modules (in-tree, mainlined) are a different story, they're forced to be GPLed.
 
OpenIndiana & FreeBSD work perfectly together on servers , I have done this a longer time -
both servers were directly connected together via hardware.
the 1st person here who can tell me , why this is the case, will receive a "Thanks" from me ,
but the answer may only have 3 Letters 😁
 
OpenIndiana & FreeBSD work perfectly together on servers , I have done this a longer time -
both servers were directly connected together via hardware.
the 1st person here who can tell me , why this is the case, will receive a "Thanks" from me ,
but the answer may only have 3 Letters 😁

ZFS
 
👍
OI & FreeBSD is a great combination, I connected both via FibreChannel, stmfadm etc are cool tools and there were absolutely no problems to share ZFS-storage in both directions.
OI has KVM integrated and can share many very performant FreeBSD- VMs...
so if you have CPUs on your server which are not good supported by e.g. bhyve, KVM will do the job...
 
Does this not scare anybody?
Not really as long as the codes are stable. FreeBSD's ZFS codes was imported from OpenSolaris.

The thing about the FreeBSD license is it does not limit FreeBSD developers in utilizing any available code unless that code has restrictions itself. I'm fine with it as long as the use of that code conforms to the way FreeBSD operates at a philosophical level and of course the code itself is good code.

Though I do have to say, FreeBSD developers should be wary of adopting Linux/GNU code and really scrutinize what they're doing with it. Sometimes Linux/GNU can get pretty far out there in the way things are done.
 
Though I do have to say, FreeBSD developers should be wary of adopting Linux/GNU code and really scrutinize what they're doing with it. Sometimes Linux/GNU can get pretty far out there in the way things are done.

Same could be said for FreeBSD ports or packages as most of them were developed for Linux but modified to work with FreeBSD by the maintainers.
 
That's okay for the most part as long as they aren't turning FreeBSD into Linux. In other words, as long as they still do things the FreeBSD way. In my mind allowing packages to operate like they do in Linux by giving them non FreeBSD style file locations and configurations is Linux pollution.

Of course that's not to imply there should be no Linux compatibility layer. When I run a Linux package under FreeBSD, that's me allowing my system to do that. The landscape of FreeBSD is preserved.
 
Think of Linux as the upstream like the ZoL/ZoF relation. These hardware vendors contribute to Linux kernel because Linux is the most widely used server OS...
That is correct. ZFS-on-Linux is the upstream for OpenZFS and contributing parties have agreed to rename the project (to OpenZFS) to reflect this.
From the FreeBSD mailing list:
The sources for FreeBSD's ZFS support are currently taken directly
from Illumos with local ifdefs to support the peculiarities of FreeBSD
where the Solaris Portability Layer (SPL) shims fall short. FreeBSD
has regularly pulled changes from Illumos and tried to push back any
bug fixes and new features done in the context of FreeBSD.

After the rebase is complete, FreeBSD will be doing the above (ZoL has allowed developers to upstream their ifdefs) but instead of using Illumos they will directly be using Linux.

Unfortunately, things are not as streamlined for other projects, like the aforementioned amdgpu driver, since there is no common upstream for drivers and firmware. Thus, developers across the entire open source landscape need to invest a significant amount of time, effort and money in order to port these codebases, repeating the process for each and every platform.
 
OpenBSD , DragonflyBSD are very good but for desktop use I don't think I could suggest them to anyone because they have no amdgpu or nvidia drivers support so you left with old radeon driver and nouveau ? or even worse if you have nvidia?


OpenBSD and NetBSD are both good. i used them in the past. To get a feeling of the different culture just look at their equivalent of our handbook.
 
Back
Top