The following section provides some background information on the project, including abrief history, project goals, and the development model of the project.
Contributed by Jordan Hubbard.
The FreeBSD project had its genesis in the early part of 1993, partially as anoutgrowth of the ``Unofficial 386BSD Patchkit'' by the patchkit's last 3 coordinators:Nate Williams, Rod Grimes and myself.
Our original goal was to produce an intermediate snapshot of 386BSD in order to fix anumber of problems with it that the patchkit mechanism just was not capable of solving.Some of you may remember the early working title for the project being ``386BSD 0.5'' or``386BSD Interim'' in reference to that fact.
386BSD was Bill Jolitz's operating system, which had been up to that point sufferingrather severely from almost a year's worth of neglect. As the patchkit swelled ever moreuncomfortably with each passing day, we were in unanimous agreement that something had tobe done and decided to assist Bill by providing this interim ``cleanup'' snapshot. Thoseplans came to a rude halt when Bill Jolitz suddenly decided to withdraw his sanction fromthe project without any clear indication of what would be done instead.
It did not take us long to decide that the goal remained worthwhile, even withoutBill's support, and so we adopted the name ``FreeBSD'', coined by David Greenman. Ourinitial objectives were set after consulting with the system's current users and, once itbecame clear that the project was on the road to perhaps even becoming a reality, Icontacted Walnut Creek CDROM with an eye toward improving FreeBSD's distribution channelsfor those many unfortunates without easy access to the Internet. Walnut Creek CDROM notonly supported the idea of distributing FreeBSD on CD but also went so far as to providethe project with a machine to work on and a fast Internet connection. Without WalnutCreek CDROM's almost unprecedented degree of faith in what was, at the time, a completelyunknown project, it is quite unlikely that FreeBSD would have gotten as far, as fast, asit has today.
The first CDROM (and general net-wide) distribution was FreeBSD 1.0, released inDecember of 1993. This was based on the 4.3BSD-Lite (``Net/2'') tape from U.C. Berkeley,with many components also provided by 386BSD and the Free Software Foundation. It was afairly reasonable success for a first offering, and we followed it with the highlysuccessful FreeBSD 1.1 release in May of 1994.
Around this time, some rather unexpected storm clouds formed on the horizon as Novelland U.C. Berkeley settled their long-running lawsuit over the legal status of theBerkeley Net/2 tape. A condition of that settlement was U.C. Berkeley's concession thatlarge parts of Net/2 were ``encumbered'' code and the property of Novell, who had in turnacquired it from AT&T some time previously. What Berkeley got in return was Novell's``blessing'' that the 4.4BSD-Lite release, when it was finally released, would bedeclared unencumbered and all existing Net/2 users would be strongly encouraged toswitch. This included FreeBSD, and the project was given until the end of July 1994 tostop shipping its own Net/2 based product. Under the terms of that agreement, the projectwas allowed one last release before the deadline, that release beingFreeBSD 220.127.116.11.
FreeBSD then set about the arduous task of literally re-inventing itself from acompletely new and rather incomplete set of 4.4BSD-Lite bits. The ``Lite'' releases werelight in part because Berkeley's CSRG had removed large chunks of code required foractually constructing a bootable running system (due to various legal requirements) andthe fact that the Intel port of 4.4 was highly incomplete. It took the project untilNovember of 1994 to make this transition, at which point it released FreeBSD 2.0 tothe net and on CDROM (in late December). Despite being still more than a little rougharound the edges, the release was a significant success and was followed by the morerobust and easier to install FreeBSD 2.0.5 release in June of 1995.
We released FreeBSD 2.1.5 in August of 1996, and it appeared to be popular enoughamong the ISP and commercial communities that another release along the 2.1-STABLE branchwas merited. This was FreeBSD 18.104.22.168, released in February 1997 and capping the endof mainstream development on 2.1-STABLE. Now in maintenance mode, only securityenhancements and other critical bug fixes will be done on this branch (RELENG_2_1_0).
FreeBSD 2.2 was branched from the development mainline (``-CURRENT'') in November1996 as the RELENG_2_2 branch, and the first full release (2.2.1) was released in April1997. Further releases along the 2.2 branch were done in the summer and fall of '97, thelast of which (2.2.8) appeared in November 1998. The first official 3.0 release appearedin October 1998 and spelled the beginning of the end for the 2.2 branch.
The tree branched again on Jan 20, 1999, leading to the 4.0-CURRENT and 3.X-STABLEbranches. From 3.X-STABLE, 3.1 was released on February 15, 1999, 3.2 on May 15, 1999,3.3 on September 16, 1999, 3.4 on December 20, 1999, and 3.5 on June 24, 2000, which wasfollowed a few days later by a minor point release update to 3.5.1, to incorporate somelast-minute security fixes to Kerberos. This will be the final release in the 3.Xbranch.
There was another branch on March 13, 2000, which saw the emergence of the 4.X-STABLEbranch, now considered to be the ``current -stable branch''. There have been severalreleases from it so far: 4.0-RELEASE was introduced in March 2000, and the most recent4.10-RELEASE came out in May 2004. There will be additional releases along the 4.X-stable(RELENG_4) branch well into 2003.
The long-awaited 5.0-RELEASE was announced on January 19, 2003. The culmination ofnearly three years of work, this release started FreeBSD on the path of advancedmultiprocessor and application thread support and introduced support for the
For now, long-term development projects continue to take place in the 5.X-CURRENT(trunk) branch, and SNAPshot releases of 5.X on CDROM (and, of course, on the net) arecontinually made available from
Contributed by Jordan Hubbard.
The goals of the FreeBSD Project are to provide software that may be used for anypurpose and without strings attached. Many of us have a significant investment in thecode (and project) and would certainly not mind a little financial compensation now andthen, but we are definitely not prepared to insist on it. We believe that our first andforemost ``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, I believe, one of the most fundamental goals of Free Software and one that weenthusiastically support.
That code in our source tree which falls under the GNU General Public License (GPL) orLibrary General Public License (LGPL) comes with slightly more strings attached, thoughat least on the side of enforced access rather than the usual opposite. Due to theadditional complexities that can evolve in the commercial use of GPL software we do,however, prefer software submitted under the more relaxed BSD copyright when it is areasonable option to do so.
Contributed by Satoshi Asami.
The development of FreeBSD is a very open and flexible process, being literally builtfrom the contributions of hundreds of people around the world, as can be seen from our list of contributors.FreeBSD's development infrastructure allow these hundreds of developers to collaborateover the Internet. We are constantly on the lookout for new developers and ideas, andthose interested in becoming more closely involved with the project need simply contactus at the FreeBSD technical discussions mailing list. The
Useful things to know about the FreeBSD project and its development process, whetherworking independently or in close cooperation:
In summary, our development model is organized as a loose set of concentric circles.The centralized model is designed for the convenience of the
All we ask of those who would join us as FreeBSD developers is some of the samededication its current people have to its continued success!
FreeBSD is a freely available, full source 4.4BSD-Lite based release for Intel
Since our release of FreeBSD 2.0 in late 94, the performance, feature set, andstability of FreeBSD has improved dramatically. The largest change is a revamped virtualmemory system with a merged VM/file buffer cache that not only increases performance, butalso reduces FreeBSD's memory footprint, making a 5 MB configuration a moreacceptable minimum. Other enhancements include full NIS client and server support,transaction TCP support, dial-on-demand PPP, integrated DHCP support, an improved SCSIsubsystem, ISDN support, support for ATM, FDDI, Fast and Gigabit Ethernet(1000 Mbit) adapters, improved support for the latest Adaptec controllers, and manythousands of bug fixes.
In addition to the base distributions, FreeBSD offers a ported software collectionwith thousands of commonly sought-after programs. At the time of this printing, therewere over 10,500 ports! The list of ports ranges from http (WWW) servers, to games,languages, editors, and almost everything in between. The entire ports collectionrequires approximately 300 MB of storage, all ports being expressed as ``deltas'' totheir original sources. This makes it much easier for us to update ports, and greatlyreduces the disk space demands made by the older 1.0 ports collection. To compile a port,you simply change to the directory of the program you wish to install, type
A number of additional documents which you may find very helpful in the process ofinstalling and using FreeBSD may now also be found in the
You can also view the master (and most frequently updated) copies at
This, and other documents, can be downloaded from
For questions about FreeBSD, read the