That question has been asked and answered many times … but the answer was not always obvious to everyone.
Also today is the FreeBSD day – FreeBSD was created exactly 29 years ago – also on 19th on June.
The first UNIX was the AT&T UNIX whose development started in 1969 at Bell Labs. Then AT&T licensed UNIX to outside parties in late 1970s which have life many UNIX variants like:
- AIX from IBM
- BSD (Berkeley Software Distribution) at University of California
- SunOS/Solaris from Sun Microsystems
- HP-UX from HP
- Xenix from Microsoft
Of course AT&T also worked on UNIX and in the late 1980s jointly with Sun Microsystems they released the UNIX System V Release 4 (SVR4). Then in early 1990s the AT&T company sold its UNIX rights to Novell. Then Novell sold UNIX trademark to Open Group. This UNIX journey ends here as its Open Group ownership and they allow the use of the UNIX trademark for certified operating systems that comply with the Single UNIX Specification (SUS) (and pay $100 000 in the certification process).
The BSD UNIX had quite unusual version numbering with 1BSD, 2BSD, 3BSD for subsequent releases.
Below you will find most of them listed with some of their features.
- run PDP-11
- ex(1) editor
- run PDP-11
- vi(1) editor
- C shell
- run VAX-11
- DEC VT100 terminal
- run VAX-11
- DARPA funding for CSRG
- job control in C shell
- delivermail(8) – antecedent of sendmail(8)
- improved signals
- Curses programming library
- performance improvements
- on par with VMS on many benchmarks
- BBN preliminary TCP/IP implementation
- Berkeley Fast File System
- disk quotas
- job control
- run Motorola 68000
- introduction of Daemon mascot
- improved performance
- more diverged TCP/IP implementation from BBN
- move towards POSIX compliance
- NFS implementation
- status key (CTRL-T)
- run HP 9000
- named as “Greatest Software Ever Written”
- most standard UNIX utilities reimplemented without AT&T code
- nvi(1) – new vi(1)
- only few AT&T files remained in kernel
- all AT&T standard UNIX utilities reimplemented without AT&T code
- nearly complete operating system that was freely distributable
386BSD (sometimes also called 386/BSD)
- run Intel 80386
- basically 4.3BSD-Net/2 ported to x86
- base for NetBSD
- base for FreeBSD on 1.0-2.2.8 releases
BSD/386 (later renamed BSD/OS) by BSDi
- legal trouble with AT&T
- AT&T USL versus BSDi lawsuit filed against 4.3BSD-Net/2
- from 18,000 files only 3 had to be removed and 70 modified to show AT&T USL copyright.
- released only to AT&T USL licensees
- no longer requires AT&T USL license
- contained other changes over 4.4BSD-Encumbered
- last BSD UNIX release
- after this release CSRG was dissolved
- FreeBSD since 3.0 also used that code
The 386BSD UNIX (sometimes also called 386/BSD) was port of the 4.3BSD-Net/2 UNIX to the Intel/x86 architecture. Like recently FreeBSD added support for RISC-V or ARM64. When 386BSD UNIX existed – a group of people took that code and decided that they will develop it under FreeBSD name with their our own way of doing things like serving packages etc.
As you can see the FreeBSD UNIX is – with large simplification – nothing more then 4.3BSD-Net/2 ported to the x86 architecture. But can you call it UNIX? That depends.
Let me give you an example from other industry. Can you call Tesla a ‘car’? Yes. Why? Because no one has the copyright for the ‘car’ term. Now imagine this – some company owns the copyright to the ‘car’ term. Now you would not be allowed to call Tesla a ‘car’ without first asking that company for permission. Without such permission you could name Tesla only a car-like vehicle … or automobile – but not simply a ‘car’.
Lets get back to the computing world. Can you officially name FreeBSD a UNIX? No. That is because Open Group company owns copyright to the ‘UNIX’ term. You can call it only a UNIX-like system … but that does not mean its not UNIX. You just can not call it like that because of the lawyers.
NetBSD team also gave good example with their ‘duck’ explanation – https://mollari.netbsd.org/about/call-it-a-duck.html – available here.
Apple paid $100 000 to call their Mac OS X (now macOS) system a UNIX officially.
Can you call Linux a UNIX system? Depends which one 🙂 Currently RHEL (Red Hat Enterprise Linux) is not a certified UNIX – Red Hat did not made the $100 000 worth official certification process with Open Group – you can not name RHEL a UNIX system … but RHEL fork can be called officially UNIX. The Inspur-UX is official UNIX because they did that $100 000 certification with Open Group. Probably because they thought that calling their RHEL fork ‘UNIX’ will make their business better.
Does it makes sense? No. But that is just business. Do not seek logic here. Money only.
Depends if you want the truth or just what the law officially allows 🙂 If you want the truth then yes – FreeBSD is a UNIX system – same as NetBSD or OpenBSD for example. But if you want to obey the law then you can not name these systems UNIX.