Why not FreeBSD

Status
Not open for further replies.
Let me first say that I really appreciate FreeSBD. It is a great project. I am wondering though why major Internet companies like Google, Facebook and Amazon are using Linux instead of FreeBSD. I mean these are very smart and tech-savvy people. Why aren't they choosing FreeBSD although it even has the same major advantages like no license costs and source code availability?
 
Major companies do in the OS field what they do in others: they let others sow, water, fertilize, weed, and when harvest time comes, they reap the benefit.

And what is really cool is that the GPL protects major companies by making it harder for small companies to earn money, though the GPL was absolutely not intended for that, of course.

In fact, major companies are happy because they have the choice of using either Linux when the GPL creates an advantage for them, or using FreeBSD when the BSD license is more appropriate.
 
In Google's case, either Sergey or Larry stated, in an interview, that they used Linux cause it was what they were used to from using it at school and no other reason.

Didn't Facebook once use FreeBSD at the beginning? I may be mis-remembering.

In any case, people will often use what they are used to or what other people are using and do no investigation on their own. In my case, I was used to using real-time OSes and custom OSes. I learned UNIX from my Silicon Graphics days. When I wanted to start a webdev company, my brother-in-law was a high level project manager at a large Windows shop and gave me a lot of free software. But when Microsoft made changes to .NET that caused us millions of dollars and hundreds of lives, even he suggested we switch to Linux.

I honestly don't recall the reasons I dumped Linux for FreeBSD beyond the unprintable words I used to describe it in my attempt to use it. I just remember grabbing the floppies I had and installing it on an old computer and realizing how easily everything came together and made sense.

iow, despite the pressure I was under at the time, we took the time to do a little research and came up with the perfect solution rather than let ourselves be led around by the nose as most people are today as they let themselves be guided by reddit headlines.
 
Some key apps like Dropbox or VMware Workstation do not run on BSD unless you switch to alternatives. So in my company there was no other choice than to use Linux for Desktops. Also consider that especially Clear Linux is 10-20% faster now, which starts to make a serious impact.
 
Some key apps like Dropbox or VMware Workstation do not run on BSD
I am using Dropbox with 3 different client projects on FreeBSD using my browser sharing LibreCAD drawings.
Not sure what the application does that the website does not but I am currently doing business using it.
I password protect the drawing archive files to have some peace of mind that to snoop Dropbox would have to hack my passwords..
 
Also consider that especially Clear Linux is 10-20% faster now, which starts to make a serious impact.
Given the fact that only a few percent of time are spend in kernel, a 20% speed increase there it should be hard to notice.
 
If Linux really has some serious technical flaws, don't you think that companies like Google, FB, etc. who are heavily using it, would have noticed and would look for an alternative?
 
You assume rational thinking there. People have seen flaws in DOS and Windows all the time, but too often it is not the OS that makes the decision but "can it run Crysis.. ahem - Lotus/Word/SAP/Matlab/....?"

As long as it is "good enough" and the better OS is making less benefit than loosing some important tool, well, there you go.
 
In big/large business fundamental decisions are quite often made by single/couple/small group of people, and quite often technical matters are just part of it (you can invent a justification later).

When there is more than one possible supplier and one supplier have good relations with someone of that group that supplier is the most likely to be choosen, either because they like it more, or because they trust the guy behind it or want to help him, or etc. It is easier to deal when you already know how the person work/think. At the end, personal decisions.

At the same time, when those people are replaced they may just decide to change the supplier to one they like more, in the exactly same way the previous one was choosen...

Most people whom are not used to deal with vastly amount of money would get shocked to see how people driving big/large business deal with money.

- Oh, that will just cost 1-5 millions more? Fine, I almost had a heart attack, I thought that will be a lot of money. lol
- What, 100K? Are you joking? 100K don't pay my car. lol

And most important that is not their money...

[EDIT]

And there still have that guy who every year have a pretty large budget to burn and if he/she actually make the things more efficient (and cheaper) the whole budget will not be spent, he/she may see a considerably smaller budget in the next year...

Or companies making a lot of money with support contracts. If they do implement things quite well and efficient the money flowing from support will be skinny...
 
Why aren't they choosing FreeBSD although it even has the same major advantages like no license costs and source code availability?
Obviously, the above are not really considered to be advantageous. Most companies that have adopted and contribute to Linux don't sell kernels but upstack implementations of services and application stacks. They don't care if the BSD license allows them to close the source because they're not in the business of selling operating systems. Apple still do so it makes sense for them not to use Linux.

I am wondering though why major Internet companies like Google, Facebook and Amazon are using Linux instead of FreeBSD.
Arguably, the GPL has been a big part of its success. Due to the nature of its license, Linux gained critical mass through the enforcement of upstreaming changes which can potentially benefit all downstream consumers. If Google research and implement namespaces (on linux), Amazon can use (linux) them to build containers for AWS. This helps propagate linux deployments. Now compare that to Google implementing namespaces on FreeBSD and keeping the technology to themselves (apple style, no upstreaming). Amazon have no incentive to adopt FreeBSD because there is no practical benefit eventually stifling adoption.

Evidently, this creates a structure that is supported by a collaborative framework that benefits all contributing parties. The level of development gradually improves the state of the project which becomes more appealing to reluctant companies which in turn end up contributing in one way or another. In simpler terms, Linux came up with the recipe for what is called a virtuous and for some, vicious cycle.
 
The most important skills for sales person are to look good at golf while always being only a tiny bit behind you, placing the two sales events for customers on the Bahamas on different weekends one week apart without looking clumsy and knowing which customer should bring his wife and who shouldn't *wink wink nudge nudge*.

Knowing the actual product comes way later.

FreeBSD lacks these resources (and sales dudes).
 
You assume rational thinking there.

There are VERY rational choice criteria in purchase decisions:

- Head of IT positions are not that common and when you get one, you don't want to loose it. If you have to choose a technology, you will choose one from Oracle, Google, Microsoft, etc. If it sucks so much that your projects fail, it won't be your fault, you have trusted a Fortune 500 supplier.

- Sometimes, if you did your job right, you would have to bring bad news to the top management. But you know that those who bring bad news are always penalized and you'll be retired in a few years. If you do a bad job, someone else will endure the consequences, not you.

- From the supplier's point of view, doing a good job is not profitable. In a finite world, an infinite growth can only be achieved through destruction/rebuilding cycles and/or creative inefficiency. A well-know example is planed end of service in printers and printer cartridges.
 
Because penguins are more attractive than beasties.
Please search the web for "FreeBSD Daemonette". I think the images are safe for work, but depending on your employer, you might want to be a little careful.

EDITed to add: I found some daemonette material on the web that is absolutely NOT safe for work, and explicit pornography. A google image search for "bsd daemonette" is reasonable, but other searches may not be. So please do not look for this if you are easily offended, or if someone else could get upset (like your employer).
 
Last edited:
And there still have that guy who every year have a pretty large budget to burn and if he/she actually make the things more efficient (and cheaper) the whole budget will not be spent, he/she may see a considerably smaller budget in the next year...
Ah memories; working for government many years ago, we soon learned to keep a "Christmas wishlist" of everything we asked for during the year but couldn't get (because management wouldn't spend money on it). As the end of the year neared, we would get a request from management saying "we have X millions (or whatever) to spend before the year runs out; what should we buy?" And we would give them the Christmas wishlist and just say "start from the top and buy everything until there is no money left. Please put a line below the last item you managed to buy". Then we would start next year's Christmas wishlist with the items below that line.
 
Another aspect to consider is that it will be a lot easier to find programmers who are familiar with Linux than those for FreeBSD. So if they do come across a hiccup and need that fixed then the solution for that fix would automatically be a lot more accessible to them.

There are dozens of reasons why people would favor one product over the other. Still, instead of discussing it (which seems kinda pointless to me) you might want to ask the source instead.
 
Another aspect to consider is that it will be a lot easier to find programmers who are familiar with Linux than those for FreeBSD.
I don't disagree with this but employers, I find, don't seem to understand that a professional can learn things and come up to speed rather quickly.
 
I don't disagree with this but employers, I find, don't seem to understand that a professional can learn things and come up to speed rather quickly.

And that knowing one system greatly helps learning the other.

Furthermore, differences affect mostly systems programming, which is not the most prominent area where programmers are needed.
 
Let me first say that I really appreciate FreeSBD. It is a great project. I am wondering though why major Internet companies like Google, Facebook and Amazon are using Linux instead of FreeBSD. I mean these are very smart and tech-savvy people. Why aren't they choosing FreeBSD although it even has the same major advantages like no license costs and source code availability?
Every OS has it's stregths and character. I think they use a lot of *BSDs in the router and gateway space.
For virtualization they prefer Linux IMHO because of tools like docker that automate the containerization. FreeBSD still does not have comparably good tools for that. Sure there is iocage, plain jails, cbsd and so on, but nothing comparable to the docker infrastructure.
Also, Linux provides wider hardware support and is more up to date with that.

I myself have chosen to base my cloud on FreeBSD but we had to invest in 1,5 man years of SW development to get us really going with the jails.
 
Why my company runs Linux on critical services (CRM, web, e-mail, spam filters, and so on...) and not FreeBSD:

- People familiar with FreeBSD are much harder to come by, as mentioned above. It feels like for every 50 people familiar with Linux there's one guy with FreeBSD experience.

- Hosting is limited. Harder to find tech support staff if you have problems with your BSD box. On clouds, custom kernels getting in the way. E.g. I've had a FreeBSD box on a cloud hosting I couldn't upgrade because it ran a custom kernel they provided to make it compatible with their hardware. Snapshots weren't working properly. Support was like, "oh, that's because you're running a FreeBSD. It works for everyone else on Linux." Not BSD's fault, of course.

- No reasonable server defaults. I remember we've had to tweak sysctls endlessly to get boxes working properly in some fairly standard environments, e.g. caching and optimizing proxy. Our admins were something along "geez, this stuff just works on Linux! We should wipe it and install Linux." Eventually, as a CTO, I tried to steer the company towards BSD but didn't force it, and let our admins decide what they want. Eventually most of the boxes were switched to Linux.

On the desktop:

- Many key apps not running or requiring lots of time to find a workaround. Someone above mentioned Dropbox works for them. Well, great example. I go to Dropbox's web site, there's Ubuntu and Fedora binaries to download, and the source. There's no FreeBSD. End of story. Nobody is going to waste their working hours trying to fiddle with getting stuff to run. No TeamViewer. ML software is behind. No Tensorflow. No CUDA. So much stuff is Linux-centric these days. I still run Skype in a Chrome browser. (And yes, I can't replace Skype with something else.)

- The Wi-Fi ecosystem is ancient. 802.11ac doesn't work. Is there a nice GUI app to switch networks? (I use WiFi Networks Manager. Damn!)

- Poor reasonable desktop defaults - there was a thread not so long time ago about this. FreeBSD is not geared for any particular use out of the box. You have to make some effort to get it running well. This is great, but doesn't contribute to its popularity. This is not appealing to many people who need to get their stuff done. I am running FreeBSD on my main laptop, but only thanks to that I've had a MacBook and had a year or so playing with it and tweaking it endlessly (with multiple reinstalls) on a second laptop until I said - yes, this is now my primary OS. Most people probably don't have that luxury.

- Occasional stuff breakage in the repos. I remember something broke X in my case on FreeBSD 9 (or was it 10?) and it wasn't repaired for weeks. Right now I have Scribus segfaulting, no fix. There are many more hands working on Linux, so if something breaks chances it will get fixed sooner are higher.

Please take all this as me simply whining. My lazy ass should learn how to port and help other people, I know. FreeBSD and OpenBSD are the most sane environments I've encountered in computing. I love them and thank all the people working on them. I understand there are people shortages, it's a hobby for most contributors, and nothing is perfect.
 
Why my company runs Linux on critical services (CRM, web, e-mail, spam filters, and so on...) and not FreeBSD:

- People familiar with FreeBSD are much harder to come by, as mentioned above. It feels like for every 50 people familiar with Linux there's one guy with FreeBSD experience.

- Hosting is limited. Harder to find tech support staff if you have problems with your BSD box. On clouds, custom kernels getting in the way. E.g. I've had a FreeBSD box on a cloud hosting I couldn't upgrade because it ran a custom kernel they provided to make it compatible with their hardware. Snapshots weren't working properly. Support was like, "oh, that's because you're running a FreeBSD. It works for everyone else on Linux." Not BSD's fault, of course.

- No reasonable server defaults. I remember we've had to tweak sysctls endlessly to get boxes working properly in some fairly standard environments, e.g. caching and optimizing proxy. Our admins were something along "geez, this stuff just works on Linux! We should wipe it and install Linux." Eventually, as a CTO, I tried to steer the company towards BSD but didn't force it, and let our admins decide what they want. Eventually most of the boxes were switched to Linux.

On the desktop:

- Many key apps not running or requiring lots of time to find a workaround. Someone above mentioned Dropbox works for them. Well, great example. I go to Dropbox's web site, there's Ubuntu and Fedora binaries to download, and the source. There's no FreeBSD. End of story. Nobody is going to waste their working hours trying to fiddle with getting stuff to run. No TeamViewer. ML software is behind. No Tensorflow. No CUDA. So much stuff is Linux-centric these days. I still run Skype in a Chrome browser. (And yes, I can't replace Skype with something else.)

- The Wi-Fi ecosystem is ancient. 802.11ac doesn't work. Is there a nice GUI app to switch networks? (I use WiFi Networks Manager. Damn!)

- Poor reasonable desktop defaults - there was a thread not so long time ago about this. FreeBSD is not geared for any particular use out of the box. You have to make some effort to get it running well. This is great, but doesn't contribute to its popularity. This is not appealing to many people who need to get their stuff done. I am running FreeBSD on my main laptop, but only thanks to that I've had a MacBook and had a year or so playing with it and tweaking it endlessly (with multiple reinstalls) on a second laptop until I said - yes, this is now my primary OS. Most people probably don't have that luxury.

- Occasional stuff breakage in the repos. I remember something broke X in my case on FreeBSD 9 (or was it 10?) and it wasn't repaired for weeks. Right now I have Scribus segfaulting, no fix. There are many more hands working on Linux, so if something breaks chances it will get fixed sooner are higher.

Please take all this as me simply whining. My lazy ass should learn how to port and help other people, I know. FreeBSD and OpenBSD are the most sane environments I've encountered in computing. I love them and thank all the people working on them. I understand there are people shortages, it's a hobby for most contributors, and nothing is perfect.

I feel you completely. I have been using FreeBSD as my desktop OS for 1,5 years so far. I have still 2 or 3 issues that have not been resolved, most notably - sound crashing sporadically and needing restart.
For the occasional breakages there is a remedy though. You just snapshot your system frequently and if something breaks after an upgrade, roll back, report and wait for a fix.
Also, I use Arch in parallel - stuff breaks there too occasionally. It's natural, so just by using snapshots wisely I have been able to work very well so far.

I think that a FreeBSD box is meant to be tweaked to the max with quite a lot of effort but once you have it working well, snapshot and forget it for 10 years - it's just going to work.
 
Status
Not open for further replies.
Back
Top