<?xml version="1.0"?>
<!DOCTYPE webpage
  PUBLIC "-//NetBSD//DTD Website-based NetBSD Extension//EN"
         "http://www.NetBSD.org/XML/htdocs/lang/share/xml/website-netbsd.dtd" [
]>

<webpage id="about-standards">
<config param="desc" value="NetBSD Standards Conformance"/>
<config param="cvstag" value="$NetBSD: standards.xml,v 1.4 2008/06/01 15:33:01 hubertf Exp $"/>
<config param="rcsdate" value="$Date: 2008/06/01 15:33:01 $"/>
<head>
<title>NetBSD Standards Conformance</title>
</head>

<sect1 id="top">
<title>Basic operating system services</title>

<para>
POSIX (Portable Operating Systems Interface) is the name used by group
of standards sponsored by the <ulink url="http://www.ieee.org/">IEEE</ulink>
that define a standard API for UNIX-like operating systems.
POSIX.1 (IEEE Std1003.1-1990) standardizes the API for C.  POSIX.2
(IEEE Std1003.2-1992) standardizes the shell and basic utilities.  Other
POSIX standards cover Ada and Fortran bindings, real time extensions,
conformance testing, etc.
</para>

<para>
NetBSD is extremely close to being POSIX.1 compliant, and somewhat
further from being POSIX.2 compliant.  There are a few
details we know about: some we plan to fix, and others we plan to ignore
until a future revision of POSIX <quote>fixes</quote> them for us.
</para>

<para>
People who use or distribute other free operating systems sometimes
claim that their OS is POSIX or Standard C compliant.  To our knowledge,
none of the freely redistributable operating systems have been certified
to be POSIX or Standard C compliant&mdash;nor is this likely to change,
since certification is quite expensive and must be done for each release.
We believe that NetBSD is closer to POSIX and Standard C compliance
than any other freely redistributable operating system.
</para>

<para>
To date, no efforts have been made to conform to
<ulink url="http://www.opengroup.org/">X/Open</ulink> 
<emphasis role="bold">Spec 1170</emphasis>,
as this is an extremely complex and self-conflicting specification.
</para>
</sect1>

<sect1 id="x-window">
<title>X Window System</title>

<para>
NetBSD comes with
<ulink url="http://www.xfree86.org/">XFree86</ulink>, a superset of the X Window
System Release 6.4 from the MIT X Consortium (now part of the
<ulink url="http://www.opengroup.org/">Open Group</ulink>).  This implements
the basic X server and client functionality of the X Window System, and
provides some useful applications.
</para>

<para>
A large number of additional
<ulink url="ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/x11/README.html">X11 packages</ulink>
is available through <ulink url="../docs/software/packages.html">pkgsrc</ulink>.
</para>
</sect1>

<sect1 id="networking">
<title>Networking protocols</title>

<para>
NetBSD implements many industry standard networking protocols,
including TCP/IP, SMTP, NFS, DHCP, NIS and NTP.  We also provide
ported third party packages which implement HTTP, SMB, Appletalk,
and many other protocols.
</para>

<para>
Of particular interest is our TCP/IP implementation.  We have identified
and fixed a number of performance issues with the 4.4BSD TCP
implementation, and work closely with the
<ulink url="http://www.ietf.org/">Internet Engineering Task Force</ulink> to
implement and test new protocol developments.  Our TCP/IP implementation
is used as a basis for research by some IETF members.
</para>

<para>
In addition, two IPv6 and IPsec implementations have been developed on
NetBSD, and another ported.  The KAME implementation has been
<ulink url="../docs/network/ipv6/">integrated</ulink>.
</para>

<para>
The industry standard routing system
<ulink url="http://www.gated.org/">GateD</ulink> also runs under NetBSD, and
several ISPs use GateD under NetBSD to do routing on their networks.
</para>
</sect1>

</webpage>
