why the move from freebsd to debian (or any other linux kernel for that matter).

Hey folks,

i'm very much a novice with xBSD and linux(s) and i love their purpose! I've posted other questions in the past and found that you're all just as adept with the linux-based os's as you are with xBSD...

so here's my question: why are developers choosing to move their OS's away from bsd to linux? for example, truenas. why would they choose to port their source code to the linux kernel after all that work on BSD?
I'd ask the same about netgate with TNSR, but i guess after reading about the dpdk support, i can understand why linux would be chosen, however I thought i read that bsd's netmap follows the same concept of moving packet processing into user space and out of the kernel and achieves the same result without being 'proprietary to intel' (like the dpdk.. however correct me if i'm wrong).

i'm probably completely off with my questions, which is why i'm asking all of you to enlighten me.

thanks in advance
 
iXsystems is very committed to FreeBSD and are not moving their TrueNAS Enterprise or TrueNAS Core products to Linux.

What you are referring to is TrueNAS SCALE. The L in SCALE refers to the L in Linux.

The *only* reason why they are using Linux for it is because SCABE is a terrible name.***

*** May or may not be entirely backed up by facts.
 
I would be making a guess, but it could very well simply the side of support. I haven't used TrueNAS to say for sure; it can be just simply some of the core software is better supported on linux and/or any patches they've been carrying themselves isn't needed on linux. This would especially be true, if they want to get on the band wagon of supporting kube/docker.
 
I'm not sure about any Netgate specifics but, for both Netgate and iXsystems a business assessment holds. iXsystems' developers are—hopefully—an important part of their company assets, so are revenues. The OpenZFS initiative functions as a central hub for all ZFS development and both FreeBSD and Linux are, for all intents and purposes, supported as equal citizens. The one big structural difference is that ZFS has not been allowed to be an explicit part of the Linux kernel distribution and therefore cannot be developed "100% in sync" and because ZFS is a Linux kernel module it must adapt to a changing kernel API. FreeBSD did and does not have that problem: ZFS has always been an integral part of the base-install and its kernel since its adoption after Sun open sourced ZFS.

For Linux the ZFS development is proceeding in such a manner that nowadays many consider ZFS for Linux production ready. That means for a storage solution company like iXsystems the attractiveness to diverge in to Linux becomes apparent: think of all the more or less perceived goodies such as Docker. Combine that with the greater appeal with the general public of anything Linux and as a business you'd probably not be doing yourself a favour if not at least dipping into the Linux (ZFS) pool.

That doesn't mean that, because of such developments, you should not be considering FreeBSD. If it suits your purpose or if you find it attractive, you can gain knowledge about FreeBSD here and in many others places and you can make your own informed choice.
 
One aspect that comes up more in relation to desktops is hardware compatibility. Linux often has better support for the "latest and greatest" hardware than does FreeBSD. We usually care about it for graphics, but sometimes it matters for server hardware.
OpenZFS, Linux GPL, "not a real kernel filesystem": imagine the effort (time and manpower) that a Storage company puts in to make sure the filesystems they use are rock solid. OpenZFS on Linux if it gets patches/updates from ixSystems, I think FreeBSD can immediately benefit (assuming the changes are not in the Linux kernel interface).
To me that is a win for FreeBSD.

Rereading ixSystems blogs and product stuff, to me, the move to Linux for one of their products is because of "everything else" that others mentioned here, things like Docker.
 
there are various reasons:

  • lack of developers in the BSD ecosystem, as example the samba problem. I consider samba quite important, yet we only have version 4.13 in ports which is end of life since march. I now have to migrate some clients from FreeBSD to Linux because of their security policy. Samba is developed on Linux, so adapting it to work on FreeBSD is a lot of work. Bug 263874 shows that there are just a handful of devs...
  • "more features" on the Linux side: more hypervisors, more filesystems, more container solutions, kubernetes makes designing a highly available distributed systems really easy
  • more supported software: lots of software is basically run on Linux, or packaged for Linux so why not offer this in the vendors appstore? - Ever tried to get nextcloud with collabora online to run without Linux?
  • "docker support": most vendors ship their software as oci compatible containers, thus you can just download and use the software.
  • much more PR from Linux Foundation and others compared to the tiny tiny FreeBSD Foundation.

My bet is Truenas will move to run 100% Linux in the long run.
 
"more features" on the Linux side: more hypervisors, more filesystems, more container solutions, kubernetes makes designing a highly available distributed systems really easy
This is linux software that needs linux syscalls.
More hypervisors such what? Bhyve is in the base.
Why do you need more filesystems? Because you're used to linux ones?
more supported software: lots of software is basically run on Linux, or packaged for Linux so why not offer this in the vendors appstore? - Ever tried to get nextcloud with collabora online to run without Linux?
What is a vendors appstore?
"docker support": most vendors ship their software as oci compatible containers, thus you can just download and use the software.
Docker depends on linux syscalls. You can use jails or bhyve for that.
 
  • "docker support": most vendors ship their software as oci compatible containers, thus you can just download and use the software.
At risk of putting words in your mouth which really isn't my intention, this really does translate on a technology level to:
  • "Linux support": most vendors ship their software as Linux binaries, thus you can just download and use the software
And that is fine. Since the dawn of computers, software has often only been supported on operating systems different to the ones we might currently be using. It isn't really a disadvantage as such. Otherwise we would all be using Windows on our workstations right? No chance!

Ultimately Docker *is* Linux and thus only Linux can run Docker (i.e do you know of any other OS that "runs" Docker without running Linux in an emulator?). Therefore it seems counter intuitive for a company to migrate to Linux now suddenly, when they have *never* been able to run Linux software on other operating systems in the past and were just as fine with that back then.

Unless we are saying that Linux is suddenly becoming so popular that a company *needs* to interoperate with it. Then that is fair. But again, has always been the case for server software since the early 90's. It seems odd for a company to suddenly wake up now and realise that.
 
Why do you need more filesystems? Because you're used to linux ones?
Right? Why would you need more than one or two good ones? I think what's driving the filesystem explosion in Linux is the fact that ZFS cannot be natively integrated with it for political reasons. There's simply nothing better (that's free) in the you-need-a-volume-manager space. Special-purpose things like squashfs work just fine in Freebsd.

What is a vendors appstore?
It's something I don't want.
 
I try not to be a zealot about the operating systems that I choose to run(I'm not suggesting you're a zealot). I prefer to opt for a live and let live attitude, that is, use whatever operating system meets your needs. I use the BSDs, Linux, and I even have one Windows 11 laptop (****gasp****). I honestly don't think that there is a "best" operating system. Every OS has strengths and flaws. I've been a huge fan of FreeBSD since 5.x. It's all good.
 
This is linux software that needs linux syscalls.
More hypervisors such what? Bhyve is in the base.
Why do you need more filesystems? Because you're used to linux ones?

What is a vendors appstore?

Docker depends on linux syscalls. You can use jails or bhyve for that.
no, you cannot ... I will leave it just with that cause I am tired of explaining the advantage of application level containers vs system containers.

It is not what we, the odd it nerds want, it is about market share, feature-bloat and PR. So e.g. with many filesystems supported you can cater many different requirements; with the firecracker hypervisor I can start Linux VMs faster than a FreeBSD jail and with the KVM hypervisor I can run Windows ME - it is about choice for many vendors, most go for the big market share and not for the niche.

vendor appstores: 99% of users want appstores with their products - install any plugin/addon on your nas system, firewall or whatever device - almost noone is interest in downloading software, setting up the database, doing request routing, firewall rules, user and permission management and finally reading a multi-page instruction on how to get something to run when you can just download that appcontainer and run it instantly, perfectly setup as your vendor suggests.

agree to kpedersen since docker was ultimately a solution to the Linux app distribution problem we do not have, but added quite some nice features in addition to that.
 
It is not what we, the odd it nerds want, it is about market share, feature-bloat and PR
That's how opensource works, you rely on work by people that do in their free time and for free. You can pay someone to do something exactly how you want, tho.
So e.g. with many filesystems supported you can cater many different requirements
What software needs many filesystems supported?
with the firecracker hypervisor I can start Linux VMs faster than a FreeBSD jail and with the KVM hypervisor I can run Windows ME - it is about choice for many vendors, most go for the big market share and not for the niche.
You just described bhyve.
vendor appstores: 99% of users want appstores with their products
Where this number came from? Who is this "99% of users"?
install any plugin/addon on your nas system, firewall or whatever device
You're talking about an appliance similar to pfsense/opnsense, which is specific for a specific scenario. This also doesn't exist on linux world unless there is an appliance for this specific scenario. Or you just install a full fledged ubuntu and use their appstore to configure a firewall?
perfectly setup as your vendor suggests
What vendor suggests using a distribution appstore?
 
"Vendor appstore" is that the same thing as an "apt repo hosted by the vendor" or "yum/dnf/rpm repo hosted by the vendor"?
install any plugin/addon on your nas system, firewall or whatever device
Does this not involve downloading software? The rest of what you are saying is basically "run everything in it's own container, the container is preconfigured by someone else". Well what if that preconfiguration doesn't meet your needs? You're going to have to
finally reading a multi-page instruction on how to get something to run
aren't you? And because it's hidden in a container, you're going to need some super secret decoder ring to configure that container and then what happens when you upgrade?

About the only thing I agree with is "there are normal users that represent X% of the market, and abnormal users representing 100-X%". But one needs to look at the product on offer: pretty much everything offered by ixSystems is not really for normal users (my opinion). They make it easier for a normal user to setup and get started with, but I'd guess that type of user isn't looking to add apps and plugins and horses and unicorns. "I just want to set up a NAS on my home network and have it work".

The ixSystems that are migrating to Linux based is certainly not for "Joe average user that wants to play Birds on his phone".

But all this is simply my opinion, agree, disagree, no skin off my back. Take it for what you paid for it.
 
What software needs many filesystems supported?
some of the products I was involved in developing, to mention the biggest and the smallest: for a platform we needed oracle cluster filesystem and for the corresponding embedded systems we needed a log-structured filesystem.

You just described bhyve.
no. I have been migrating old and ancient software on old and ancient operating system and you cannot run that with bhyve.

What vendor suggests using a distribution appstore?
loads of vendors suggest using their docker containers, just google
Where this number came from? Who is this "99% of users"?
don't be picky and just take "most users" instead, like "most users" use Windows or MacOS.




aren't you? And because it's hidden in a container, you're going to need some super secret decoder ring to configure that container and then what happens when you upgrade?
I am, I have no problem with research, man pages and setting up stuff. But most users do not want that, they want to click and run that thing, they do not care what database or cache system is running inside that container or whether there is a node app or a php app running. Upgrade? same as with other software.
 
some of the products I was involved in developing, to mention the biggest and the smallest: for a platform we needed oracle cluster filesystem and for the corresponding embedded systems we needed a log-structured filesystem.
Then you have a bad product, why in the hell a software will requires a log-structured filesystem!? Specially about how the garbage-collector on this kind of file systems works. Not to mention that is a kind of filesystem that doesn't provide snapshots and are prone to many performance penalties.
no. I have been migrating old and ancient software on old and ancient operating system and you cannot run that with bhyve.
Strange, because I was able to run windows 2000 on bhyve. Are we talking about 80s software?
loads of vendors suggest using their docker containers, just google
Ad populum.
don't be picky and just take "most users" instead, like "most users" use Windows or MacOS.
And since when Windows and MacOS users needs something to work on FreeBSD?! Oh, yeah, the "most users" and "loads of vendors" thing....
Let's take this serious: You want to learn one thing and use it anywhere. That's the same reason why people complain about the lack of docker on FreeBSD all these years.
 
Then you have a bad product, why in the hell a software will requires a log-structured filesystem!? Specially about how the garbage-collector on this kind of file systems works. Not to mention that is a kind of filesystem that doesn't provide snapshots and are prone to many performance penalties.
just because you have no idea about the requirements of the product does not mean there are no specific requirements. You really think everything you have no use for was invented without a reason, don't you?

Strange, because I was able to run windows 2000 on bhyve. Are we talking about 80s software?

Ad populum.
pic or it did not happen! concerning ad populum, you missed my point. whats next ... let me define what "loads of vendors" mean just to google and print you a list here? pff...


What is this thing about docker & kubernetes & flatpak. Are these important or not and why ?
kubernetes is basically one of the most used software stacks to provide cloud solutions - compared to designing your own distributed system it is quite easy to just deploy your (docker) containers over a large amount of physical or virtual machines. The complexity gets abstracted away, network routing, (ip) failover, load distribution happens according to your configuration. And configuration is usually done in a yaml-file (so it is declarative, and does not happen via commands), which goes through the same stages as software in the software development lifecycle. Docker containers (contained evolved and now its better to call them OCI containers since they built a standard specification around it. Flatpak is similar, but is more targeted towards desktop usage.
 
just because you have no idea about the requirements of the product does not mean there are no specific requirements. You really think everything you have no use for was invented without a reason, don't you?
pic or it did not happen! concerning ad populum, you missed my point. whats next ... let me define what "loads of vendors" mean just to google and print you a list here? pff...
Oh good, we're jumping from ad populum to ad hominem now? I work in the area, I don't "think" anything, if I was "assuming" something, I would say "milions of users and milions of vendors doesn't want it". Since we take down to a childish degree, I will rest my case. So here's an answer for you: No, just because you've learned something on other OS, FreeBSD will not bend to your will to have the same functionality here.
 
another reason for going Linux (not necessarily Debian) is:
  • certification: sometimes your products environment changes. A governmental organisation approached us for our crypto software (it was also the hardware, but that was not noteworthy: consider it a black box those orgs put in their high security bunker to do some sort of crypto stuff - offline of course), however, told us that they need a certified product, EAL4+ and passing the CIS benchmark seemed obvious. We had to switch to one of the namely Linux enterprise editions because of course supporting two platforms did not make sense for us. Furthermore, they wanted us to add PCI-based HSM cards to use for the crypto stuff, so we additionally had the driver issue with FreeBSD.
The whole world of compliance and certification is a world for its own, I must confess, and atm I am working in medtech projects where the situation is also quite awkward.
btw, a nice entertaining video on this topic is:
View: https://www.youtube.com/watch?v=I2rhwnY6Bg4
 
A governmental organisation approached us for our crypto software (it was also the hardware, but that was not noteworthy: consider it a black box those orgs put in their high security bunker to do some sort of crypto stuff - offline of course), however, told us that they need a certified product,

Having been/being in similar situations, this is the first reasonable argument in this thread for a switch to Linux distribution (at least in my opinion). Getting something approved for use in secure environments is a non trivial thing, it costs a lot in time and manpower, so it is often quicker/easier to find out what is already approved and base your product on that.

But it comes with a downside: getting new versions approved still take time, manpower and money.
Lets say the government agency has approved Ubuntu 18.04 for their secure environments. A quick look shows current Ubuntu LTS is at 22.04. Until the agency approves 22.04 you are stuck using 18.04 or you go and help get 22.04 approved. But in the time it takes 22.04 to get approved, you are stuck delivering on 18.04.

I still don't buy the vendor app store argument; it sounds too much like "I just want to load an app on my phone to play Angry Birds". Containerized applications may work fine for some percentage of users, but you are still at the mercy of whomever created the container and how it is set up. If the defaults don't work for you, you need to understand how to change it or is the expectation that the vendor creates a new container version to suit your needs?
 
Back
Top