In the following lines you will find a brief but sort of complete explanation about what is FreeBSD and why FreeBSD might be of your interest. If you are already a Mac or Linux user this could be more relevant for you than you would imagine. Enjoy.
FreeBSD is an operating system, a unix-like operating system. Just in case you don’t know and just fell off here, an operating system is what let’s you run programs and provides you interaction with the computer or device you use, such as phones, tablets and other computing devices around. FreeBSD isn’t called a UNIX system because of trademarks, copyrights and those kind of “business” agreements. Because its history can be traced back to the seventies when AT&T developed he UNIX system and was allowed to license it to universities, research centers, etc. it can be called heritage UNIX. There were two UNIX trends back in the day. System V and the BSD. FreeBSD doesn’t share any code with any commercial UNIX system. But the contrary happened, it happens and it will continue to happen. Many systems share parts, small or big from FreeBSD. The MacOS X from Apple heavily borrows the from the kernel space as well as the UNIX user-land from FreeBSD. Sony grabs the kernel and plays with it in the PlayStation4. Others such as Netflix or Whatsapp use the whole operating system for their daily operations with very minor modifications to adapt the tool to their incredibly big market. And this is why FreeBSD matters still today.
The new kid on the block in the “UNIX world” is called Linux. Since the IBM blessing in the early 2000’s its growth has been steady. But Linux is not a complete operating system. It’s just a kernel. A Linux distribution is a complete operating system. This distinction is important because in Linux sometimes it’s difficult to know where the system ends and where the third party software starts. Not in code terms but in responsibility terms. If something breaks where does the problem come from. Is this library the problem? Who set this? A third party did it or is it the OS problem? You can install a Linux distro and you are using software released two years ago. Why? Stability, predictability, integrity and the like come in from the release team. The development model in Linux can look clunky and the distribution makers fix the interoperability problems. Therefore the distro sets the OS and the third party packages that work well with it. In the BSD’s camp (FreeBSD, NetBSD, OpenBSD and derivatives) the model is different. They set a clear boundary with the necessary components to have a standalone operating system. The rest are third party applications set in repositories. If Filezilla breaks it’s not FreeBSD’s fault. This is very similar to the more commercial world in for example Windows. You install an OS and then you cherry pick the programs you need. It’s probably the third party program problem if it doesn’t work. Why blame Microsoft? Although they can be blamed for many things… don’t get me wrong. But not for this.
In FreeBSD you can get third party software from the repositories. Binaries come in using the pkgng tool. To this date there are more than 25.000 packages available. They project started with just 70 in the mid-early nineties. But you can also compile those programs setting your own configuration preferences. If you need something hand made the Ports platform and its tools are just for you. You can even set your own repository compiling the packages yourself and have a centralized distribution model using Poudriere. A great tool. This point can be particularly good for those who are picky in their software choices. Or those who are working in the enterprise and would like to have more grained control. All in all the best of both worlds, compiled binaries or source ready to go, can be found here. And this is yet another why FreeBSD could be relevant to you.
Licensing is another BSD camp distinction. You may like it. Or may not like it. It may fit your purposes or it may not. The FreeBSD license has two clauses.
Copyright 1992-2016 The FreeBSD Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
What basically means is:
1.- Use this software as you like. You can contribute back or not. Make modifications and share them or not. Just use it, we’ll be happy for it.
2.- Don’t sue us. Thank you very much indeed.
This allows a company like Apple, or Sun back in the day, to grab fundamental parts of the OS and develop a closed source operating system and environment. But companies do also need new ideas, development, and new blood. Open source licenses fit in here. And the BSD license helps in both regards.
The nowadays use of the GPL reminds the classic Copyright behavior. Big blue and the like learned a lot from the UNIX wars and the GPL serves very well as a stable platform where every party involved can sanely play with the others. They are not harming each other, they develop their software and the interest with it in an open and collaborative way. And the money just comes from other business areas. Code isn’t everything. It can be a tool not just an asset. This works well for big companies. But software developers pay mortgages, cars and food as the rest of humanity. Someone has to pay the party somehow. Open development is great but not the panacea.
All in all FreeBSD is an open source operating system, a very capable one because important companies are using it or are effectively grabbing important bits from it for their own projects. It has a clearer development path and a third party software model that works very well. This means you can choose between two or even three PHP versions. Different SQL databases and different versions of each. The licensing also provides the best of the two worlds. Open source helps development and encourages improvements. Copyright ensures companies survival, development and protects core interests. It’s not black and white. This is where the grey scale is found. If you need black or white, or both, go Copyright or GPL.
Almost like a Supernova collapsing many Sun projects forked and created new companies and projects after Oracle bought Sun and closed the source for everything Sun Microsystems had contributed to the world. The Illumos project is the umbrella for the kernel development. Joyent and Nexenta are just two resulting successful examples of that explosion. FreeBSD borrows a few bits from that period and features a very desirable, loaded with many goodies, file system. Enter ZFS. Developed at Sun Microsystems it was open sourced in 2005 when OpenSolaris was published. It was rapidly incorporated into FreeBSD and stabilized later. A fork was created and now OpenZFS is the organization in charge of this amazing file system. This filesystem has amazing features such as self-healing capability, it’s copy-on-write, it can rollback to a well-known stated if anything goes sideways, it has compression and deduplication, and some other fancy things. This set allows FreeBSD to have “boot environments”. If after an upgrade your system isn’t working correctly you can roll back to the last well known state while your home directory and your data stays untouched. No more craziness when upgrading fails, developing ultra new software, etc. A very nice why FreeBSD answer.
Speaking of features there are two more worth speaking about. One being Jails, the other being D-Trace. Jails were introduced in the year 2000 and the concept was simple. Creating an environment inside the system where programs, users, processes, etc can be set apart, jailed so to speak. The kernel is the same for the host environment as well as for the jail but processes and users inside the jail cannot access the host. This is crucial and differs from chroot. Many still think of Jails like if it were the FreeBSD version of chroot in Linux. Yet similar, FreeBSD jails go ages forward into that separation. Developers at Sun were inspired by this idea and created Solaris Zones. Have you heard about Linux containers or Docker lately? FreeBSD and Solaris were the first to get to that idea and developed feature reach utilities to manage those environments. They were both ahead of their time.
D-Trace is an amazing tool which allows you to see anything running on the system. It is useful to troubleshoot problems in the system, find performance bottlenecks, and much more. Not surprisingly Apple implemented this tool into Mac OS X.
These are the main reasons why FreeBSD is important today. The history, the capabilities, the straight forward and business friendly licensing and the strong community set FreeBSD apart from the rest of the UNIX and unix-like world. Did you ever ask yourself why FreeBSD ?