Chapter 1 Introduction

Welcome to the FreeBSD 2.X-4.X FAQ!

As is usual with Usenet FAQs, this document aims to cover the most frequently asked questions concerning the FreeBSD operating system (and of course answer them!). Although originally intended to reduce bandwidth and avoid the same old questions being asked over and over again, FAQs have become recognized as valuable information resources.

Every effort has been made to make this FAQ as informative as possible; if you have any suggestions as to how it may be improved, please feel free to mail them to the FreeBSD documentation project mailing list.

1.1. What is FreeBSD?
1.2. What is the goal of the FreeBSD Project?
1.3. Does the FreeBSD license have any restrictions?
1.4. Can FreeBSD replace my current operating system?
1.5. Why is it called FreeBSD?
1.6. What are the differences between FreeBSD and NetBSD, OpenBSD, and other open source BSD operating systems?
1.7. What is the latest version of FreeBSD?
1.8. What is FreeBSD-CURRENT?
1.9. What is the FreeBSD-STABLE concept?
1.10. When are FreeBSD releases made?
1.11. Who is responsible for FreeBSD?
1.12. Where can I get FreeBSD?
1.13. How do I set up a FreeBSD mirror?
1.14. How do I access the Problem Report database?
1.15. How do I become a FreeBSD Web mirror?
1.16. What other sources of information are there?

1.1. What is FreeBSD?

Briefly, FreeBSD is a UN*X-like operating system for the i386, IA-64, PC-98, Alpha/AXP, and UltraSPARC platforms based on U.C. Berkeley's ``4.4BSD-Lite'' release, with some ``4.4BSD-Lite2'' enhancements. It is also based indirectly on William Jolitz's port of U.C. Berkeley's ``Net/2'' to the i386, known as ``386BSD'', though very little of the 386BSD code remains. A fuller description of what FreeBSD is and how it can work for you may be found on the FreeBSD home page.

FreeBSD is used by companies, Internet Service Providers, researchers, computer professionals, students and home users all over the world in their work, education and recreation. See some of them in the FreeBSD Gallery.

For more detailed information on FreeBSD, please see the FreeBSD Handbook.

1.2. What is the goal of the FreeBSD Project?

The goal of the FreeBSD Project is to provide software that may be used for any purpose and without strings attached. Many of us have a significant investment in the code (and project) and would certainly not mind a little financial compensation now and then, but we definitely do not insist on it. We believe that our first and foremost ``mission'' is to provide code to any and all comers, and for whatever purpose, so that the code gets the widest possible use and provides the widest possible benefit. This is, we believe, one of the most fundamental goals of Free Software and one that we enthusiastically support.

That code in our source tree which falls under the GNU General Public License (GPL) or GNU Library General Public License (LGPL) comes with slightly more strings attached, though at least on the side of enforced access rather than the usual opposite. Due to the additional complexities that can evolve in the commercial use of GPL software, we do, however, endeavor to replace such software with submissions under the more relaxed FreeBSD license whenever possible.

1.3. Does the FreeBSD license have any restrictions?

Yes. Those restrictions do not control how you use the code, merely how you treat the FreeBSD Project itself. If you have serious license concerns, read the actual license. For the simply curious, the license can be summarized like this.

  • Do not claim that you wrote this.

  • Do not sue us if it breaks.

1.4. Can FreeBSD replace my current operating system?

For most people, yes. But this question is not quite that cut-and-dried.

Most people do not actually use an operating system. They use applications. The applications are what really use the operating system. FreeBSD is designed to provide a robust and full-featured environment for applications. It supports a wide variety of web browsers, office suites, email readers, graphics programs, programming environments, network servers, and just about everything else you might want. Most of these applications can be managed through the Ports Collection.

If you need to use an application that is only available on one operating system, you simply cannot replace that operating system. Chances are there is a very similar application on FreeBSD, however. If you want a solid office or Internet server, a reliable workstation, or just the ability to do your job without interruptions, FreeBSD will almost certainly do everything you need. Many computer users across the world, including both novices and experienced UNIX® administrators, use FreeBSD as their only desktop operating system.

If you are migrating to FreeBSD from some other UNIX environment, you already know most of what you need to. If your background is in graphic-driven operating systems such as Windows and older versions of Mac OS, expect to invest additional time learning the UNIX way of doing things. This FAQ and the FreeBSD Handbook are excellent places to start.

1.5. Why is it called FreeBSD?

  • It may be used free of charge, even by commercial users.

  • Full source for the operating system is freely available, and the minimum possible restrictions have been placed upon its use, distribution and incorporation into other work (commercial or non-commercial).

  • Anyone who has an improvement or bug fix is free to submit their code and have it added to the source tree (subject to one or two obvious provisions).

  • It is worth pointing out that the word ``free'' is being used in two ways here, one meaning ``at no cost'', the other meaning ``you can do whatever you like''. Apart from one or two things you cannot do with the FreeBSD code, for example pretending you wrote it, you can really do whatever you like with it.

1.6. What are the differences between FreeBSD and NetBSD, OpenBSD, and other open source BSD operating systems?

James Howard wrote a good explanation of the history and differences between the various projects for DaemonNews, called The BSD Family Tree which goes a fair way to answering this question.

1.7. What is the latest version of FreeBSD?

At this point in FreeBSD's development, there are two parallel development branches; releases are being made from both branches. The 4.X series of releases is being made from the -STABLE branch and the 5.X series of releases is being made from -CURRENT.

Version 5.1 is the latest release from the -CURRENT branch; it was released in June 2003. Version 4.8 is the latest release from the -STABLE branch; it was released in March 2003.

Briefly, -STABLE is aimed at the ISP, corporate user, or any user who wants stability and a minimal number of changes compared to the new (and possibly unstable) features of the latest -CURRENT snapshot. Releases can come from either branch, but -CURRENT should only be used if you are prepared for its increased volatility (relative to -STABLE, that is).

Releases are made every few months. While many people stay more up-to-date with the FreeBSD sources (see the questions on FreeBSD-CURRENT and FreeBSD-STABLE) than that, doing so is more of a commitment, as the sources are a moving target.

More information on FreeBSD releases can be found on the Release Engineering page on the FreeBSD Web site.

1.8. What is FreeBSD-CURRENT?

FreeBSD-CURRENT is the development version of the operating system, which will in due course become the new FreeBSD-STABLE branch. This is expected to happen around 5.2-RELEASE. As such, it is really only of interest to developers working on the system and die-hard hobbyists. See the relevant section in the handbook for details on running -CURRENT.

If you are not familiar with the operating system or are not capable of identifying the difference between a real problem and a temporary problem, you should not use FreeBSD-CURRENT. This branch sometimes evolves quite quickly and can be un-buildable for a number of days at a time. People that use FreeBSD-CURRENT are expected to be able to analyze any problems and only report them if they are deemed to be mistakes rather than ``glitches''. Questions such as ``make world produces some error about groups'' on the -CURRENT mailing list may be treated with contempt.

Every day, snapshot releases are made based on the current state of the -CURRENT and -STABLE branches. Distributions of the occasional snapshot are made available. The goals behind each snapshot release are:

  • To test the latest version of the installation software.

  • To give people who would like to run -CURRENT or -STABLE but who do not have the time or bandwidth to follow it on a day-to-day basis an easy way of bootstrapping it onto their systems.

  • To preserve a fixed reference point for the code in question, just in case we break something really badly later. (Although CVS normally prevents anything horrible like this happening :)

  • To ensure that all new features and fixes in need of testing have the greatest possible number of potential testers.

No claims are made that any -CURRENT snapshot can be considered ``production quality'' for any purpose. If you want to run a stable and fully tested system, you will have to stick to full releases, or use the -STABLE snapshots.

Snapshot releases are directly available from ftp://current.FreeBSD.org/pub/FreeBSD/ for 5-CURRENT and releng4.FreeBSD.org for 4-STABLE snapshots. 3-STABLE snapshots are not being produced at the time of this writing (May 2000).

Snapshots are generated, on the average, daily for all actively developed branches.

1.9. What is the FreeBSD-STABLE concept?

Back when FreeBSD 2.0.5 was released, FreeBSD development branched in two. One branch was named -STABLE, one -CURRENT. FreeBSD-STABLE is intended for Internet Service Providers and other commercial enterprises for whom sudden shifts or experimental features are quite undesirable. It receives only well-tested bug fixes and other small incremental enhancements. FreeBSD-CURRENT, on the other hand, has been one unbroken line since 2.0 was released, leading towards 5.2-RELEASE (and beyond). At 5.2-RELEASE, the 5-STABLE branch is expected to be created, and FreeBSD-CURRENT will become 6-CURRENT. If a little ASCII art would help, this is how it looks:

                 2.0
                  |
                  |
                  |  [2.1-STABLE]
 *BRANCH*       2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1  [2.1-STABLE ends]
                  |                            (Mar 1997)
                  |
                  |
                  |  [2.2-STABLE]
 *BRANCH*       2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [end]
                  |       (Mar 1997)    (Oct 97) (Apr 98) (Jul 98) (Dec 98)
                  |
                  |
               3.0-SNAPs  (started Q1 1997)
                  |
                  |
               3.0-RELEASE (Oct 1998)
                  |
                  |  [3.0-STABLE]
 *BRANCH*      3.1-RELEASE  (Feb 1999) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1
                  |                     (May 1999) (Sep 1999) (Dec 1999) (June 2000) (July 2000)
                  |
                  |  [4.0-STABLE]
 *BRANCH*        4.0  (Mar 2000) -> 4.1 -> 4.1.1 -> 4.2 -> 4.3 -> 4.4 -> ... later 4.X releases ...
                  |
                  |              (July 2000)   (Sep 2000)   (Nov 2000)
               5.0-RELEASE (Jan 2003)
                  |
                  |
               5.1-RELEASE (Jun 2003)
                  |
                  |
                 \|/
                  +
          [5-CURRENT continues]

The 2.2-STABLE branch was retired with the release of 2.2.8. The 3-STABLE branch has ended with the release of 3.5.1, the final 3.X release. The only changes made to either of these branches will be, for the most part, security-related bug fixes.

4-STABLE is the actively developed -STABLE branch. The latest release on the 4-STABLE branch is 4.8-RELEASE, which was released in March 2003.

The 5-CURRENT branch is slowly progressing toward the creation of a 5-STABLE branch. See What is FreeBSD-CURRENT? for more information on this branch.

1.10. When are FreeBSD releases made?

The Release Engineering Team releases a new version of FreeBSD about every four months, on average. Release dates are announced well in advance, so that the people working on the system know when their projects need to be finished and tested. A testing period precedes each release, in order to ensure that the addition of new features does not compromise the stability of the release. Many users regard this caution as one of the best things about FreeBSD, even though waiting for all the latest goodies to reach -STABLE can be a little frustrating.

More information on the release engineering process (including a schedule of upcoming releases) can be found on the release engineering pages on the FreeBSD Web site.

For people who need or want a little more excitement, binary snapshots are made daily as discussed above.

1.11. Who is responsible for FreeBSD?

The key decisions concerning the FreeBSD project, such as the overall direction of the project and who is allowed to add code to the source tree, are made by a core team of 9 people. There is a much larger team of more than 200 committers who are authorized to make changes directly to the FreeBSD source tree.

However, most non-trivial changes are discussed in advance in the mailing lists, and there are no restrictions on who may take part in the discussion.

1.12. Where can I get FreeBSD?

Every significant release of FreeBSD is available via anonymous FTP from the FreeBSD FTP site:

Information about obtaining FreeBSD on CD, DVD, and other media can be found in the Handbook.

1.13. How do I set up a FreeBSD mirror?

Information on setting up a FreeBSD mirror can be found in the Mirroring FreeBSD article.

1.14. How do I access the Problem Report database?

The Problem Report database of all user change requests may be queried by using our web-based PR query interface. The send-pr(1) command can be used to submit problem reports and change requests via electronic mail.

The web-based problem report submission interface is currently disabled due to persistent abuse.

Before submitting a problem report, please read Writing FreeBSD Problem Reports, an article on how to write good problem reports.

1.15. How do I become a FreeBSD Web mirror?

There are multiple ways to mirror the Web pages.

  • You can retrieve the formatted files from a FreeBSD CVSup server using the application net/cvsup. The file /usr/share/examples/cvsup/www-supfile contains an example CVSup configuration file for web mirrors.

  • You can download the web site source code from any FreeBSD FTP server using your favorite ftp mirror tool. Keep in mind that you have to build these sources before publishing them. Start mirroring at ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www/.

1.16. What other sources of information are there?

Please check the Documentation list on the main FreeBSD web site.

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.