History of FreeBSD – Part 1: Unix and BSD
This is part of our article series published as “History of FreeBSD“. Subscribe to our article series to find out more about the beginnings of FreeBSD
FreeBSD, a free and open-source Unix-like operating system has been around since 1993. However, its origins are directly linked to that of BSD, and further back, those of Unix. During this History of FreeBSD series, we will talk about how Unix came to be, and how Berkeley’s Unix developed at Bell Labs.
Before FreeBSD, there was Unix
The story of Unix starts back in the mid-1960s with Multics. MIT, AT&T Bell Labs, and GE started jointly developing Multics as an experimental operating system for the GE-645 mainframe.
Multics had many new ideas that paved the way for all modern Operating Systems. Some of those ideas are still in use today such as, dynamic linking, a hierarchical file system, and memory mapped files. In 1969, Bell Labs pulled out of the project due to dissatisfaction with the projects progress.
As a skunkworks project and without a name at the time, Unix was created at Bell Labs. Due to a desire to implement some of the goals of Multics, but on a smaller scale a new Operating System was created. Many of those Bell Labs engineers are well known even today.
Dennis Ritchie who later created the C programming language and Ken Thompson who co-invented the Go programming language. The Operating System was originally written in assembly, but in 1973 Version 4 Unix was rewritten in C.
In 1975 the first source license was sold to the University of Illinois’s Department of Computer Science. In the late 1970s the influence of Unix in academic circles led to it being used by many new companies. Bell Labs produced several versions of Unix that are collectively known as “Research Unix.”
Berkeley’s Unix Arrives
The year is 1974, and BSD began taking shape when Unix first arrived at the University of California at Berkeley. Ken Thompson took a sabbatical from Bell Labs in 1975 and came to visit his Alma Mater as a visiting professor. During this time he helped install Version 6 Unix and started working on a Pascal implementation.
As students continued working on Pascal and implemented an improved text editor called ex, other universities became interested in the software. So, in 1977 Bill Joy, one of those students, started compiling the first Berkeley Software Distribution, or 1BSD which was released on March 9th of the following year with some 30 copies sent out.
Some well-known software that is still in use today had its start in the next version, 2BSD, such as vi and csh, which saw approximately 75 copies distributed.
In 1978 a new more powerful VAX computer was installed at Berkeley and provided a new target for BSD software. Over time large parts of the Operating System had to be replaced, for instance the initial Unix port to the VAX architecture did not take advantage of the VAX’s virtual memory capabilities so much of the kernel was rewritten. The release of 3BSD in 1979 contained this new kernel and ports of the other BSD programs to the VAX architecture.
As BSD spread to more and more institutions, users began adding additional functionality and programs, and sending those back to the team at Berkeley to be included in the next release of BSD. This was the start of the open source movement, before it had a name.
In 1989 a new release called Network Release 1 or Net/1 was made under the BSD license. This contained work that was done on implementing the OSI network protocol stack and new TCP/IP algorithms. It was motivated by the increasing cost of AT&T software licenses and several groups had started to express interest in a separate release of just the network code.
After Net/1 Keith Bostic proposed that more of the system be released under the BSD license and so he lead a project to reimplement most of the standard Unix utilities without any AT&T code.
Within the next 18 months, all of the AT&T utilities had been rewritten and only a few AT&T files remained in the kernel. In 1991 Network Release 2 or Net/2 was made available without those files, resulting in nearly a complete operating system that was freely distributable.
In 1992, Bill and Lynne Jolitz, both Berkeley alumni, release 386BSD 0.0, the first version of BSD for the Intel 386, a computer many had in their homes. This was made possible by Keith Bostic and partially influenced by Richard Stallman.
… and so FreeBSD begins
Later in 1992 386BSD 0.1 was released and set the stage for the formation of FreeBSD and NetBSD. A group of users began releasing an unofficial patchkit, by collecting bug fixes and enhancements. This group disagreed with the future direction and release schedule of 386BSD, so in 1993 they founded The FreeBSD Project.