OpenNTPD

OpenNTPDは、NTP（Network Time Protocol）を利用して計算機の時間を合わせるソフトウェアで、安全性を考慮して開発され、BSDライセンスで公開されている。
OpenNTPDはNTPサーバと同期して時間を合わせる機能だけでなく、NTPサーバとしても振る舞うことが出来る。
OpenNTPDは初期の頃はOpenBSDプロジェクトの一部としてHenning Brauerが開発していた。
Darren Tuckerにより他の様々なオペレーティングシステムで利用できるようにする開発がされてからは、OpenSSHのようにOpenBSDのサブプロジェクトになっている。この移植版リリースには、OpenSSH と同じくバージョン番号に Portable release を表す p がつけられている。
歴史.
OpenNTPDは既存のNTPデーモンの問題を解決するために開発された。既存のNTPデーモンには設定が難しいという問題、プログラムが正常に動くかを調べるのが難しいという問題、ライセンス上の問題があった。
OpenNTPDはこれらの問題を解決するために開発され、最初は 2004年11月2日にリリースされたOpenBSD 3.6 と一緒に配布された。
目的.
OpenNTPDは適度な正確さを保ちつつ、安全で、プログラムの安全性を調査しやすく、設定しやすく、少ないメモリしか消費しないNTPデーモンとして開発されている。
安全性はネットワークからの入力に対してしっかりと正当性を調査することやstrlcpyを用いたバッファー操作、潜在的なセキュリティーホールの影響を小さくする特権分離により達成されている。
設定しやすさは、他のNTPで提供しているものよりも少ない典型的な機能しか実装しないことで実現している。
実際、OpenNTPDの設定として必要なものはOpenNTPDが待ち受けるIPアドレスとホスト名、利用する時間計測デバイス、同期をとるサーバぐらいである。
評判.
OpenNTPDにはthe Network Time Protocol projectで開発されたNTPデーモンに比べて精度が低いという評価がある。
OpenNTPDプロジェクトはプログラムの単純さと安全さのためにマイクロ秒単位の正確さを犠牲にしていると、この評価を認めている。