The case for FreeBSD

From: Scott Long (scottl_at_freebsd.org)
Date: 02/06/05

  • Next message: Artūras Lapienė: "Re: The case for FreeBSD"
    Date: Sun, 06 Feb 2005 03:37:54 -0700
    To: freebsd-current@freebsd.org
    
    

    All,

    There has been a lot of recent talk and advocacy for NetBSD 2.0 from the
    NetBSD team. Most recently there were a series of articles posted my
    Chritos Zoulas describing why NetBSD is relevant and why it's a better
    choice than either FreeBSD or OpenBSD. While I strongly applaud the
    accomplishments of the NetBSD team and happily agree that NetBSD 2.0 is
    a strong step forward for them, I take a bit of exception to many of
    their claims and much of their criticisms of FreeBSD.

    First of all, the last decade has been ripe with cooperation between all
    three of the major BSD projects. Each projects gives and takes from the
    others, and there are a number of developers that have commit
    privileges to multiple BSD projects. Drivers, infrastructure,
    bug fixes, and features readily flow between projects. This benefits
    everyone, especially since it allows each group to focus on unique
    aspects of the system without having to be bogged down with other
    aspects. As the old saying goes, FreeBSD is about performance, NetBSD
    is about platform portability, and OpenBSD is about security.

    So is that still the case? The NetBSD advocates are quick to claim that
    NetBSD 2.0 now beats FreeBSD in both performance and features.
    Fortunately, that just is not true. There is a very long list of
    reasons why FreeBSD is an excellent operating system and an ideal choice
    for the enterprise and the desktop. Briefly:

    - Netgraph provides unparalleled flexibility to build complex network
    environments. Netgraph modules are available for packet filtering,
    tunneling, redirection, inspection, and injection at any point in the
    network stack in a transparent and quick fashion. Modules can be
    stacked together like bricks to meet just about any need. Developing
    custom modules is also easy and very well documented. There simply is
    not anything else in any other OS that is as flexible, easy to use, and
    full-featured as netgraph.

    - GEOM provides to the storage stack what netgraph provides to the
    network stack. Transformations like mirroring, striping, spanning, and
    encryption can be configured for any storage object from the filesystem
    on up. The vinum volume manager was recently converted to use GEOM and
    now provides high-availability and high-reliability redundancy to any
    storage object. While NetBSD recently imported Vinum, it took the
    older, less stable and less functional version that has since been
    deprecated by its author in FreeBSD in favor of GEOM-Vinum.

    - Advanced network features and protocols such as SACK, NFSv4,
    SYN-cache/SYN-cookies, compressed TIME_WAIT, and accept filters allow
    for fast, secure, and scalable network operations in an ever-increasing
    hostile and busy Internet. Packet filters like IPFW and PF provide
    advanced filtering, shaping, and NAT sharing. FreeBSD continues to run
    some of the busiest and most important network sites in the world with
    these technologies.

    - Outstanding desktop and laptop support is provided by a number of
    technologies. Nvidia develops and distributes native 3D drivers for its
    graphics cards for FreeBSD. A team of FreeBSD developers works closely
    with engineers at Intel to provide the best ACPI power management
    support available in an open source operating system. The Gnome and KDE
    desktop environments work flawlessly under FreeBSD thanks to another
    team of volunteers that work closely with those projects.

    - The "Ports" collection provides one-step support for over 11,000 3rd
    party application. Compile-time and run-time dependencies between
    applications and libraries are tracked and handled automatically,
    eliminating conflicts and incompatibilities. Pre-compiled binaries are
    available for nearly every supported package for quick and easy
    installation. This system continues to be one of the crown jewels of
    FreeBSD and has been copied by other OSes due to its overwhelming
    popularity.

    - Many commercial vendors also support FreeBSD. Companies like Intel,
    AMD, LSI, Adaptec, and 3Ware, just to name a few, provide development
    staffing, direct developer resources, and end-user support for many of
    their products. The result is high quality drivers, applications, and
    platform support for a wide range of modern hardware.

    - Continuous testing and QA is performed by a number of teams within the
    FreeBSD community. Tests are runs every day that range from simple
    full-tree compile runs to intensive network, I/O, and computational
    stress tests. Developers receive status emails and bug reports to help
    identify, track, and resolve defects. While no amount of testing is
    perfect and bugs do slip through, the testing that exists vastly exceeds
    the efforts of most other open source projects and contributes towards
    every FreeBSD release being high quality.

    NetBSD 2.0 is a significant step forward for NetBSD, but the large
    amount of stagnation cannot be overlooked. Their claim at high
    portability should have been leveraged years ago to make them the leader
    in embedded OSes. It's great that NetBSD is committed to supporting
    legacy architectures, but how does the effort to do so benefit modern
    architectures or encourage wider use and more adoption of NetBSD?

    And while NetBSD now supports SMP, it uses the same low-efficiency model
    that FreeBSD used previously. Scalability is significantly limited
    because only one CPU at a time can access kernel services or drive
    hardware devices. The whole point of the 'SMPng' project for FreeBSD
    5.x is to eliminate this problem and provide fine-grained parallelism in
    the kernel. Converting the traditional BSD design to this model is not
    trivial, but the work on this is very much alive, and each FreeBSD 5.x
    release is faster, more scalable, and more stable than the previous release.

    All of the open source BSD's have a place, whether it's OpenBSD, NetBSD,
    or FreeBSD. Each continues to excel at what they've shown to be good
    at, and I expect the sharing and goodwill between them to continue. And
    in that vein, FreeBSD is still the 'silent workhorse' that runs
    corporate networks and powers advanced appliances. However, it's time
    to drop the 'silent' part and start loudly advocating it. FreeBSD is an
    outstanding OS, and developers and users should be proud of it.

    Scott
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Artūras Lapienė: "Re: The case for FreeBSD"

    Relevant Pages

    • Re: The case for FreeBSD
      ... And what about linux 2.6 vs FreeBSD? ... > There has been a lot of recent talk and advocacy for NetBSD 2.0 from the ... A team of FreeBSD developers works closely ... > support available in an open source operating system. ...
      (freebsd-current)
    • Re: The case for FreeBSD
      ... As the old saying goes, FreeBSD is about performance, NetBSD ... and OpenBSD is about security. ... Yes, the issue of advocacy. ...
      (freebsd-current)
    • Re: Benchmark: NetBSD 2.0 beats FreeBSD 5.3 in server performance
      ... This paper presents a suite of benchmarks and results for comparing the ... performance of these operating systems. ... I read the "paper" with which you trolled a couple of FreeBSD lists. ... "The results in Table 1 shows that NetBSD 2.0 marginally out-performs ...
      (freebsd-performance)
    • Ist FreeBSD 5.4 fuer Sparc64 kaputt?
      ... daß FreeBSD 5.4 nicht bootet. ... aber selbst mit ausgeschalteten Festplatten passiert das gleiche. ... Gestern hatte ich spaßeshalber mal das Bootimage von NetBSD gesaugt. ... Previous by thread: ...
      (de.comp.os.unix.bsd)
    • Re: Ramdisk support
      ... You mean a diskless setup? ... description of diskless setups in the FreeBSD Handbook. ... I was looking for something like initrd support of Linux or the ... mdsetimage of NetBSD. ...
      (freebsd-hackers)