File:  [NetBSD Developer Wiki] / wikisrc / guide / intro.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Tue Mar 5 23:33:53 2013 UTC (13 months, 1 week ago) by jdf
Branches: MAIN
CVS tags: HEAD
Cosmetics (mainly removing trailing whitespaces).

# What is NetBSD?

NetBSD is a free, fast, secure, and highly portable Unix-like Open Source
operating system. It is available for many platforms, from 64-bit x86 servers
and PC desktop systems to embedded ARM and MIPS based devices. Its clean design
and advanced features make it excellent in both production and research
environments, and it is user-supported with complete source. Many applications
are easily available through pkgsrc, the NetBSD Packages Collection.

## The story of NetBSD

The first version of NetBSD (0.8) dates back to 1993 and springs from the 4.3BSD
Lite operating system, a version of Unix developed at the University of
California, Berkeley (BSD = Berkeley Software Distribution), and from the 386BSD
system, the first BSD port to the Intel 386 CPU. In the following years,
modifications from the 4.4BSD Lite release (the last release from the Berkeley
group) were integrated into the system. The BSD branch of Unix has had a great
importance and influence on the history of Unix-like operating systems, to which
it has contributed many tools, ideas and improvements which are now standard:
the vi editor, the C shell, job control, the Berkeley fast file system, reliable
signals, support for virtual memory and TCP/IP, just to name a few. This
tradition of research and development survives today in the BSD systems and, in
particular, in NetBSD.

## NetBSD features

NetBSD operates on a vast range of hardware platforms and is very portable. The
full source to the NetBSD kernel and userland is available for all the supported
platforms; please see the details on the official site of the [NetBSD
Project](http://www.NetBSD.org/).

A detailed list of NetBSD features can be found at:
[http://www.NetBSD.org/about/features.html](http://www.NetBSD.org/about/features.html).

The basic features of NetBSD are:

 * Code quality and correctness
 * Portability to a wide range of hardware
 * Secure defaults
 * Adherence to industry standards
 * Research and innovation

These characteristics bring also indirect advantages. For example, if you work
on just one platform you could think that you're not interested in portability.
But portability is tied to code quality; without a well written and well
organized code base it would be impossible to support a large number of
platforms. And code quality is the base of any good and solid software system,
though surprisingly few people seem to understand it.

One of the key characteristics of NetBSD is that its developers are not
satisfied with partial implementations. Some systems seem to have the philosophy
of *If it works, it's right.* In that light NetBSD's philosophy could be
described as *It doesn't work unless it's right*. Think about how many
overgrown programs are collapsing under their own weight and "features"
and you'll understand why NetBSD tries to avoid this situation at all costs.

## Supported platforms

NetBSD supports many platforms, including the popular PC platform (i386 and
amd64), SPARC and UltraSPARC, Alpha, Amiga, Atari, and m68k and PowerPC based
Apple Macintosh machines. Technical details for all of them can be found on
[the NetBSD site](http://www.NetBSD.org/ports/).

## NetBSD's target users

The NetBSD site states that: *The NetBSD Project provides a freely available and
redistributable system that professionals, hobbyists, and researchers can use in
whatever manner they wish*. It is also an ideal system if you want to learn
Unix, mainly because of its adherence to standards (one of the project goals)
and because it works equally well on the latest PC hardware as well as on
hardware which is considered obsolete by many other operating systems. To learn
and use Unix you don't need to buy expensive hardware; you can use that old PC
or Mac in your attic. It is important to note that although NetBSD runs on old
hardware, modern hardware is well supported and care has been taken to ensure
that supporting old machines does not inhibit performance on modern hardware. In
addition, if you need a Unix system which runs consistently on a variety of
platforms, NetBSD is probably your best choice.

## Applications for NetBSD

Aside from the standard Unix productivity tools, editors, formatters, C/C++
compilers and debuggers and so on that are included with the base system, there
is a huge collection of packages (currently over 8,000) that can be installed
both from source and in pre-compiled form. All the packages that you expect to
find on a well configured system are available for NetBSD for free. The
framework that makes this possible, pkgsrc, also includes a number of commercial
applications. In addition, NetBSD provides binary emulation for various other
\*nix operating systems, allowing you to run non-native applications. Linux
emulation is probably the most relevant example. You can run the Linux versions
of

 * Firefox
 * the Adobe Flash player plugin
 * Acrobat Reader
 * many other programs

## How to get NetBSD

NetBSD is an Open Source operating system, and as such it is freely available
for download from [ftp.NetBSD.org](ftp://ftp.NetBSD.org) and its
[mirrors](http://www.NetBSD.org/mirrors/).

There is no "official" supplier of NetBSD CD-ROMs but there are various
resellers. You can find the most up to date list on the relevant
[page](http://www.NetBSD.org/sites/cdroms.html) on the NetBSD site.


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb