NetBSDに関する世界観です。BSDも参照のこと。
NetBSDは、*BSDの中ではアカデミックな雰囲気を持っていて、移植性の高い*BSDとして知られる。
特に、ハイエンドのサーバーからモバイルコンピュータまで、多くのCPUで動作するUNIX的なBSDである。お遊びで、トースターでNetBSDを走らせたりする人も居る。
公式・Wikipedia
ソースコード
NetBSDの特徴として、以下のようなものがある。
特徴 | 解説 |
---|---|
対応アーキテクチャが多い | さまざまなCPUアーキテクチャに対応しており、機種依存のコードとそうでないコードが分離されており、設計が綺麗。 |
ソースコードが綺麗 | 設計と実装が綺麗であり、ソースコードが読みやすい。BSDライセンスであることもあり、初学者の研究や大学の教育に最適。 |
BSDライセンス | GPLではなくBSDライセンスを採用しており、対応CPUアーキテクチャが多いこともあってモバイルや組み込み向けに最適。 |
NetBSDでは、とにかくたくさんのPortに対応している(NetBSDの場合のPortsはCPUの対応アーキテクチャのことで、FreeBSDとは意味が異なる。"port"という言葉はUNIX界で乱用されまくっているので注意すること)。特定のマシンや環境に依存しない移植性の高いコードを書くことは、コードやOSの設計を綺麗にする。NetBSDのコードは美しい。
NetBSDの開発者は、NetBSDが動きそうなコンピュータ・ハードウェアがあれば、すぐに移植する。これは、「NetBSDが動かないコンピュータなど存在しない」ということを表している。もっと言えば、「NetBSDが動かないコンピュータなど、コンピュータにあらず」といった感じである。
ホームページでも、"PowerPC, Alpha, SPARC, MIPS, SH3, ARM, amd64, i386, m68k, VAX: Of course it runs NetBSD."などと言われている。
後日注記:実際のところ、ここに羅列したよりも多く、NetBSDは58以上のアーキテクチャに対応している。これはOSとしてはありえない数である。また、同じプログラムをこれだけのアーキテクチャで基本的に編集なしで動かすことができる。同時にオープンソースであるため、組み込み開発者にはとても魅力的である。カーネルだけではなくlibcやユーザーランドも開発している。
CPUアーキテクチャや移植性も参照のこと。
ちなみにNetBSDにもFreeBSDのPortsと同じソースベースのパッケージ管理システムはあるが、これはpkgsrcと呼ばれる。
移植性が高いアカデミックな*BSD。さまざまなCPUアーキテクチャで動く。
「移植性の高いコードを書くことは、ソフトウェアの設計を綺麗にする」。