FreeBSD è disponibile per piattaforma Intel IA-32, AMD64, DEC Alpha, IA-64, PC-98, UltraSPARC e PowerPC.
Il progetto ha origine all'inizio del 1993 come evoluzione dell’ “Unofficial 386BSD Patch Kit” grazie all’impegno di Nate William, Rod Grimes e Jordan Hubbard, mentre il nome è da attribuirsi a David Greenman.
La prima release ufficiale, distribuita su CD, risale a dicembre 1993, poco prima che gli sviluppi di una lunga controversia legale tra l'Università di Berkeley e Novell (1994), vadano ad incidere direttamente anche su FreeBSD, che era inizialmente basato sul fork 386BSD, contenente alcune parti originariamente derivate da Unix. Nonostante Novell accettò un accordo per chiudere la vertenza, FreeBSD doveva comunque eliminare le porzioni di codice prese dal sistema proprietario.
Il team accetta la difficile sfida, visto l’impatto che tali modifiche avevano sull’intero sistema e a novembre dello stesso anno rilascia FreeBSD 2.0, ancora piuttosto instabile ma libera da codici proprietari.
Oggi il sistema è utilizzato soprattutto in ambito server, consentendo l'hosting di numerosi (centinaia di migliaia) siti web sulla stessa macchina, grazie alla stabilità e scalabilità del sottosistema di Networking.
FreeBSD Desktop
Visto la sua specificità, non stupisce la grande attenzione posta alle problematiche di sicurezza, con l’integrazione di be tre firewall: IPFW, IPFilter e PF, a partire dalla versione 6.0.
Nonostante la fama di sistema operativo per server, FreeBSD può essere comodamente utilizzato anche come sistema operativo desktop, grazie all’efficiente sistema di gestione pacchetti (Ports) che permette di installare agevolmente centinai di applicazioni: browser internet, ambienti grafici integrati, suite per ufficio, lettori multimediali e molto altro.
I ports liberano l'utente dal problema delle dipendenze, visto che il sistema di gestione scarica i sorgenti più aggiornati del programma stesso, e non il suo eseguibile binario, in combinazione con i sorgenti aggiornati di tutti i programmi dai quali esso dipende, completando l’operazione di installazione con la loro ricompilazione ex novo sulla macchina target (un po’ come fanno Gentoo e Arch Linux).