Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
corelinuxmagazineinterview [2008/04/02 01:38] – MurrayStokelycorelinuxmagazineinterview [2020/10/16 04:46] (current) – fixed: 1x markup SashaVigole
Line 10: Line 10:
 2) Can you tell us something about its history? 2) Can you tell us something about its history?
  
-The %%FreeBSD%% project had its genesis in the early part of 1993, +%%FreeBSD%% is one of the oldest and most successful open source projects, with revision control history going back over 25 years through various releases of the Computer Science Research Group at UC Berkeley, through the genesis in 1993 of the modern %%FreeBSD%% Project, the integration of the last 4.4 BSD release from Berkeley, and then the last 15 years of modern Unix development to support some of the largest servers on the Internet and some of the most widely deployed embedded network devices.
-partially as an outgrowth of the 386BSD Patchkit which was in te +
- +
-\u201cUnofficial 386BSD +
-Patchkit\u201d+
  
 3) Is the %%FreeBSD%% Development sponsored from anyone? How can we contribute to help you? 3) Is the %%FreeBSD%% Development sponsored from anyone? How can we contribute to help you?
Line 21: Line 17:
 using businesses around the world that contribute developer time and using businesses around the world that contribute developer time and
 submit patches.  Some of the most significant in recent years have submit patches.  Some of the most significant in recent years have
-been Yahoo!, Apple, Juniper, and now ther +been Yahoo!, Apple, Juniper, and dozens more listed on the %%FreeBSD%% website.  http://www.freebsd.org/about.html
- +
-%%>%%> 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? 4) How many developers are involved in the development of %%FreeBSD%%? How do you organize your works and tasks?
  
-%%>%%> we have currently 225 people holding a so called src commit bit, which +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.
-%%>%%> gives them the privilige to commit changes into the main system source base.+
  
-%%>%%> As far as documentation goes we have 75 people owning a doc commit bit, +As far as documentation goes we have 75 people owning a doc commit bit, which allows them to change the documentation.
-%%>%%> which allows them to change the documentation.+
  
-%%>%%> For the ports collection there are 168 people+For the ports collection there are 168 people
  
-%%>%%> Note that these numbers are constantly changing, and that some 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 separated for security reasons.  Granting a doc, ports or src commit bit is also handled by different entities, doceng@, portmgr@ and core@ respectively.
-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\u2019s the story behind the mascotte?+One aspect of being a more mature open source organization is the growth of entities/committees such as the above to handle all aspects of managing the %%FreeBSD%% community.  %%FreeBSD%% includes a formal mentor period for all new committers, formalized release engineering processes, and an active security officer team.  Many of these processes and documents have been picked up by other open source groups, such as the Fedora Project's adoption of the %%FreeBSD%% Release Engineering process documentation.
  
-%%>%%> First, it is not a devil, it is a daemon.  %%FreeBSD%% essentially continued +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?
-using the first mascotte 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) \u201cFreebsd is the unknown giant among free operating systems\u201d. Do you agree with the point of view of IBM? ([[http://www.ibm.com/developerworks/opensource/library/os-freebsd/]])+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.
  
-%%>%%> I think this is a fair writeup, albeit a bit dated in places.  As someone +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/]])
-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 +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.
-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 +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.
-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.+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? 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 +We have a large collection of "layered products" called ports.  These are essentially frameworks that provide the build instructions and any optional patches necessary to install third party software.  Unlike source RPMs or other methods, they all live in one centralized repository which is installed by default on every %%FreeBSD%% system.  The actual source tarballs aren't installed by default, only the small patches and Makefiles necessary to build them in the consistent way.  The source is then downloaded automatically from the network when needed, or fetched from local CD/DVD media or fileservers.  By setting configuration parameters one can specify that network applications always be built and installeld with %%OpenSSL%% or LDAP support, or always optimized for the amd64 platform by providing the right optimization flags to the compiler anytime a new port is installed.  This provides an enormous amount of power in how applications are installed in a consistent way, while also providing enormous flexibility.
-essentially frameworks that allow a+
  
-%%>%%> This all sounds simple, but it often is not.  Just remember how you got+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, things running in the dim past, without ports: download a source tarball,
 then tweak makefiles and build options until it appeared to work correctly. then tweak makefiles and build options until it appeared to work correctly.
Line 83: Line 61:
  
 This will install for you a precompiled bash package downloaded from the This will install for you a precompiled bash package downloaded from the
-net.  Package mirror sites are spread around the globe.+net.  Package mirror sites are spread around the globe, and our package building cluster frequently rebuilds packages for all supported platforms.
  
 8) Our readers are interested in the main differences between the BSD and Linux kernels. Can you tell us something? 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? 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+The %%FreeBSD%% Documentation Project provides over 50 HOWTO style articles and several full length books, including the popular %%FreeBSD%% Handbook.  The Handbook is the main source of information about installing, using, and administering %%FreeBSD%% systems.  It has been published in paperback form in numerous editions and has been adapted for use by several Linux distributions over the years.  A complete list of output from the %%FreeBSD%% Documentation Project is available at http://www.freebsd.org/docs.html
  
-%%>%%> But also a number of books have been written about %%FreeBSD%% use and internals alike. +There are also some classic %%FreeBSD%% Kernel Internals books and such from professional publishers.  A list of such books in multiple languages is published on the website at http://www.freebsd.org/publish.html
-Some of the authors have commit bits.  More info http://www.freebsd.org/publish.html+
  
-9) Ok, now let\u2019s talk about %%FreeBSD%% 7, the latest release. In the announcement release you\u2019ve stated that %%FreeBSD%% 7 has \u201cdramatic improvements in performance\u201d. So, where are the main improvements?+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?
  
-%%>%%> I defer to the experts here.+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?
  
-10) Morover, you\u2019ve 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? 11) What about the hardware support? How many architectures are supported?
  
-%%>%%> http://www.freebsd.org/platforms/index.html gives you the architectures.+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 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 the %%FreeBSD%%/alpha port, get retired.  Recently we have seen considerable
Line 112: Line 95:
 %%>%%> I defer to the experts here. %%>%%> I defer to the experts here.
  
-13) %%FreeBSD%% 7 and virtualization. How it\u2019s going?+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. %%>%%> I defer to the experts here.
Line 118: Line 148:
 13.1) %%FreeBSD%% 7, laptop and power management. What are the performances here compared to Linux? 13.1) %%FreeBSD%% 7, laptop and power management. What are the performances here compared to Linux?
  
-%%>%%> I defer to the experts here.+%%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? 13.2) Which file-systems %%FreeBSD%% 7 support?
Line 124: Line 154:
 14) How does %%FreeBSD%% 7 work with 64-bit architectures? 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\u2019s desktop experience with %%FreeBSD%% compared to previous release?+%%FreeBSD%% has worked with 64-bit architectures for 10 years now, including Alpha, Sparc64, AMD64, and more.
  
-%%>%%>  I have been running %%FreeBSD%% on my desktops since 386BSD 0.1  Is that +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? 
-enough answer?+ 
 +The story here is nearly the same as the Linux community.  Linux is a kernel that is bundled with a bunch of other open source software to make a complete operating system, and %%FreeBSD%% is bundled with much of that same software.  We rely on the excellent work provided by KDE, GNOME, %%OpenOffice%%, Mozilla, and thousands of other open source communities working to improve the open source desktop. 
 + 
 +In addition, there has been some exciting work in the desktop-ready %%LiveCD%% space in %%FreeBSD%% such as PC-BSD, %%DesktopBSD%%, %%FreeSBIE%%, and more.
  
 16) KDE or GNOME? Why? Did you have any problems to port KDE4 or other desktop applications to %%FreeBSD%%? 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 +Some of the core developers of many of the main desktop projects use %%FreeBSD%% and so the porting effort isn't significantly more problematic than it is to port to Linux.  We don't try to enforce a preference of either KDE or GNOME on the user.  Back when CDROM media was the biggest distribution mechanism we struggled for years to account for every last byte to be able to keep the ever growing KDE and GNOME packages on the first CD with the base system, but with DVDs and network installs this is much less important these days. 
-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.  It does this by simply recognizing ELF executables that are compiled for Linux and using a different system call table for such binaries.  This different system call table provides functions which wrap the %%FreeBSD%% system calls and adjust any parameters to account for the relatively minor difference in the system APIs between the two.  One limitation of the Linuxulator is that it needs to be targeted against a specific kernel version and userland and that not all of the more obscure system calls or /proc filesystem nodes are implemented.  Many people run Oracle and very complex applications with high workloads, but it is not always going to work for all binaries.  The design is relatively lightweight and for those binaries that make use of system calls that %%FreeBSD%% can service quicker than Linux, the Linux binaries can run faster on %%FreeBSD%% than they do natively on Linux.
  
-17) Can users use GNU/Linux packages on %%FreeBSD%%? To accomplish this purpose we know you use Linuxulator. What is Linuxulator and what are \u2013 if present - its limits?+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?
  
-%%>%%> The Linuxulator is basically a compatibility mode of %%FreeBSD%% that allows +There have been plans and false starts in this area for over 10 years.  Many of our largest users have run %%FreeBSD%% on hundreds of thousands of server nodes, or embedded into hundreds of thousands of network appliances, and so we've got all these strict demands about the scriptability of our installer that sets a pretty high bar for new installers to match.
-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\u2019t you think that a textual installar could scary a newbie user?+For the past year we've had a bright former Summer of Code student working on the "finstall" project which is a very nice graphical installer that we are hoping will be the default for %%FreeBSD%% 8.0.
  
-%%>%%> There have been plans for a *long* time, but sofar nothing really +Also the derivative operating systems such as PC-BSD, %%MacOS%% X, etc.. all handle the graphical installation bit very well.
-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? 19) %%FreeBSD%% 7 and security. What are the main improvements?
Line 153: Line 184:
 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? 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 +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 
-been a very strong contender in the (Internet) server world and this +tradition is being held with the latest releases too.  Both Linux and %%FreeBSD%% obviously have their niches and individual strengths.
-tradition is being held with the latest releases too.+
  
 %%>%%> For tools and facilities: are around 17000 ports enough choice? %%>%%> For tools and facilities: are around 17000 ports enough choice?
Line 161: Line 191:
 21) What do you think about %%NetBSD%% and %%OpenBSD%%? And what about GNU/Linux? 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+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 that the *BSD projects have extensive cross pollination, just read the
 various commit messages for a while.  But also Linux has benefited %%FreeBSD%%, various commit messages for a while.  But also Linux has benefited %%FreeBSD%%,
Line 176: Line 206:
 23) A dirty question from our readers: Why should i use %%FreeBSD%% in place of GNU/Linux? 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 +Go and try it.  Take a %%FreeSBIE%% CDROM if you want.  Nothing you read can replace hands-on experience.
-replace hands-on experience.+
  
 24) What are your plans for the future? What will bring %%FreeBSD%% 8? 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+In the end that is up to our committer community.  And of course we
 gladly accept contributions from the companies using %%FreeBSD%% in their gladly accept contributions from the companies using %%FreeBSD%% in their
 products, like Juniper Networks who recently have donated a reference port products, like Juniper Networks who recently have donated a reference port
 of %%FreeBSD%% to the MIPS platform. of %%FreeBSD%% to the MIPS platform.
  
-%%>%%> For a taste of things being worked you should really take a sneak preview +For a taste of things being worked you should really take a sneak preview 
-at http://wiki.freebsd.org/+at [[FrontPage|FreeBSD Wiki]]
  
-%%>%%> There is always more interesting work to take on than there are people to +There is always more interesting work to take on than there are people to do it.  So choices have to be made.
-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! 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!
 +
 +There has been a lot of cross-pollination of code, ideas, and kernel hackers between %%FreeBSD%% and Linux over the past 10 years.  If you have only tried one of the systems you are limiting your exposure to the breadth of modern open source unix systems.  By all means, download a PC-BSD live CD or full %%FreeBSD%% installation CD/DVD and give it a try some day.  There are %%FreeBSD%% User Groups all over the world to help you get started.
 +
 +----
 +
 +{{tag>Historical}}
  
  • corelinuxmagazineinterview.1207100313.txt.gz
  • Last modified: 2008/04/02 01:38
  • by MurrayStokely