|2012: a BSD year in retrospective|
|By special contributor Julian Djamil Fagir on 2013-02-14 22:23:01|
|BSD (Berkely System
was a research operating system based on the
original AT&T Unix, developed by the University of Berkeley, California. It has
been Open Source right from the beginning, and after the university lost
interest in developing it further, several community projects started up (the
very first ones were NetBSD and FreeBSD in the early nineties) to continue
developing BSD. Anyway, Linux was born roughly at the same time, but a pending
lawsuit about copyright infringements prevented the BSD projects to become as
successful as Linux (though you could argue about the exact reasons).
This led to Linux having great media coverage, while the BSD projects - though still having fresh innovations and being actively developed - except for new releases rarely make it to the press.
As already covered on OSNews there was a debate about increasing incompatibilities of third party tools with BSD. This has always been an issue, especially for everything but FreeBSD, which has some coverage by hardware vendors as it is often used in servers. Though this was raised on an OpenBSD mailing list, developers are frustrated everywhere. But to understand the reasons for the concern, it's important to understand the different philosophies of BSD and Linux developers. BSD guys are conservative folks, and they have to be: Every decision they make will immediately influence the whole operating system, as the whole BSD userland is bundled together and developed by the same persons and teams. Thus they tend to discuss more of the decisions part of any technical design.
With Linux, you don't have this problem. The GNU/Linux world consists of many independent software projects and distributions bundling them. A distributor can easily decide not to adopt a special version of a tool, but rather stay with an old one in order to preserve compatibility.
So the major issue in this case is not only that there are incompatibilities -- it is a general technical refusal of several implementations, but at the same time being forced to implement things to be compatible with the rest of the Open Source world (and especially desktop environments).
As an example, just browse a random BSD board, mailing list or chat, and search for discussions about systemd. You'll most probably find the worst trolling and ranting about it, while the Linux world in most cases took it with a shrug.
DragonFlyBSD is a fork of FreeBSD after the core developer of DragonFlyBSD, who was a FreeBSD developer at that time, didn't like the technical decisions taken in the project and decided to found his own one.
In 2012, DragonFlyBSD released two new versions: 3.0 on February 22nd, and 3.2 on November 2nd.
The ongoing work to improve SMP and clustering support resulted in exceptionally good PostgreSQL benchmarks also beating Linux, but there were also several other important changes:
When it comes to filesystems, DragonFlyBSD is famous for its HAMMER filesystem, which, informally speaking, is something like a ZFS, but with DragonFlyBSD's more powerful vfs layer. In February 2012, with the conclusions and experiences gained from HAMMER, the development of HAMMER2 started.
While DragonFlyBSD currently uses pkgsrc, the package system primarily used by NetBSD (but being cross-platform), there are intentions to introduce a new system. It is named DPorts, providing binary packages on top of FreeBSD's packaging system, ports. Though it is rather experimental for now, the final goal is to make binary packages and the new pkg tool from FreeBSD the default for coming releases. Users won't be forced to compile packages anymore.
FreeBSD is by far the most active BSD when it comes to sheer numbers, having the largest user and developer base (roughly 80% of the whole BSD community). In 2012, a new minor version of FreeBSD 8 (8.3-RELEASE in April) was released, as well as a new major version (9.0-RELEASE in January) and its first minor release (9.1-RELEASE in December).
With 9.0-RELEASE, there came a long list of changes:
With 9.1-RELEASE, there was a change indicating an interesting development: ZFS changes from Illumos were pulled in. Maybe there is hope for an Oracle-independent development of ZFS?
As many Open Source projects do, FreeBSD had a fundraising campaign at the end of the year, this time achieving a record result: About 750k USD were collected, showing the commercial size of FreeBSD well in comparison to the other BSDs.
The money is spent for maintaining infrastructure and funding new projects, some of which promise interesting results:
For FreeBSD, there were two unpleasant events in 2012: First, the security advisories on the best possible date, 23rd of December (the day just before Christmas holidays, when most administrators had already left). And second, there was another broad security issue this year: a security breach, published on November 17th. Administrators might have noticed that for about one week, there were no portsnap updates to ports trees. The reason was that one week earlier, the security team found an SSH key of a developer compromised as of 19th of September, with access to two ports development machines.
Eventually, the security team announced they didn't find anything security-relevant, but still recommend not to trust binary package installations made in that time frame. In December, everything was completely back online.
NetBSD is the oldest BSD derivate still under development. A few years ago, its developers mostly focused on supporting many platforms and providing a good abstraction to achieve this. Nowadays, the focus slightly shifted to provide a clean operating system. Here, clean means that code should be clean, and new features should be introduced thoughtfully, not just to be removed again after some releases or break compatibility.
Three years after the last major NetBSD release (5.0), NetBSD 6.0 was finally released on October 17th. The NetBSD 5 branch was updated to 5.2 on 3rd of December and NetBSD 4.0 support was dropped five years after its initial release in 2007.
Nearly three years after the last release, there are a lot of changes for 6.0:
In July, there was an interesting post on a mailing list from a Google developer. It addressed the bionic C library used in Android devices, which apparently uses many parts from several sources. The goal of the developer was to merge the code used by Android back with upstream, eventually taking one single C library, and not several different ones. Though the discussion just ended without a result (at least without a public result), it is still nice to see how many projects are actually using parts of NetBSD's code somehwere.
This is also the case for MINIX. On March 7th, MINIX 3.2.0 was released. As the developers of MINIX are mainly researchers who want to use MINIX for researching, and not for developing software, and their userland was fairly old, they decided to use another one: NetBSD's. Thus, from MINIX 3.2.0 on, there are large parts of the ordinary NetBSD userland as well as pkgsrc, the package management from NetBSD contained in MINIX.
OpenBSD is a fork of NetBSD after personal issues between the now-OpenBSD main developer and the rest of the development team back in the nineties. Nowadays, OpenBSD is famous for its focus on security and its radicalness in not accepting Closed Source software, leading to the development of common tools like OpenSSH.
As every year, OpenBSD released two new versions (5.1 in May, 5.2 in November) - they have a fixed periodic release schedule. OpenBSD releases always have a motto and an accompanying release song, sometimes also with a story behind it. 5.1 had the generic motto Bug Busters, while 5.2 had the motto Aquarela Do Linux, referring to the problems Marc Espie pointed out as mentioned before (see "Community").
The major changes in 2012 were:
In June 2012, the project Bitrig forked from OpenBSD. Their philosophy, as opposed to OpenBSD, is mainly about being less conservative. Its developers want to drop the main focus on security and supporting old platforms, but focus on
You should have in mind that I'm part of the FreeBSD and NetBSD community myself, so this report might have been biased towards these two.
I also excluded all the general improvements operating systems go through over time: improving performance, adding drivers, becoming more stable.