Better Licensing and Code Quality than Linux
Licensing
Linux, the most popular open source OS available today, is distributed
subject to the GNU General Public License (GPL). This license, developed
by the Free Software Foundation (FSF) promotes the ideals of open source
software by requiring anyone who
uses the code in a product and makes modifications to it, to make
their modified code available upon request.
Consequently,
if, for example, an embedded systems developer creates a new modification
of Linux that contains enhancements over the core functionality of Linux,
that developer is required by the terms of the GPL to divulge any innovations
they may have developed. While the GPL does arguably promote the ideals
of open source software, its commercial liability is apparent; a company
may spend thousands of dollars attempting to gain a strategic advantage
over a competitor, only to be required by the terms of the GPL to divulge
the fruits of their efforts.
NetBSD is not distributed subject to the GPL. The Foundation believes
that while open source methodology is superior for some applications (including
the design of an operating system), it may not be appropriate for every
software project. Consequently, users of NetBSD are subject only to the
terms of the BSD License, which permits, but in no way requires, the sharing
of source code.
Wasabi believes this difference constitutes a considerable added value
for NetBSD over Linux for commercial users of the system. Particularly
in the context of embedded systems, the developer-hours spent customizing
an operating system for a given use may constitute a tremendous investment
-- and potential strategic asset that a manufacturer may be loathe to
relinquish because of the GPL. Suppose a VCR manufacturer, perhaps making
use of Wasabi consulting services, customizes NetBSD in a way that enables
a pared-down version of the OS to coordinate functions in an innovative,
newly-efficient manner; if the end product works better as a result, the
manufacturer would obviously prefer to maintain its edge by not sharing
the fruits of its investment. Under the GPL, exercising this preference
would be unlawful. With NetBSD, the manufacturer may choose to keep its
code private and retain its commercial advantage. If you were the manufacturer
about to devote hundreds of thousands of dollars to an OS customization
project, which system would you choose?
Full System Integration
Unlike Linux, NetBSD has a fully integrated set of user layer software.
Linux itself, after all, is only the "kernel" of the operating system;
most of the software needed to use a real system, such as all the user
layer commands, are actually maintained by different groups. As a result,
an entire industry has arisen to supply Linux users with fully integrated
sets of software. These are the so-called "Linux distributions," which
are the basis behind companies such as Red Hat and S.u.S.E., each of which
sell their own "distribution" of Linux.
Because Linux is not maintained and integrated by a single team, enormous
headaches face the Linux distribution producer. Minor changes to the kernel
or to system compilers often break different portions of the system that
rely on particular behavior in other portions of the system. Because of
the fact that there is not a single group maintaining and integrating
all the components, quality and uniform behavior across Linux systems
suffer.
By contrast, the entire NetBSD operating system is developed and integrated
by a single group. This means that all the system software that commonly
ships on a traditional Unix system is integrated into NetBSD and maintained
by the NetBSD project team, so there are never conflicts between particular
compilers, user utilities and kernel versions. A given full NetBSD source
tree is guaranteed to be a fully integrated whole that functions flawlessly
out of the box. NetBSD even maintains an integrated and supported version
of the X Window System, the graphical user interface used by most users
of the system. This assures that, on all NetBSD architectures that support
graphics hardware, the X implementation is fully optimized and supported
for the needs of NetBSD users.
Interoperability / Software
NetBSD provides one of the most highly standards-compliant, Unix-like
APIs in existence. A team of programmers who are standards experts constantly
comb NetBSD's libraries, include files, and system calls, assuring maximal
compliance with X/OPEN, POSIX, and all other relevant industry standards.
As a result, NetBSD's standards compliance is unequivocally better than
that of any other available Unix-like system, including commercial systems
like Solaris. This is a matter of critical importance for a system such
as NetBSD, because it assures that software from other Unix-like operating
systems ports to NetBSD with minimum difficulty. It also makes NetBSD
one of the best and most comfortable development environments for authors
of new software. Extensive work has also been done to assure that source
code compatibility between NetBSD and other Unix-like systems is high.
Porting software to NetBSD from other Unix-like systems typically takes
very little time and effort.
In addition, because the entire user-level suite of software is maintained
by the NetBSD project, the user software has also been rendered highly
standards compliant. Scripts and other software reliant on the behavior
of system supplied programs being standards-compliant will run smoothly
and without problems.
NetBSD's developers have long understood that NetBSD is not the most
widely used Unix-like operating system. So, in order to assure that NetBSD
users need never want for application software, extensive work has been
done to assure that binaries of software created for other systems, such
as FreeBSD and Linux (on i386 systems), Solaris (on i386 and SPARC based
systems), Digital Unix (on ALPHA based systems) and many others will run
under NetBSD as though they were running under their native operating
system. A user can run a copy of the Linux version of Netscape Communicator
or WordPerfect on a NetBSD system just as well as they could under Linux
itself.
In order to further assure NetBSD users of a wide variety of available
software, several thousand open source packages have been ported to NetBSD
using the so-called "pkgsrc" system which permits the automated building
of open source software from the original source code distributions. "pkgsrc"
automatically downloads, patches, configures, builds and installs software
from source, permitting easy maintenance of everything from Apache to
GNU Emacs to Zope. Literally thousands of pkgsrc packages are actively
maintained, providing a rich variety of open source software for the NetBSD
user.
Next page: Open Source Development