Which BSD system choose?

Good morning, I'm using Linux on my main PC, but now I have a second cheap pc that I don't use anymore, and I want to install a BSD system because I'm very curious.
I found two main operating system: FreeBSD and NetBSD.
FreeBSD seems like the more supported, but I like the high clean code-stability of NetBSD.
What are the main differences, and what system could be a better choice?
Thanks
 
I found two main operating system: FreeBSD and NetBSD.
What about OpenBSD? Did you miss that one?

FreeBSD seems like the more supported, but I like the high clean code-stability of NetBSD.
Only when you look at x86 as that's the primary focus of FreeBSD. NetBSD runs on everything but the kitchen sink. NetBSD definitely supports more architectures and systems.

What are the main differences

and what system could be a better choice?
You're on a FreeBSD forum, what kind of answer do you expect to get here?
 
I would say all BSDs have some focus on code quality. But the one putting it as a "primary goal" and advertising that is OpenBSD, not NetBSD. AFAIK, NetBSD is the one with the portability focus (as already said) while FreeBSD aims to provide the most "functional" BSD on widespread hardware.

If you want to try a Desktop installation somehow quickly, yes, one of the FreeBSD-based Distributions might be a good choice. You can of course have "vanilla" FreeBSD work on a Desktop just as well, it just needs quite a lot of configuration, requiring you to learn a few things about how the system works before having a Desktop ready to use.
 
It’s really a matter of personal opinion and who you ask.

Personally I use FreeBSD and DragonFly BSD. Actually I like DragonFly BSD very much because it runs more efficient on modern processors with many cores (Ryzen, Threadripper). It also has a few unique features that can be extremely useful, like virtual kernels (run kernels as userland processes), variant symlinks and process checkpointing (very cool! You can “freeze” a process into a file and “thaw” it on a different machine). Also, its “HAMMER2” file system is very interesting, it supports fine-grained history (without having to create snapshots), point-in-time recovery, live remote mirroring and a few other things (and of course standard features like checksums, deduplication, snapshots, encryption, instant recovery without fsck, and so on).

However, the development team of DragonFly BSD is much smaller than FreeBSD’s, so it’s not quite as quick to support new hardware and such. This is the main reason I'm still running FreeBSD on my home server and on my main workstation, while DragonFly BSD runs on a machine reserved for playing around and experimentation, and inside a VM on my FreeBSD workstation.

But – as SirDice has noted – this is a FreeBSD forum, so it should be clear what the bias is here. ;)
 
I've tested the main BSDs and my opinion on them is:

- FreeBSD : very good base OS, very good documentation, wide choice of well maintained applications (as up-to-date as on Linux)
- NetBSD : good documentation, very interesting philosophy, problematic quality (e.g. package repositories, UTF-8 support)
- OpenBSD : very good hardware support, but: no user-centricity at all, poor performance, poor documentation, restricted and poorly maintained application offer
- DragonflyBSD : Was initially focusing on performance. However, FreeBSD has improved a lot since that time and I can't imagine any compelling reason to use DragonflyBSD over FreeBSD.

In short, the only reason I can imagine for not using FreeBSD is that you get on so well with people using another BSD that you choose to use the same system as them to have an occasion to spend more time with them. ;) Which is a very good reason, as people are much more important than computers. :)

As a conclusion, I'd recommend you try them all to see where you feel the best. :)
 
And there you have the (well expected) bias :) From what I read in olli's answer, there are reasons to give Dragonfly a try -- this process checkpointing thing seems like something that could come handy from time to time, although it creates a lot of questions in my mind (what if the process has open file descriptors, what if it is in the middle of writing a file, what if it is communicating with a device, socket, or even on the network, etc...).

Anyways, it looks to me as DragonflyBSD shares the same "primary goals" with FreeBSD (whereas NetBSD and OpenBSD have very different ones that probably wouldn't work too well in combination), so, also reading that Dragonfly has a much smaller team, I'm getting doubts that it was a good idea to "fork" in the first place ... but maybe I'm mistaken here.
 
OpenBSD is easier to use on a desktop than NetBSD, in my opinion. Of all BSDs, FreeBSD and its distributions GhostBSD, MidnightBSD, FuryBSD et cetera are probably the most comfortable though. (I like to call FreeBSD "the linuxiest BSD" for various reasons.)
 
this process checkpointing thing seems like something that could come handy from time to time, although it creates a lot of questions in my mind (what if the process has open file descriptors, what if it is in the middle of writing a file, what if it is communicating with a device, socket, or even on the network, etc...).
Yes, of course, the process checkpointing has some limitations. Open file descriptors are not a problem, provided they are connected to plain files. However, network sockets don’t work. You cannot, for example, checkpoint a web server process and then resume it on a different machine. However, the DragonFly developers do plan to enable such things at some point in the future, in order to migrate processes between nodes within an SSI cluster – at least that’s the long-term goal. It’s also interesting to know that a program that is being checkpointed can intercept this (if it’s aware of the feature), close its network connections, and upon resume re-open them again, for example.

But anyway, the process checkpointing feature can be very useful for developers for debugging software under controlled conditions. Unlike when creating a core dump, creating a checkpoint file does not terminate the process, i.e. it continues to run, so you can make multiple checkpoints of the process during its lifetime. You can also resume a process from the same checkpoint several times. This can be useful to debug problems that are difficult to reproduce.

Sorry, that’s probably off-topic here. Unless a FreeBSD developer becomes interested to implement such a feature for FreeBSD … But then again, I’d rather prefer to have variant symlinks implemented for FreeBSD because it’s much more useful in practice. I use it a lot on DragonFly, for example for per-user /tmp. Would be cool if FreeBSD supported that, too.
 
Yes, of course, the process checkpointing has some limitations. Open file descriptors are not a problem, provided they are connected to plain files. However, network sockets don’t work. [...] It’s also interesting to know that a program that is being checkpointed can intercept this (if it’s aware of the feature), close its network connections, and upon resume re-open them again, for example.
You don't know every f*g detail until you try, and they did. That deserves all respect, esp. since they are a rather small team.
[...] I’d rather prefer to have variant symlinks implemented for FreeBSD because it’s much more useful in practice. I use it a lot on DragonFly, for example for per-user /tmp. Would be cool if FreeBSD supported that, too.
+1
 
hi
I want to install a BSD system because I'm very curious.
I love this kind of open question :)
You should answer yourself, what is the meaning of "curiosity" for you. There are different scenarios.....

1) I am Linux user and would like to try BSD with Desktop
Go for GhostBSD, Nomad, Dragonfly

2) Linux user , trying BSD server --> NO Desktop
Easier FreeBSD, NetBSD. OpenBSD ---> I would recommend to play a lot within VM's before ;)

3) Linux user "professional" --> migration to BSD as main OS
If you want full control of your system.......this is a learning curve.
Be ready to install from scratch and learning the differences between Linux and BSD's.
Remember ""In Unix every is a file"....don't assume "magic" auto configuration (in general)
Desktop and Xorg might be no easy as Linux to set up...........
Check hardware compatibility
Find real alternatives from Linux to BSD--> example: docker, virtualization, dropbox, cam programs, etc.
Documentation, documentation and documentation ...)
FreeBSD is my answer

I am a Devops Engineer, using 100% Linux about 10 years (in my personal and professional life). Using FreeBSD less than a year, I would like to share my migration.
- Tested a lot in virtualbox "everything" (system, programs, etc)
- Real Hardware is another world (graphics cards, audio, etc..)
- Tried GhostBSD and Dragonfly but they are based on FreeBSD
- Using FreeBSD 100% (best documentation and community ever seen before :) )

If you are Linux user you already know there are hundreds of distros.....but at the end of the day, probably you are using one the main ones: debian (ubuntu, mint) , suse, redhat (centos), arch or gentoo
 
FreeBSD documentation is not great, and in many cases it is outdated.If you use it to build a port, good luck, because I did that and was told they won't accept it.
I am sure that "everyone" here has had difficulties with some ports, driver or packages........but I would never say that "documentation is not great" just based on one particular problem.
You are missing the point of the post----> Which BSD system would you recommend?
 
FreeBSD documentation is not great, and in many cases it is outdated. If you use it to build a port, good luck, because I did that and was told they won't accept it. Even though other ports do the same thing I was doing and I had to wait 2 months to be told no. But I moved on long before I received the email telling me to redo the port that followed other ports and documentation.
Do you start this bullshit again? :mad: You were asked in a different thread to show proof that a new port in shar-format was rejected for being in shar format which you couldn't deliver. You showed how you were asked to improve a very sensible thing, which you could have done with very little work (and which is of course documented as well), but you refused and preferred to complain about FreeBSD. Well, go back to that other thread and actually show proof for your claims or STFU.
- Tried GhostBSD and Dragonfly but the are distros based on FreeBSD
Although there is no entirely clear and well-defined distinction, I'm pretty sure DragonflyBSD can't be considered a "distribution based on FreeBSD" but rather a complete fork.
 
My experiences mirror those of 20-100-2fe with the exception that I have used FreeBSD for a couple. of years very successfully and OpenBSD for about 30 minutes, very unsuccessfully. OpenBSD performance was terrible and the installer is very difficult and unintuitive to use. Yes, it does set up a desktop for you but at what cost. FreeBSD is fast, simple to configure and for me, worked very well, albeit you have to configure everything yourself, which takes a little bit of time but is quite easy.
 
Show me one single system beyond a certain size that is 100% perfect. There is none. So if this single topic is the only one you think is a flaw in the documentation, what do you call a 99% great documentation? The FreeBSD docs are very complete, more or less understandable for newbies while still providing a good reference even for advanced gurus. I'd call that great. I've seen many worse on other OSs. Now this goes off-topic... :/ Sorry.
 
  • Like
Reactions: a6h
Which I did provide even though I didn't have to. And if they won't accept a shar, which they wouldn't in my case, then why is it listed? That makes the "great" documentation incorrect.
Your submission was in shar format and it was not committed. There was no relation. The reason is you refused your port to use "dos2unix" instead of hand-crafted sed. So, really, shut up for good.
 
FreeBSD documentation is not great, and in many cases it is outdated.

Oh brother. Seriously. The documentation is fine. It's far better than most... maybe Arch Linux is better, but then again, curating content for currency is hugely problematic - Arch documentation is starting to show its age, too. No, FreeBSD documentation is exceptional. It is well written and maintained. Sometimes, in the outer reaches, it's a bit stale, but oftentimes, it's just written for a different situation than what a user might have.

In terms of other BSD's documentation, FreeBSD's is best in class. Want to make it better? Read and follow the submission rules and have at. If your submissions are rejected - maybe the flaw is with your submission, or your belief in what's better.
 
Similar to the OP, I've been in the position of changing (more like distrohopping) from Linux to BSD. When I first made the attempt, things didn't go well. I tried NetBSD, OpenBSD, DragonflyBSD, and FreeBSD. I couldn't understand why command options were different from every other linux I had used and each had very impactful issues during installation, or during the move to a graphical user interface (video wouldn't cooperate, partitioning was vastly different, etc). After a number of (failed) attempts at installing and configuring according to some "How to Install XXXBSD" document that looked promising, I eventually set BSD aside and went merrily on my Linux way. But, I persisted. In 2006 or 2007, FreeBSD 6.2 came out and I gave it another shot. It 'worked', well, sort of. It worked better than the last time, anyway. I figured things out and got it to serve my source code repos. A couple of years later and I remembered that my repo wasn't running linux and my uptime was six hundred someodd days. Impressive to me, for sure.

It was in 2010 that I decided to really figure things out and settle in with BSD. I wasn't going to be beat by something that claimed to be a variant of unix. It was then that I found the handbook - best documentation around, by far. I read it from cover to cover (lulu gladly printed me a perfect bound edition of the pdf), twice. Heck, I refer to it anytime I can't figure something out, even today.

Anyway, for what it's worth, my experience is that FreeBSD is great. Is it great for newb BSD'ers? I'm not sure. One of those newfangled GUI Desktop BSD's might be easier to start with (some are actually FreeBSD derivatives), but then again, FreeBSD is mature, the forums, mailing lists, and whatnot are very helpful and generally happy hangouts. Response time on questions is reasonable. FreeBSD is super stable, yet has pretty recent software packages (if not cutting edge). My experiences with NetBSD and OpenBSD were less than satisfactory - mostly because of NIC issues and package installs. I'm not knocking them though, I really like OpenBSD, in particular, and recognize that NetBSD will run on pretty much anything with an electronic pulse. But, I'd recommend FreeBSD for anyone willing to put in a few hours of reading before installing.

One way I think about FreeBSD and the other BSD's is as follows. FreeBSD is to Fury and Ghost as Debian is to Mint and MX Linux. Dragonfly is to FreeBSD what Devuan is to Debian. FreeBSD is to NetBSD what Debian is to RedHat. It's not a perfect analogy, but it's mine :).
 
Back
Top