My decision to migrate our business to FreeBSD was triggered by Windows10. For the first time, Windows 10 made me feel like I do not own my computer, this was the breaking point. With windows XP all the way to Windows 7, and to a certain extent Windows 8, I felt like Stallman & Cie were kind of excessive ideologues with their free software talk.
I didn't feel anything like oppressed, limited or controlled when using Windows. This all changed with Windows 10 when I found myself constantly fighting against my computer. What I found the most shocking is the harassment to install system updates. Every dark pattern trick ever invented is used. I am the kind of person who constantly leaves my computer powered on to avoid wasting time opening development environments, documents, and other applications and projects I am currently working on every morning. I also tend to keep things open to remember to come back to them a few days later. I could go on for months without rebooting.
However, with windows10, if you haven't installed an update for a few days, try stopping using your computer for 30 minutes or - better - going to bed, and when you come back you will have the good surprise of finding that your computer has rebooted itself to install updates (that are sometimes followed by intensive I/O operations slowing your computer down for hours after the update - without you knowing exactly what's taking place in the background).
If it wasn't enough, random applications such as Candy Crush Saga are now added with every update. Advertisements are now included in the start menu apparently with plans to put ads in the file explorer too. And a bunch of creepy features such as so-called "cognitive services" offering to record and analyze each of your keystrokes give me the uncomfortable feeling that everything I do on my computer is being watched by someone and that nothing is truly private. To the point that I have become worried of writing certain documents on Windows 10. If a backdoor exists, the government can subpoena its way through it and hackers may gain access to it too. Moreover, it is not clear what kind of metadata/data about my system Microsoft now stores in the cloud.
There are many other issues, some of them could apparently be mitigated by upgrading to the "Professional" version of Windows 10 which supposedly provides finer-grained configuration options. But there is a breach of trust at this point, the whole foundation on which this OS is built no longer feels right to me. Moreover the direction they are heading to is pretty obvious.
Having seen how Windows 10 got in the way of my productivity, I realized how much it can kill the productivity of employees. Employees would be better served by workstations configured from the bottom up to allow them to get their job done without friction.
So I decided to find an open-source OS that would be stable and no-nonsense. I rapidly came across FreeBSD and after a few months of studying the Handbook, something else happened. For the first time, I realized how comfortable it feels to know the ins and outs of your system and to have a comprehensive documentation for every system utility. This does not exist in the Windows world and I suddenly realized how much time is wasted guessing, and looking up stuff on Google, only to find a list of tricks and workarounds working or not working without clear reasons. And this is without even mentioning artificial system limitations introduced by Microsoft.
I am now irritated every time I have to use a Windows system. And to add to this irony, even Linux does not fit the bill for me at this point. I find it too inconsistent, bloated and poorly documented. I want to leave this type of ecosystem behind. I want a system that I can configure exactly the way I need, and I want to know that what works today will continue to work tomorrow. I want to know that investing time to learn something today is time well-invested because the paradigm will remain stable for the next 10, 20 or 30 years rather than being disrupted from one update to the other. And I want to know that my time and our employees time will not be wasted because someone decided to fix something that wasn't broken.
My only regret with FreeBSD is the major upgrade process which introduces more friction than I had hoped. In particular with regard to the need to rebuild every package which requires users to backup and manually restore every customized configuration file after the upgrade (if I understand correctly). If it was possible to at least keep the configuration files of packages intact when they are rebuilt/re-installed it would be perfect. However, upgrading is - at it seems to stand - a high-risk and high-friction operation (what about if you forget to restore a customized configuration file from a third-party software you use). This may be good to encourage automating configuration deployment, however it makes the burden of system maintenance quite high for situations where such extensive automation adds more complexity and overhead than it solves problems (single server, focusing on going to market fast and iterating fast and grow the farm progressively as demand increases etc...).
However apart from that I feel more than happy to migrate both our servers and workstations to FreeBSD. I want a single operating system to be used throughout the company so that we get to know our system in depth. I also find it preferable that software be developed and tested on the platform on which it will run. For the rest, FreeBSD makes it inspiring to configure and deploy corporate workstations. For example, jails can be used to sandbox email clients to safeguard them in front of dangerous attachments. And the same is true for web browsers. And these are just a few examples, with many regards FreeBSD opens up many opportunities. And the fact that it runs on so many platforms make this vision of FreeBSD everywhere even more interesting from servers to workstations all the way to embedded devices sold to consumers.