When this project started in 2004, there was discussion as to which OS to use as the base for the project. With all the great technologies from OpenBSD that we include, it may seem like the logical choice. However FreeBSD proved a better choice for several reasons. Some are outlined here.
- Wireless support - At the time, wireless support in OpenBSD had considerable deficiencies that would have greatly limited the wireless capabilities of the system. Lack of drivers, and no WPA or WPA2 support, amongst others. This has changed to some extent since 2004, but FreeBSD remains the leader in wireless capabilities.
- Network performance - In 2004, FreeBSD with PF was considerably faster and more scalable than OpenBSD with PF. Changes in OpenBSD over the past 5 years have significantly improved its performance and this is basically a wash at this point. On pfSense 2.2 with mutli-threaded pf, FreeBSD wins again.
- Ease of fork / familiarity - Because the pfSense code base came from m0n0wall, which is based on FreeBSD, the fork was much easier. Also the founders are more familiar with FreeBSD than OpenBSD. These aren't reasons for choosing the OS, but additional benefits.
There are multiple features of the system that could not function on OpenBSD without significant work.
- Cooperation of the FreeBSD developer community - we receive great support from many FreeBSD developers, while other projects are not at all supportive of similar efforts.
- Inadequate resources for multiple OS support - We have a strong, active development community, but we're focused on extending and improving pfSense on FreeBSD. If a prospective developer is willing to create and maintain an OpenBSD-based pfSense release, it would be welcomed, please contact us.
The only downside to FreeBSD over OpenBSD is we have somewhat older versions of the tools from OpenBSD. This means it takes longer before we can utilize new features in these tools. However we are shortening that gap by taking over maintainership of these.