<?xml version="1.0" encoding="UTF-8"?>
<document>
<title>OpenBSD</title>
<authors>Wikipedia</authors>
<publisher>wikipedia.org</publisher>
<publishedplace>network</publishedplace>
<publishedyear>2010</publishedyear>
<edition></edition>
<category>Embedded operating systems</category>
<section id="47722" fatherid="0" title="" lv="" priority="-1" level="1">
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution (BSD), a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995. The project is widely known for the developers' insistence on open source code and quality documentation, uncompromising position on software licensing, and focus on security and code correctness. The project is coordinated from de Raadt's home in Calgary, Alberta, Canada. Its logo and mascot is a pufferfish named Puffy.
OpenBSD includes a number of security features absent or optional in other operating systems and has a tradition of developers auditing the source code for software bugs and security problems. The project maintains strict policies on licensing and prefers the open source BSD licence and its variants—in the past this has led to a comprehensive licence audit and moves to remove or replace code under licences found less acceptable.
As with most other BSD-based operating systems, the OpenBSD kernel and userland programs, such as the shell and common tools like cat and ps, are developed together in a single source repository. Third-party software is available as binary packages or may be built from source using the ports tree.
The OpenBSD project maintains ports for 17 different hardware platforms, including the DEC Alpha, Intel i386, Hewlett-Packard PA-RISC, AMD AMD64 and Motorola 68000 processors, Apple's PowerPC machines, Sun SPARC and SPARC64-based computers, the VAX and the Sharp Zaurus.

! Computer and operating system
|-
! Unix and Unix-like
|-
! Software licensing
|-
! Computer insecurity

</section>
<section id="47723" fatherid="0" title="History and popularity" lv="" priority="2" level="1">
In October 1995, de Raadt founded OpenBSD, a new project forked from NetBSD 1.0. The initial release, OpenBSD 1.2, was made in July 1996, followed in October of the same year by OpenBSD 2.0.de Raadt, Theo. Mail to openbsd-announce: The OpenBSD 2.0 release, October 18, 1996. Visited December 10, 2005. Since then, the project has followed a schedule of a release every six months, each of which is maintained and supported for one year. The latest release, OpenBSD 4.6, appeared on October 18, 2009.de Raadt, Theo. Mail to openbsd-announce: OpenBSD 4.6 release, Oct 18, October 18, 2009. Visited October 19, 2009.
On 25 July 2007, OpenBSD developer Bob Beck announced the formation of the OpenBSD Foundation,Official OpenBSD Foundation site. a Canadian not-for-profit corporation formed to "act as a single point of contact for persons and organizations requiring a legal entity to deal with when they wish to support OpenBSD."Beck, Bob. Mail to openbsd-misc: Announcing: The OpenBSD Foundation, July 25, 2007. Visited July 26, 2007.
Just how widely OpenBSD is used is hard to ascertain: the developers do not collect and publish usage statistics and there are few other sources of information. In September 2005 the nascent BSD Certification Group performed a usage survey which revealed that 32.8% of BSD users (1420 of 4330 respondents) were using OpenBSD,The BSD Certification Group.; PDF of usage survey results. placing it second of the four major BSD variants, behind FreeBSD with 77% and ahead of NetBSD with 16.3%.Multiple selections were permitted as a user may use multiple BSD variants side by side. The DistroWatch website, well-known in the GNU/Linux community and often used as a reference for popularity, publishes page hits for each of the GNU/Linux distributions and other operating systems it covers.  it places OpenBSD in 47th place, with 148 hits per day. FreeBSD is in 14th place with 506 hits per day, while NetBSD is in 71st place with 100 hits per day.

</section>
<section id="47724" fatherid="0" title="Open source and open documentation" lv="" priority="3" level="1">
When OpenBSD was created, Theo de Raadt decided that the source should be available for anyone to read at any time, so, with the assistance of Chuck Cranor,Chuck Cranor's site. he set up a public, anonymous CVS server. This was the first of its kind in the software development world: at the time, the tradition was for only a small team of developers to have access to a project's source repository. This practice had downsides, notably that outside contributors had no way to closely follow a project's development and contributed work would often duplicate already completed efforts. This decision led to the name OpenBSD and signaled the project's insistence on open and public access to both source code and documentation.
A revealing incident regarding open documentation occurred in March 2005, when de Raadt posted a messagede Raadt, Theo. Mail to openbsd-misc: Adaptec AAC raid support, March 18, 2005. Visited December 9, 2005. to the openbsd-misc mailing list. He announced that after four months of discussion, Adaptec had not disclosed the documentation required to improve the OpenBSD drivers for its AAC RAID controllers. As in similar circumstances in the past, he encouraged the OpenBSD community to become involved and express their opinion to Adaptec. Shortly after this, FreeBSD committer, former Adaptec employee and author of the FreeBSD AAC RAID support Scott LongScott Long's site. castigated de RaadtLong, Scott. Post to OSNews: From a BSD and former Adaptec person..., March 19, 2005. Visited December 9, 2005. on the OSNews website for not contacting him directly regarding the issues with Adaptec. This caused the discussion to spill over onto the freebsd-questions mailing list, where the OpenBSD project leader counteredde Raadt, Theo. Mail to freebsd-questions: aac support, March 19, 2005. Visited December 9, 2005. by claiming that he had received no previous offer of help from Scott Long nor been referred to him by Adaptec. The debate was amplifiedde Raadt, Theo. Mail to freebsd-questions: aac support, March 19, 2005. Visited December 9, 2005. by disagreements between members of the two camps regarding the use of binary blob drivers and non-disclosure agreements (NDAs): OpenBSD developers do not permit the inclusion of closed source binary drivers in the source tree and are reluctant to sign NDAs. However, the FreeBSD project has a different policy and much of the Adaptec RAID management code Scott Long proposed as assistance for OpenBSD was closed source or written under an NDA. As no documentation was forthcoming before the deadline for release of OpenBSD 3.7, support for Adaptec AAC RAID controllers was removed from the standard OpenBSD kernel.
The OpenBSD policy on openness extends to hardware documentation: in the slides for a December 2006 presentation, de Raadt explained that without it "developers often make mistakes writing drivers", and pointed out that "the oh my god, I got it to work rush is harder to achieve, and some developers just give up".de Raadt, Theo. Presentation at OpenCON, December 2006. Visited December 7, 2006. He went on to say that vendor binary drivers are considered unacceptable to OpenBSD — in their view they cannot be trusted and there is "no way to fix them ... when they break". Vendor source is "marginally acceptable" and still difficult to fix when problems occur.

</section>
<section id="47725" fatherid="0" title="Licensing" lv="" priority="-4" level="1">
A goal of the OpenBSD project is to "maintain the spirit of the original Berkeley Unix copys", which permitted a "relatively un-encumbered Unix source distribution".OpenBSD.org. Copy Policy. Visited January 7, 2006. To this end, the Internet Systems Consortium (ISC) licence, a simplified version of the BSD licence with wording removed that is unnecessary under the Berne convention, is preferred for new code, but the MIT or BSD licences are accepted. The widely used GNU General Public License is considered overly restrictive in comparison with these.NewsForge. BSD cognoscenti on Linux, June 15, 2005. Visited January 7, 2006. Code that is under any license considered undesirable is no longer accepted for addition to the base system. Existing code under such licences is actively replaced or relicensed when possible, except in cases where there is no suitable replacement and creating one would be time-consuming and impractical. Of particular note is the development of OpenSSH, based on the original SSH suite and developed further by the OpenBSD team. It first appeared in OpenBSD 2.6 and is now the most popular SSH implementation, available on many operating systems. Also of note is the development, after licence restrictions were imposed on IPFilter, of the pf packet filter, which first appearedHartmeier, Daniel. Design and Performance of the OpenBSD Stateful Packet Filter (pf). Visited December 9, 2005. in OpenBSD 3.0 and is now available in DragonFly BSD, NetBSD and FreeBSD. Recently, OpenBSD developers have replaced GPL licensed tools such as diff, grep, gzip and pkg-config with BSD licensed equivalents and founded new projects including OpenBGPD, OpenNTPD, OpenOSPFD and OpenSMTPD. In September 2007, the OpenBSD team took the initial steps towards replacing the GNU Compiler Collection (GCC) by importing Anders Magnusson's BSD-licensed Portable C Compiler (PCC).CVS log message of the import. Visited September 21, 2007.
In June 2001, triggered by concerns over Darren Reed's modification of IPFilter's licence wording, a systematic licence audit of the OpenBSD ports and source trees was undertaken.Linux.com. OpenBSD and ipfilter still fighting over license disagreement, June 06, 2001. Visited May 4, 2009. Code in more than a hundred files throughout the system was found to be unlicensed, ambiguously licensed or in use against the terms of the licence. To ensure that all licences were properly adhered to, an attempt was made to contact all the relevant copy holders: some pieces of code were removed, many were replaced, and others, including the multicast routing tools, mrinfo and map-mbone,Man pages: mrinfo and map-mbone. which were licensed by Xerox for research only, were relicensed so that OpenBSD could continue to use them. Also removed during this audit was all software produced by Daniel J. Bernstein. At the time, Bernstein requested that all modified versions of his code be approved by him prior to redistribution, a requirement to which OpenBSD developers were unwilling to devote time or effort.de Raadt, Theo. Mail to openbsd-misc: Re: Why were all DJB's ports removed? No more qmail?, August 24, 2001. Visited December 9, 2005. The removal led to a clash with Bernstein who felt the removal of his software to be uncalled for. He cited the Netscape web browser as much less freely licensed and accused the OpenBSD developers of hypocrisy for permitting Netscape to remain while removing his software.Bernstein, DJ. Mail to openbsd-misc: Re: Why were all DJB's ports removed? No more qmail?, August 27, 2001. Visited December 9, 2005. The OpenBSD project's stance was that Netscape, although not open source, had licence conditions that could be more easily met.Espie, Marc. Mail to openbsd-misc: Re: Why were all DJB's ports removed? No more qmail?, August 28, 2001. Visited December 9, 2005. They asserted that Bernstein's demand for control of derivatives would lead to a great deal of additional work and that removal was the most appropriate way to comply with his requirements.

</section>
<section id="47726" fatherid="0" title="Security and code auditing" lv="" priority="5" level="1">
Shortly after OpenBSD's creation, Theo de Raadt was contacted by a local security software company named Secure Networks, Inc. or SNI.The Age. Staying on the cutting edge, October 8, 2004. Visited January 8, 2006.ONLamp.com. Interview with OpenBSD developers: The Essence of OpenBSD, July 17, 2003. Visited December 18, 2005. They were developing a "network security auditing tool" called Ballista (later renamed to Cybercop Scanner after SNI was purchased by Network Associates) which was intended to find and attempt to exploit possible software security flaws. This coincided well with de Raadt's own interest in security, so the two agreed to cooperate, a relationship that was of particular use leading up to the release of OpenBSD 2.3Theo de Raadt on SNI: "Without their support at the  time, this release probably would not have happened." From the 2.3 release announcement. Visited December 19, 2005. and helped to form the focal point of the project: OpenBSD developers would attempt to do what was , proper or secure, even at the cost of ease, speed or functionality. As bugs within OpenBSD became harder to find and exploit, the security company found that it was too difficult and expensive to handle such obscure problems. After years of cooperation, the two parties decided that their goals together had been met and they parted ways.
Until June 2002, the OpenBSD website featured the slogan:
In June 2002, Mark Dowd of Internet Security Systems disclosed a bug in the OpenSSH code implementing challenge-response authentication.Internet Security Systems. OpenSSH Remote Challenge Vulnerability, June 26, 2002. Visited December 17, 2005. This vulnerability in the OpenBSD default installation allowed an attacker remote access to the root account, which was extremely serious not only to OpenBSD, but also to the large number of other operating systems that were using OpenSSH by that time.A partial list of affected operating systems. This problem necessitated the adjustment of the slogan on the OpenBSD website to:
The quote remained unchanged as time passed, until on March 13, 2007 when Alfredo Ortega of Core Security TechnologiesCore Security Technologies' homepage. disclosed a network-related remote vulnerability.Core Security Technologies. OpenBSD's IPv6 mbufs remote kernel buffer overflow. March 13, 2007. Visited March 13, 2007. The quote was subsequently altered to:
This statement has been criticized because little is enabled in a default install of OpenBSD and releases have included software that was later found to have remote holes. However, the project maintains that the slogan is intended to refer to a default install and that it is correct by that measure. One of the fundamental ideas behind OpenBSD is a drive for systems to be simple, clean and secure by default. For example, OpenBSD's minimal defaults fit in with the standard computer security practice of enabling as few services as possible on production machines. The project also uses open source and code auditing practices argued to be important elements of a security system.Wheeler, David A. Secure Programming for Linux and Unix HOWTO, 2.4. Is Open Source Good for Security?, March 3, 2003. Visited December 10, 2005.
OpenBSD includes a large number of features specifically designed to improve security. These include: API and toolchain alterations, such as the arc4random, issetugid, strlcat, strlcpy and strtonum functions, as well as a static bounds checker; memory protection techniques to guard against invalid accesses, such as ProPolice, StackGhost, the W^X (W xor X) page protection features, as well as alterations to malloc; cryptography and randomization features, including network stack enhancements and the addition of the Blowfish cipher for password encryption.
To reduce the risk of a vulnerability or misconfiguration allowing privilege escalation, some programs have been written or adapted to make use of privilege separation, privilege revocation and chrooting. Privilege separation is a technique, pioneered on OpenBSD and inspired by the principle of least privilege, where a program is split into two or more parts, one of which performs privileged operations and the other — almost always the bulk of the code — runs without privilege.Provos, Niels. Privilege Separated OpenSSH. Visited January 30, 2006. Privilege revocation is similar and involves a program performing any necessary operations with the privileges it starts with then dropping them. Chrooting involves restricting an application to one section of the file system, prohibiting it from accessing areas that contain private or system files. Developers have applied these features to OpenBSD versions of common applications, including tcpdump and the Apache web server (the latter of which, due to licensing issues with the later Apache 2 series, is a heavily patched 1.3.29 release).
The project has a policy of continually auditing code for problems, work that developer Marc Espie has described as "never finished ... more a question of process than of a specific bug being hunted".O'Reilly Network. An Interview with OpenBSD's Marc Espie, March 18, 2004. Visited January 24, 2006. He went on to list several typical steps once a bug is found, including examining the entire source tree for the same and similar issues, "trying to find out whether the documentation ought to be amended", and investigating whether "it's possible to augment the compiler to warn against this specific problem". A standard code style, the Kernel Normal Form, which dictates how code must look in order to be easily maintained and understood, must be applied to all code before it is considered for inclusion in the base operating system; existing code is actively updated to meet the style requirements.
Linux kernel creator Linus Torvalds has expressed the view that development efforts should be focused on fixing general problems rather than targeting security issues, as non-security bugs are more numerous ("all the boring normal bugs are _way_ more important, just because there's a lot more of them"Torvalds, Linus. Mail to linux-kernel: Re: stable Linux 2.6.25.10, July 15, 2008. Visited July 20, 2008.). On July 15, 2008, he criticised the OpenBSD policy: "They make such a big deal about concentrating on security that they pretty much admit that nothing else matters to them". Torvalds, Linus. Mail to linux-kernel: Re: stable Linux 2.6.25.10, July 15, 2008. Visited July 20, 2008. OpenBSD developer Marc Espie replied to Torvalds' statement: "It's a totally misinformed opinion ... Fixing normal bugs is exactly what people in the OpenBSD project do, all the time".Espie, Marc. Mail to openbsd-misc: Re: This is what Linus Torvalds calls openBSD crowd, July 16, 2008. Visited July 20, 2008. Developer Artur Grabowski also expressed surprise: "That's the funniest part about this ... Torvalds was saying the same things we say".Grabowski, Artur. Mail to openbsd-misc: Re: This is what Linus Torvalds calls openBSD crowd, July 16, 2008. Visited July 20, 2008.

</section>
<section id="47727" fatherid="0" title="Uses" lv="" priority="-6" level="1">
OpenBSD's security enhancements, built-in cryptography and the pf firewall suit it for use in the security industry, particularly for firewalls, intrusion-detection systems and VPN gateways. It is also commonly used for servers which must resist cracking and DoS attacks, and due to including the spamd daemon, it sometimes is used in mail filtering applications.
Proprietary systems from several manufacturers are based on OpenBSD, including devices from Calyptix Security,Calyptix Security's website. GeNUA mbH,GeNUA mbH's homepage. RTMX Inc,RTMX Inc homepage., and .vantronix GmbH..vantronix GmbH's homepage. GeNUA funded the development of SMP on the i386 platform, RTMX have sent patches to add further POSIX compliance to the system, and .vantronix contributed in networking and load balancing. Code from many of the OpenBSD system tools has been used in recent versions of Microsoft's Services for UNIX, an extension to the Windows operating system which provides some Unix-like functionality, originally based on 4.4BSD-Lite. Core Force, a security product for Windows, is based on OpenBSD's pf firewall. There have also been projects which use OpenBSD as part of images for embedded systems, including OpenSoekris, flashdist and flashrd.
OpenBSD ships with the X window system. It is possible to use OpenBSD as a desktop or workstation, making use of a desktop environment or just a window manager to give the X desktop a wide range of appearances. The OpenBSD ports tree contains many of the most popular tools for desktop use, including desktop environments GNOME, KDE, and Xfce; web browsers Konqueror, Mozilla Firefox and Opera; and multimedia programs MPlayer, VLC media player and xine. Also available are compatibility layers, which allow binary code compiled for other operating systems, including Linux, FreeBSD, SunOS and HP-UX, to be run.
OpenBSD's performance and usability is occasionally criticised. Felix von Leitner's performance and scalability testsScalability test results and conclusions. indicated that OpenBSD lagged behind other operating systems. In response, OpenBSD users and developers criticised von Leitner's objectivity and methodology, and asserted that although performance is given consideration, security and correct design are prioritised, with developer Nick Holland commenting: "It all boils down to what you consider important."Holland, Nick. Mail to openbsd-misc: Re: OpenBSD Benchmarked... results: poor!, October 19, 2003. Visited January 8, 2006. OpenBSD is also a relatively small project, particularly when compared with FreeBSD and Linux, and developer time is sometimes seen as better spent on security enhancements than performance optimisations. Critics of usability say that OpenBSD has a lack of user-friendly configuration tools, a bare default installation,NewsForge. Trying out the new OpenBSD 3.8, November 2, 2005. Visited January 8, 2006. and a "spartan" and "intimidating" installer.NewsForge. Review: OpenBSD 3.5, July 22, 2004. Visited January 8, 2006. These see much the same rebuttals as performance: a preference for simplicity, reliability and security. As one reviewer puts it, "running an ultra-secure operating system can be a bit of work."DistroWatch. OpenBSD - For Your Eyes Only, 2004. Visited January 8, 2006.

</section>
<section id="47728" fatherid="0" title="Distribution and marketing" lv="" priority="-7" level="1">
OpenBSD is available freely in various ways: the source can be retrieved by anonymous CVS or CVSup, and binary releases and development snapshots can be downloaded either by FTP or HTTP. Prepackaged CD-ROM sets can be ordered online for a small fee, complete with an assortment of stickers and a copy of the release's theme song. These, with its artwork and other bonuses, are one of the project's few sources of income, funding hardware, bandwidth and other expenses. Until OpenBSD 4.2, only a small install ISO image was available for download, to encourage sales of the full CD-ROM set. OpenBSD 4.2 provides a complete install ISO.
In common with several other operating systems, OpenBSD uses ports and packaging systems to allow for easy installation and management of programs which are not part of the base operating system. Originally based on the FreeBSD ports tree, the system is now quite distinct. Additionally, major changes have been made since the 3.6 release, including the replacement of the package tools by more capable versions, written in Perl by Marc Espie. In contrast to FreeBSD, the OpenBSD ports system is intended as a source used to create the end product, the packages: installing a port first creates a package and then installs it using the package tools. Packages are built in bulk by the OpenBSD team and provided for download with each release. OpenBSD is also unique among the BSDs in that the ports and base operating system are developed and released together for each version: this means that the ports or packages released with, for example, 3.7 are not suitable for use with 3.6 and vice versa. This is a policy which lends a great deal of stability to the development process, but means that the software in ports for the latest OpenBSD release can lag somewhat from the latest version available from the author.
Around the time of the OpenBSD 2.7 release, the original mascot, a BSD daemon with a trident and halo, was replaced by Puffy, traditionally said to be a pufferfish. In fact pufferfish do not possess spikes and images of Puffy are closer to a similar species, the porcupinefish. Puffy was selected because of the Blowfish encryption algorithm used in OpenSSH and the strongly defensive image of the porcupinefish with its spikes to deter predators. Puffy made his first public appearance in OpenBSD 2.6 and, since then, has appeared in a number of guises on tee-shirts and posters. These have included Puffiana Jones, the famed hackologist and adventurer, seeking out the Lost RAID; Puffathy, a little Alberta girl, who must work with Taiwan to save the day; and Puff Daddy, famed rapper and political icon.
After a number of releases, OpenBSD has become notorious for its catchy songs and interesting and often comical artwork. The promotional material of early OpenBSD releases did not have a cohesive theme or design but, starting with OpenBSD 3.0, the CD-ROMs, release songs, posters and tee-shirts for each release have been produced with a single style and theme, sometimes contributed to by Ty Semaka of the Plaid Tongued Devils. At first they were done lightly and only intended to add humour but, as the concept has evolved, they have become a part of OpenBSD advocacy, with each release expanding a moral or political point important to the project, often through parody. Past themes have included: in OpenBSD 3.8, the Hackers of the Lost RAID, a parody of Indiana Jones linked to the new RAID tools featured as part of the release; The Wizard of OS, making its debut in OpenBSD 3.7, based on the work of Pink Floyd and a parody of The Wizard of Oz related to the project's recent wireless work; and OpenBSD 3.3's Puff the Barbarian, including an 80s rock-style song and parody of Conan the Barbarian, alluding to open documentation.
In addition to the slogans used on tee-shirts and posters for releases, the project occasionally produces other material: over the years, catchphrases have included "Sending script kiddies to /dev/null since 1995," "Functional, secure, free — choose 3," "Secure by default," and a few insider slogans, only available on tee-shirts made for developer gatherings, such as "World class security for much less than the price of a cruise missile" and a crusty old octopus proclaiming "Shut up and hack!"

</section>
<section id="47729" fatherid="0" title="Bibliography" lv="" priority="-8" level="1">
</section>
<section id="47730" fatherid="0" title="See also" lv="" priority="-9" level="1">
</section>
<section id="47731" fatherid="0" title="References" lv="" priority="-10" level="1">
</section>
<section id="47732" fatherid="0" title="External links" lv="" priority="-11" level="1">
Category:Cryptographic software
Category:Embedded operating systems
Category:Operating system security
Category:Software forks
be-x-old:OpenBSD

</section>
</document>
