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



## jcizzo (Aug 3, 2022)

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


----------



## kpedersen (Aug 3, 2022)

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 SCA*L*E refers to the *L* in *L*inux.

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

*** May or may not be entirely backed up by facts.


----------



## ct85711 (Aug 3, 2022)

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.


----------



## Erichans (Aug 3, 2022)

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.


----------



## mer (Aug 3, 2022)

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.


----------



## rootbert (Aug 4, 2022)

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.


----------



## drhowarddrfine (Aug 4, 2022)

We're all doomed....again...


----------



## jbo (Aug 4, 2022)

BSD is dying!!!!!111eleven


----------



## Menelkir (Aug 4, 2022)

rootbert said:


> "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?


rootbert said:


> 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_?


rootbert said:


> "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.


----------



## kpedersen (Aug 4, 2022)

rootbert said:


> "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.


----------



## Jose (Aug 4, 2022)

Menelkir said:


> 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.



Menelkir said:


> What is a _vendors appstore_?


It's something I don't want.


----------



## hitest (Aug 4, 2022)

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.


----------



## jbo (Aug 4, 2022)

hitest said:


> I prefer to opt for a live and let live attitude,


I agree.
For example, I prefer to use Windows over Linux. I get a lot of shit for that but hey... it is what it is.


----------



## rootbert (Aug 4, 2022)

Menelkir said:


> 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?
> 
> ...


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.


----------



## Menelkir (Aug 4, 2022)

rootbert said:


> 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.


rootbert said:


> So e.g. with many filesystems supported you can cater many different requirements


What software needs many filesystems supported?


rootbert said:


> 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.


rootbert said:


> vendor appstores: 99% of users want appstores with their products


Where this number came from? Who is this "99% of users"?


rootbert said:


> 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?


rootbert said:


> perfectly setup as your vendor suggests


What vendor suggests using a distribution appstore?


----------



## mer (Aug 4, 2022)

"Vendor appstore"  is that the same thing as an "apt repo hosted by the vendor" or "yum/dnf/rpm repo hosted by the vendor"?


rootbert said:


> 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 


rootbert said:


> 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.


----------



## rootbert (Aug 4, 2022)

Menelkir said:


> 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.



Menelkir said:


> 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.



Menelkir said:


> What vendor suggests using a distribution appstore?


loads of vendors suggest using their docker containers, just google


Menelkir said:


> 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.






mer said:


> 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.


----------



## Menelkir (Aug 4, 2022)

rootbert said:


> 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.


rootbert said:


> 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?


rootbert said:


> loads of vendors suggest using their docker containers, just google


_Ad populum__._


rootbert said:


> 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.


----------



## Alain De Vos (Aug 4, 2022)

What is this thing about docker & kubernetes & flatpak. Are these important or not and why ?


----------



## rootbert (Aug 5, 2022)

Menelkir said:


> 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?



Menelkir said:


> 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...




Alain De Vos said:


> 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.


----------



## Menelkir (Aug 5, 2022)

rootbert said:


> 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?





rootbert said:


> 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.


----------



## drhowarddrfine (Aug 5, 2022)

Menelkir said:


> just because you've learned something on other OS, FreeBSD will not bend to your will to have the same functionality here.


And I'm sick and tired of hearing about it


----------



## Crivens (Aug 5, 2022)

This kind of thread seems to be rather short lived, I think. Just saying.


----------



## rootbert (Aug 5, 2022)

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_


----------



## mer (Aug 5, 2022)

rootbert said:


> 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?


----------



## drhowarddrfine (Aug 5, 2022)

Crivens I'm disappointed it's lasted this long.


----------



## Crivens (Aug 5, 2022)

drhowarddrfine said:


> Crivens I'm disappointed it's lasted this long.


Me too. After the first insults were thrown, we still got back to interesting and valid argumenty. Good job you all!


----------



## kpedersen (Aug 5, 2022)

mer said:


> I still don't buy the vendor app store argument


Agreed. Whilst it is a problem, it certainly isn't a new problem. We have never been able to run Exchange, Lotus Domino, Sage or any other classic business servers on FreeBSD and yet here it is... still not dead 

I think Docker and containers confuse things a bit but Docker containers are still literally the same non-compatible binaries from i.e Exchange, Lotus Domino, Sage and many other precompiled binaries for incompatible platforms that never ran. The only difference is effectively the glorified init scripts.


----------



## smithi (Aug 7, 2022)

rootbert said:


> another reason for going Linux (not necessarily Debian) is:



Yet another.  If you want to evangelise Linux, you will find endless reasons.  Bigger, wider, thicker, more colourful, shinier, faster, more popular, fits more sizes, some government agencies prefer it ...

Even moreso, of course, for Windows.  Why not go 'the whole hog'?

What I don't understand is why you don't just go there?  Do you need FreeBSD developers and users to come along too?

Genuine question: what do you really want?  How can we help?


----------



## sidetone (Aug 7, 2022)

smithi said:


> Bigger, wider, thicker, more colourful, shinier, faster, more popular, fits more sizes


slower

and flashy instead of better at its core.

The only thing would be more features, but the ratio of features to bloat isn't good. FreeBSD is getting there with features.

Some things I can see about Linux is for embedded and rescue CDs. It can be done with BSD's too. There's rescue Pen drives that are in BSD. The FreeBSD install CD is one, but not for a quick desktop. It would take DIY for an embedded BSD system though with a miniBSD, but a lot of DIY would be needed for an embedded OS on the Linux kernel too.


----------



## Crivens (Aug 7, 2022)

sidetone said:


> but a lot of DIY would be needed for an embedded OS on the Linux kernel too.


That is part of my dayjob. The dependency hell is absurd. Update openssl? Good luck! Even updating bash on the build host will make the build fail as one component there depends on an exact version. The HW vendor only supports some old kernel version, so as a matter of fact the whole build machine is stuck in 2012. Fisher Price OS. </rant>


----------



## _martin (Aug 8, 2022)

I wonder if users as this OP are genuinely asking the question or just trying to steer up flame discussion. Judging mostly due to lack of further responses, as it usually is.

To ask why developers moved from A to B you need to ask those developers.


----------



## freezr (Aug 8, 2022)

Linux is an half-death horse constantly doped...  BigG has already prepared its replacement for the time when maintaining the Linux kernel will be unsustainable. Capitalism is very good at exploiting stuff and the Linux kernel is just exploited!


----------



## wolffnx (Aug 8, 2022)

FreeBSD is dying again??


----------



## Crivens (Aug 8, 2022)

Unix never dies. It just fork()s on a different core.


----------



## sidetone (Aug 8, 2022)

It won't die, though, it seems stagnant. It has a user base that's dedicated to it, that's not going away. The biggest thing, may be features that people need and aren't on FreeBSD. There aren't many of those. The other thing, is FreeBSD is better at its core, but it's a popularity contest. I believe FreeBSD can break out, and will do so when a few features are updated. It's already doing so, as Bluetooth and HID devices are getting better, and video drivers have already improved greatly.


One reason a few people don't stay on FreeBSD was about Samba. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263874. From that, it says that the version changed so much making it difficult to port. TrueNAS has it, because the upstream ported it to there. We assumed it was an implementation that worked with Sambas on other machines, but we didn't realize how old the existing port was as Samba wasn't discussed enough, and the incompatibility was only mentioned on here until more recently.

Another reason would be for GPU processing not having to do with video display.

Not everyone needs those features. Also, if someone's not sharing data with a Windows machine, they should just use NFS, and be made aware of Samba's state. Looking at it this way, most users don't need Samba, and most users don't use GPU processing that's not for their video display. We don't notice what specifically may be lacking on certain ports, unless we try them, dig into them, document it and discuss it for others to see.

The main strength is those who like a good system and like to set it up themselves, and for professionals who don't need those features. FreeBSD needs to get stronger on a few niches, even if it's on the newest features it has.

It may be odd to see me say this, as I'm one of many who are dedicated to use FreeBSD. I thought this for a while, but didn't write it until now.


----------



## Phishfry (Aug 9, 2022)

sidetone said:


> Some things I can see about Linux is for embedded


I have to disagree.
Have you ever built embedded Linux? Yocto is a nightmare compared to NanoBSD.



> Major changes to the rust toolchain build process were merged and this enables target rust, cross SDK and automated SDK testing. Sadly some issues remain and are stopping enabling the tests by default.



The OpenWRT toolchain is better. buildroot has really become my favorite embedded Linux build toolkit.


----------



## benoitc (Aug 12, 2022)

mer said:


> 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?


it’s not really about buying container on any appstore. But now most companies want to reuse hw. installing a supported container or vm is just as easy as buying a device on linux.And it’s easier to ship a container or vm on linux these days unfortunately. Some companies like stormshield wich are doing their product using freebsd only ship linux compatibles vms. Using them under bhyve is a nightmare. Even networking lacks some modern features: sr-iov is not fully working on all nics and no vlan support anyway. 

So some subtle touches are missing on freebsd without any clear roadmap for their support. This is why imo some companies decide to choose linux today.


----------



## cy@ (Aug 12, 2022)

Follow the money. Following the money answers a multitude of questions.


----------

