This is an old revision of the document!


1) Some simple questions to introduce FreeBSD to our readers. What is FreeBSD?

FreeBSD is an advanced operating system for x86 compatible, amd64 compatible, ARM, IA-64, PowerPC, PC-98 and UltraSPARC® architectures. It is derived from BSD, the version of UNIX® developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.

2) Can you tell us something about its history?

The FreeBSD project had its genesis in the early part of 1993, partially as an outgrowth of the 386BSD Patchkit which was in the

Unofficial 386BSD Patchkit

3) Is the FreeBSD Development sponsored from anyone? How can we contribute to help you?

FreeBSD Development is in part sponsored by the thousands of FreeBSD using businesses around the world that contribute developer time and submit patches. Some of the most significant in recent years have been Yahoo!, Apple, Juniper, and now ther

>> I think 1 to 3 can be found refering to http://www.freebsd.org/about.html

4) How many developers are involved in the development of FreeBSD? How do you organize your works and tasks?

We currently have 225 people with write access to the src/ section of our main revision control repository, however we also have a supplemental repository in Perforce for development work which has hundreds of additional contributors. There are also of course many thousands of contributors at companies, universities, and other institutions all over the world that work on FreeBSD as part of their business, research, or hobby. Most of those developers submit patches through other developers which have write access to the repository or they submit patches through our bugs database.

As far as documentation goes we have 75 people owning a doc commit bit, which allows them to change the documentation.

For the ports collection there are 168 people

Note that these numbers are constantly changing, and that some people have more than one type of commit bit. Our doc, ports and src repositories are seperated for security reasons. Granting a doc, ports or src commit bit is also handled by different entities, doceng@, portmgr@ and core@ respectively.

5) GNU/Linux has the penguin Tux while FreeBSD has Beastie. Who is Beastie and why a devil? What's the story behind the mascotte?

First, it is not a devil, it is a daemon. FreeBSD essentially continued using the first mascot from the BSD distributions from the University of California at Berkeley. See http://www.mckusick.com/beastie/index.html for a couple of different variations.

6) “Freebsd is the unknown giant among free operating systems”. Do you agree with the point of view of IBM? (http://www.ibm.com/developerworks/opensource/library/os-freebsd/)

I think this is a fair writeup, albeit a bit dated in places. As someone who dived into the BSD camp starting with 386BSD 0.1 plus patchkit it is nice to refresh those memories.

That said, FreeBSD is indeed not the household name Linux is. There are various theories around the reason why, not the least of which is the legal hassle BSD has been in during a crucial period in the era Linux started to gain strength. In the end it is water under the bridge.

We have recently seen interest from major companies who are interested in using the FreeBSD source base for embedded systems. One of the triggers for their interest happens to be that their legal departments are not very comfortable (politely speaking) about the form the GPLv3 has taken.

We will have to wait and see how things develop.

7) One of the most famous and interesting features of Freebsd are Ports. Some GNU/Linux distributions use your idea as well. Can you tell us what are they and what are their goals? And, how do you handle packages?

>> We have a large collection of “layered products” called ports. These are essentially frameworks that allow a

>> This all sounds simple, but it often is not. Just remember how you got things running in the dim past, without ports: download a source tarball, then tweak makefiles and build options until it appeared to work correctly. Things really were fun for those source packages with a lot of dependencies on other open source code. This tended to get frustrating rather quickly.

Packages are essentially pre-built ports. Which allows neat things like (assuming an Internet connection):

# pkg_add -r bash

This will install for you a precompiled bash package downloaded from the net. Package mirror sites are spread around the globe.

8) Our readers are interested in the main differences between the BSD and Linux kernels. Can you tell us something?

Although members of the FreeBSD community will often do these kinds of comparisons, both in terms of performance and code quality, the leaders of the project prefers to leave these sorts of comparisons to others. Both are fine systems. For some people one is better, for other people maybe the other.

8.1) What kind of documentation and support do you provide to a newbie FreeBSD users?

>> First of all there is of course the FreeBSD handbook, go and check http://www.freebsd.org/docs.html

>> But also a number of books have been written about FreeBSD use and internals alike. Some of the authors have commit bits. More info http://www.freebsd.org/publish.html

9) Ok, now let's talk about FreeBSD 7, the latest release. In the announcement release you've stated that FreeBSD 7 has “dramatic improvements in performance”. So, where are the main improvements?

Shortly after FreeBSD 4.0 was branched in 2000, the SMPng project started. This project radically overhauled the FreeBSD kernel to move from one based on SPLs that had one giant lock around the kernel to one that used fine grained locking. FreeBSD 5.x was the first series of releases with what was essentially a preview of this technology. FreeBSD 6.x made further gains, but significant portions of the kernel remained locked making it very difficult to do any giant free operations. FreeBSD 7.0 completes the job by finishing the locking to the point that most operations could be done without the giant lock. Once we had completed these tasks, the performance improvements that the SMPng project had long promised had arrived.

In addition to simply removing the giant lock, FreeBSD has also adapted a new scheduler called ULE. This scheduler models the newer generation of multicore CPUs better than the traditional 4BSD scheduler did. These features allow many of the costs of a more traditional scheduler that were exposed by the big increase in parallelism to be reduced or eliminated.

10) Morover, you've stated that the FreeBSD performance is 15% better than two of the latest Linux kernel. In which way do you performed your tests?

The techniques Kris Kenneway used to make these tests have been well documented in his papers. He's run the tests on identical hardware, with configurations configured to be as fast as possible for each OS (with input from the other OSes). Please see his paper at http://people.freebsd.org/~kris/scaling/mysql.html

11) What about the hardware support? How many architectures are supported?

http://www.freebsd.org/platforms/index.html gives you the architectures. Note that new ones are arriving more or less regularly, and older ones, like the FreeBSD/alpha port, get retired. Recently we have seen considerable work being put in embedded use of FreeBSD, with platform ports like arm and mips.

12) What are the main networking improvements of FreeBSD 7? And what is the status of wireless support?

>> I defer to the experts here.

Complete elimination of giant lock from network stack

Socket buffer automatic sizing

SCTP (Stream Control Transmission Protocol)

Migration from KAME IPSec to Fast IPSec

Direct dispatch of inbound network traffic Avoids context switching, improves CPU cache locality, allows concurrency

Optional in-kernel Just-In-Time compiler for Berkeley Packet Filter (BPF)

In-kernel Network Address Translation (NAT) modules for natd(8)

Link aggregation (create virtual interfaces for fault tolerance and higher capacity)

Rapid spanning tree protocol support

Support for commonly encountered 10 gigabit ethernet drivers: Chelsio (cxgb), Intel (ixgbe), Myricom (mxge), Neterion (nxge)}

Transmit Segmentation Off-load (TSO)/Large Receive Off-load (LRO) off-load send/receive into the ethernet driver

Wireless

Wireless 802.11 layer is stable

high power ath cards (Senao, Ubiquiti, Wistron)

900MHz ath cards (Ubiquiti, Zcomax)

ath (Atheros), iwi, ral (Ralink), ural (RT2500USB) drivers are high quality rum(Ralink RT2500USB, RT2601USB)

Intel wireless drivers: ipw (Intel PRO/Wireless 2100), iwi (2200BG/2225BG/2915ABG) Works out of the box

ZyDAS ZD1211/ZD1211B}

WPA (Wifi Protected Access) support stable New scanning support background scanning, roaming Atheros protocol extensions 802.11n support (forthcoming standard)

13) FreeBSD 7 and virtualization. How it's going?

>> I defer to the experts here.

13.1) FreeBSD 7, laptop and power management. What are the performances here compared to Linux?

FreeBSD's laptop support and power management have not been the focus of the 7.0 release process. While things are quite usable on freeBSD on a laptop (I've been running it on my laptop for the last 10 years), Linux tends to be better on laptops.

13.2) Which file-systems FreeBSD 7 support?

14) How does FreeBSD 7 work with 64-bit architectures?

15) Is FreeBSD 7 really suitable for Desktop? Which packages do you provide to improve the user's desktop experience with FreeBSD compared to previous release?

>> I have been running FreeBSD on my desktops since 386BSD 0.1 Is that enough answer?

16) KDE or GNOME? Why? Did you have any problems to port KDE4 or other desktop applications to FreeBSD?

>> As a traditionalist I run Windowmaker so I am not really the right person to answer this.

17) Can users use GNU/Linux packages on FreeBSD? To accomplish this purpose we know you use Linuxulator. What is Linuxulator and what are – if present – its limits?

>> The Linuxulator is basically a compatibility mode of FreeBSD that allows running of most Linux binaries. Most, so not all. Also, currently the Linuxulator is not based on the latest Linux distribution/kernel which means there are some limitations.

18) Are there any plans on offering a graphical installer for FreeBSD? Don't you think that a textual installar could scary a newbie user?

>> There have been plans for a *long* time, but sofar nothing really materialised and was integrated. To what extent not having a GUI installer scares a newbie user is hard for me to judge.

19) FreeBSD 7 and security. What are the main improvements?

>> rwatson is our local guru here.

20) FreeBSD in used from Yahoo as server platform. Do you think FreeBSD is better than Linux on servers? Which tools and facilities do you provide to users who want to use FreeBSD as server platform?

>> Obviously we feel FreeBSD is a very good server OS. It has traditionally been a very strong contender in the (Internet) server world and this tradition is being held with the latest releases too.

>> For tools and facilities: are around 17000 ports enough choice?

21) What do you think about NetBSD and OpenBSD? And what about GNU/Linux?

>> I feel it is good to have “competition” in the open source world. Note that the *BSD projects have extensive cross pollination, just read the various commit messages for a while. But also Linux has benefited FreeBSD, and the other way around of course. It is safe to say that no project/distribution can claim to have all the answers or brilliant ideas.

A side note should be made that the FreeBSD project mandates that kernels should be buildable without any GPL licensed code, and that the generic / installer kernels are built without GPLed code. The use of the BSD license is a key differentiator towards Linux and is an integral part of the project.

22) Do you have other things to say about FreeBSD 7? Post here.

23) A dirty question from our readers: Why should i use FreeBSD in place of GNU/Linux?

>> Go and try it. Take a FreeSBIE CDROM if you want. Nothing you read can replace hands-on experience.

24) What are your plans for the future? What will bring FreeBSD 8?

>> In the end that is up to our committer community. And of course we gladly accept contributions from the companies using FreeBSD in their products, like Juniper Networks who recently have donated a reference port of FreeBSD to the MIPS platform.

>> For a taste of things being worked you should really take a sneak preview at http://wiki.freebsd.org/

>> There is always more interesting work to take on than there are people to do it. So choices have to be made.

25) Our interview seems to be completed. Do you have something to add for our readers? Thank you for your time and keep up the excellent work!

  • corelinuxmagazineinterview.1207165725.txt.gz
  • Last modified: 2008/04/02 19:48
  • by BrooksDavis