Welcome to the FreeBSD 6.X-7.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.
Briefly, FreeBSD is a UNIX® like operating system for AMD64 and Intel® EM64T, i386™ PC-98, IA-64, ARM®, PowerPC® 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.
For more detailed information on FreeBSD, please see the FreeBSD Handbook.
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.
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.
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.
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, called The BSD Family Tree which goes a fair way to answering this question.
At this point in FreeBSD's development, there are two parallel development branches; releases are being made from both branches. The 6.X series of releases is being made from the 6-STABLE branch and the 7.X series of releases from 7-STABLE.
Up until the release of 7.0, the 6.X series was the one known as -STABLE. However, as of 7.0, the 6.X branch will be designated for an “extended support” status and receive only fixes for major problems, such as security-related fixes. There will be more releases made from the 6-STABLE branch, but it is considered a “legacy” branch and most current work will only become a part of 7-STABLE.
Version 8.0 is the latest release from the 7-STABLE branch; it was released in Nov 2009. Version 7.3 is the latest release from the 6-STABLE branch; it was released in March 2010.
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.
FreeBSD-CURRENT is the development version of the operating system, which will in due course become the new FreeBSD-STABLE branch. 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 sometimes. 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 FreeBSD-CURRENT mailing list may be treated with contempt.
Every month, snapshot releases are made based on the current state of the -CURRENT and -STABLE branches. 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 snapshot.
Official snapshots are generated each month on a regular basis for all actively developed branches. There are also daily snapshot builds of the popular i386 and amd64 branches, hosted on http://snapshots.us.freebsd.org/.
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 8.0-RELEASE and beyond. For more detailed information on branches see “FreeBSD Release Engineering: Creating the Release Branch”, the status of the branches and the upcoming release schedule can be found on the Release Engineering Information page.
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 4-STABLE branch has ended with the release of 4.11, the final 4.X release. The only changes made to either of these branches will be, for the most part, security-related bug fixes. Support for the 5-STABLE branches has ended with the release of 5.5, the final 5.X release. Support for the 6-STABLE branches will continue for some time but focus primarily on security-related bug fixes and other serious issues.
8.0-STABLE is the actively developed -STABLE branch. The latest release on the 8.0-STABLE branch is 8.0-RELEASE, which was released in Nov 2009.
The 8-CURRENT branch is the actively developed -CURRENT branch toward the next generation of FreeBSD. See What is FreeBSD-CURRENT? for more information on this branch.
The Release Engineering Team <re@FreeBSD.org>
releases a new major version
of FreeBSD about every 18 months and a new minor version about every 8 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.
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 350 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.
Every significant release of FreeBSD is available via anonymous FTP from the FreeBSD FTP site:
The latest 7-STABLE release, 8.0-RELEASE can be found in the 8.0-RELEASE directory.
Snapshot releases are made monthly for the -CURRENT and -STABLE branch, these being of service purely to bleeding-edge testers and developers.
The latest 6-STABLE release, 7.3-RELEASE can be found in the 7.3-RELEASE directory.
Information about obtaining FreeBSD on CD, DVD, and other media can be found in the Handbook.
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. Alternatively, the web-based problem report submission interface can be used to submit problem reports through a web browser.
Before submitting a problem report, please read Writing FreeBSD Problem Reports, an article on how to write good problem reports.
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>.