|
Page 23 of 26
22. Alice in BSD-land
The BSD family of operating systems comes in fewer flavors than Linux. The major derivatives of 386BSD and 4.4BSD-Lite are, in chronological order, FreeBSD, NetBSD, and OpenBSD, with a honorable mention to DragonFly BSD. Desktop-oriented FreeBSD spin-offs like DesktopBSD and PC-BSD are still struggling to acquire a production-ready status, yet they provide a very pleasant desktop experience. Needless to say, BSD operating systems can run Linux 2.4 binaries natively.
My first encounter with FreeBSD was after I was introduced to Linux. I guess it was in the times of FreeBSD 2.0.5 and 2.1.5. The BSD-like init system of Slackware helped me to find my way in FreeBSD. I don't remember very much of it, but I know I liked it. Maybe this was because it was really STABLE.
Even before that, I had the joy to discover NetBSD 1.0. It was small, it was interesting, and it looked promising.
At some point I was distracted by Red Hat 3.0.3 and 4.0, and I lost the focus on *BSD.
Created to provide software that may be used for any purpose and without strings attached, the FreeBSD Project had a clear license, no matter it's about the 4-clause or the 3-clause one. Simply put, I love the BSD license for you can summarize it to everybody in a simple way: "Do not claim that you wrote this, and do not sue us if it breaks."
15 years after my first contact with the GNU General Public License, I still have problems in finding the coherence in it. The never ending debates on how does the Novell-Microsoft deal put up with either GPLv2 or GPLv3 (draft), as well as the confusion that reigns over the legality of the binary kernel modules (OK, if they're illegal, why doesn't anybody enforce the GPL?) prove that GPL is a confusing license. The best digest of it would be: "the sources better be available somehow", but the arbitrary of the interpretation of concepts like the "written offer" and the ambiguity on what is a "derived work" consumed so much energy, that a supernova could have been born.
Unlike the governance model used for the Linux kernel, that of a benevolent dictator for life, in which Linus Torvalds approves the modifications he likes, FreeBSD has a democratic model that uses a core team of 9 members, and several other carefully sized teams. The governance model does matter because the FreeBSD project is responsible for the whole operating system, not only for the kernel, as it's the case with Linux. So no, FreeBSD has not a closed development model, but only a mature one.
Why are FreeBSD & friends less used than Linux? The discrepancy is even more visible at the level of the general public, and the desktop usage of FreeBSD is surprisingly low, regardless of the fact that popular cross-platforms desktop environments are working in *BSD just like they do in Linux.
The detractors of the BSD license blame it for the alleged slowdown of *BSD compared to Linux. When there is no guarantee to have the modified versions of your code returned to the community, less people are motivated to contribute. I have to confess that I fail to understand what is all about: after all, you should write proprietary, closed-source code if having someone else using it is a problem to you. Yes, commercial usage should be allowed too, otherwise what's the meaning of the "open" part in "open source"?! Or maybe, as Clinton said once, «it depends of what the meaning of "is" is.»
It's rather that FreeBSD long time resisted to the temptation of making things "easier" in order to entice the Windows users. It's not elitism, as nobody said "we only need smart users", it's responsibility.
Unfortunately, starting with 5.0, the quality and stability of FreeBSD have deteriorated, or maybe it was my hardware that was less supported. Compromises have been made to match the popularity of Linux, and the price to pay was rather high.
Starting with 6.1 and 6.2, I felt like FreeBSD started to recover, and I hope the future will prove it as a stable, rosk solid operating system.
The second-best is not second-best no more. As, Charles Hannum, one of the NetBSD founders,
wrote last year, «The NetBSD Project has stagnated to the point of irrelevance. It has gotten to the point that being associated with the project is often more of a liability than an asset.»
I can't make any judgments on that one, but I noticed that NetBSD 3.1 is a step back in terms of project management than 3.0. With 3.0, a second CD image was available, to offer extra binary packages. This ISO file is not available anymore in 3.1, and the FTP tree is messy and inconsistent. The i386 architecture seems quite neglected nowadays, with i386 binary packages stopping at 3.0, as 3.1 seems to be focusing on the PowerPC platform.
Fortunately, there is OpenBSD too. It is a hard nut, and a "take it or leave it" issue. Theo de Raadt, the founder and leader of OpenBSD and OpenSSH, is known to have a strong personality, and a real repugnance of the closed-source code. Unlike FSF's Richard Stallman, Theo is credible in his approach, and doesn't like any kind of attached strings, GPL included.
Et pour cause! The viral character of the GPL makes that everything that mixes with GPL be only able to be licensed as GPL. As it was once said: the BSD license protects the freedom of the users, whereas the GPL protects the freedom of the code.
The traditionally cold relations between Theo de Raadt and the Linux community experienced a burst of bold reciprocal accusations when an OpenBSD developer was accused of GPL infringement and code stealing by the developer of a Broadcom bcm43xx driver licensed under the GPL (the full thread).
To make a long story short, the controversial driver code in OpenBSD was not meant to be put in the main code tree although it was indeed publicly available, it was just to look at and modify it in-place, so that a working driver could be created in the end. No "stealing" was ever intended, and getting your inspiration from GPL'ed code with regards to data structures, finite state machine models, and whatever else was not documented by Broadcom is not theft.
The dispute got uglier than necessary, however simple conclusions like «The lesson is simple. Communicate and observe the licenses. There is no other way to put it.» are way too simple. The actual dispute generated by the incompatibility of GPL with BSD looked more like a dispute over software patents, with GPL bearing the coats of the patentee. There was a definite lack of common sense and humanity on the Linux/GPL side.
While the most secure operating system (in the default installation), OpenBSD might not be the best choice for everybody. It releases twice a year, with a mathematical precision (unlike Fedora or Ubuntu), but this also means you should upgrade the system: older releases are not supported for long. The FAQ says that «old releases are typically supported up to two releases back.» This does not guarantee 12 months, and the elusive phrasing makes people believe that OpenBSD is only supported for 6 months.
While you don't "have to" upgrade every 6 months, it is certainly to your benefit to do so. There is great wisdom in this approach, because although upgrading is always a stress, OpenBSD advances in small, non-volatile steps that take the hassle out of upgrading. Each release is a large collection of small changes. Also, where other projects are consistently down to the wire with the release date, too frequently pushing an RC out the door as golden master simply because they have delayed things too long and need to start selling, OpenBSD usually has a release finished and ready to go almost a month before the release date.
OpenBSD is not a one-man project: there are some 170 contributors around Theo de Raadt. The engineering team is usually busy with creating drivers and reverse-engineering undocumented chips. Also, any external code passes severe quality checks before it can enter OpenBSD.
This is the team who brought to the whole world the open-source implementation of SSH: OpenSSH. And this is the team who created the OS with the most Spartan installer currently in use.
Unfortunately for the BSD-land, when the Open Source Development Labs (OSDL) merged with the Free Standards Groups to form The Linux Foundation, it was only to assert that *BSD is not supposed to have anything to say in the Open Source and Free Standards areas. It's all in the name of Linux...
|