FreeBSD 開発プロジェクト
FreeBSD の主要な流れとはまた別に、多くの開発グループが FreeBSD
のアプリケーションの範囲を新しい方向で拡大するために作業を行っています。
下のリンクをたどると、
それらのわくわくするようなプロジェクトについてもっと知ることができます。
ここに載っていないプロジェクトに気づいたら、URL と短い (3〜10 行程度) 紹介文を (英語で)
送ってください。宛先は
www@FreeBSD.org です。
また、いくつかのプロジェクトは定期的に進捗レポートを提出しています。 詳しくは 進捗レポートのページ をご覧下さい。
ドキュメンテーション
アプリケーション
- Java™ on FreeBSD: 最新の
FreeBSD 用 JDK™ の入手先、インストールと実行方法、魅力的な Java™
ソフトウェアのリストなどがまとめられています。
- GNOME on FreeBSD: 最新の
FreeBSD 版 GNOME の入手、インストール、実行方法、 プロジェクトの最新ニュースや近況、GNOME
における FreeBSD 特有の FAQ、
アプリケーションの移植ガイドラインなどの、さまざまな話題が含まれています。
- KDE on FreeBSD: 最新の
FreeBSD 版 KDE のリリースや、 どうやって FreeBSD に KDE
をインストールして動作させるかについての文書やチュートリアルへのリンクが含まれています。
プロジェクトのニュースや、FreeBSD 特有の FAQ も用意されています。
- Mono on
FreeBSD: FreeBSD における Mono および C# の状況について知ることができます。
- OpenOffice.org on FreeBSD:
OpenOffice.org ports についての情報があります。
- FreeBSD Ports Collection: FreeBSD Ports Collection
は、 幅広いアプリケーションを最低限の努力でインストールする為の簡単な手段を提供します。
検索機能付の現在の ports のリストが利用可能で、 特定のアプリケーションが Ports Collection
に存在しているかどうかを調べることができます。
- FreeBSD Ports distfiles
の調査: distfile を取得できない Ports Collection を調査し、 各 ports
についてまとめて報告するリストです。
- FreshPorts: 最新の ports
とその変更点の一覧を提供します。お好みの ports を監視リストに登録して、
なにか変更があったときにメールで連絡をもらいましょう。
- Pointyhat: Ports Collection を調査し、各
port の package 構築ログやエラーログを保持しているサーバです。
ネットワーク
- Netperf:
FreeBSD 5.x および 6.x カーネルに対するネットワークスタック最適化のプロジェクトで、
FreeBSD 5.3 における SMPng ネットワークスタックのロック作業に続いています。
このプロジェクトはマルチスレッドネットワークスタックに関する最適化の戦略について研究と実装をおこなっています。
- KAME プロジェクト: BSD 用の
IPv6/IPsec スタック
- SYSLOG-SECURE: 2001 年 8 月に、syslog が
RFC3164 によって標準化されました。 この RFC には、syslog
にセキュリティを追加するための拡張が書かれています。 このプロジェクトは 2002
年に始まり、FreeBSD の syslog を RFC3164 に準拠させ、
いくつかのセキュリティ拡張、最低でも syslog-sign を追加することを目的としています。
これには、libc と syslogd の両方に修正が必要になるでしょう。
また、セキュリティ機能の検証/管理用のツールもいくつか作成する予定です。
協力を募集中です。問い合わせは albert@ons-huis.net まで電子メールでお願いします。
ストレージ
- Arla:
フリーの AFS クライアントの実装です。主目標は通常の AFS
のすべての能力を持つ完全に機能的なクライアントを作ることにあります。
他に計画されたり実装されたものとしては通常の管理ツールとサーバのすべてがあります。
- Big Disk:
Large data storage in FreeBSD プロジェクトの目的は、
複数のテラバイトのドライブ/ボリュームおよびファイルシステムで FreeBSD
を利用できるようにすることです。
- Coda:
分散ファイルシステムです。
その機能の中には切断時の操作や優れたセキュリティモデル、サーバでの複製、
持続性クライアント側キャッシュが含まれます。
- ジャーナリングと Soft Updates の比較:
ファイルシステムにおける非同期メタデータ保護の手法。
- TCFS:
分散ファイルシステムのプライバシ問題の適切な解決となる透過型暗号化ファイルシステムです。
より深い場所での暗号化サービスとファイルシステムの統合により、
ユーザーアプリケーションに対する完全な透過性が得られます。
ファイルは暗号化されて記録され読み出される前に復号されます。
暗号/復号プロセスはクライアントマシンに位置し、
故に暗号/復号鍵がネットワークを旅することはありません。
- Tertiary
Disk:
カスタムビルドの不利を払拭する巨大ディスクストレージシステムを作るストレージシステムアーキテクチャです。
名前はテープライブラリのメガバイト当りのコストとキャパシティを得ることと磁気ディスクの性能を得るという双子のゴールに由来します。
私たちはスケーラブルで低コストなテラバイト級の容量を持つディスクシステムを開発するために日常的にすぐに買えるコンポーネントを使っています。
我々の目標は生ディスクに対して 30 から 50%
ほど余分にコストを払うことで完全なストレージシステムを作ることです。 Tertiary Disk
は大量のディスクを提供するためにスイッチされたネットワークにつながってる PC
を使います。我々の初号機は 200MHz の PC 20 個で構成され、 370 個の 8GB
のディスクを持っていました。 PC は 100MBps
のイーサネットスイッチで相互に接続されていました。
- Vinum: VERITAS
ボリュームマネージャ™ をお手本にして設計された論理ボリュームマネージャです。
しかしながら Veritas のクローンではなく、 たくさんの問題を Veritas
より優雅に解決しようというものです。 Veritas にない機能も提供しています。
- PathConvert プロジェクト:
絶対パス名と相対パス名を変換するユーティリティを開発する予定です。 これは主として NFS や
WWW のユーザに恩恵を与えます。
カーネル、セキュリティ
- Kernel Scheduler Entities:
スケジューラアクティベーション (Scheduler Activation)
と似た設計のスレッドシステムを使用して、 FreeBSD
におけるスレッド対応を充実させるためのプロジェクト。
- 抽選型カーネルスケジューリング(Lottery
Scheduling Kernel): これは、Waldspurger
氏の抽選型カーネルスケジューリングアルゴリズムに基づくもので、
割合共有型のリソース管理を実現するものです。
ユーザプロセスの相対的な実行速度を厳密に制御できること、 一人のユーザによる CPU
の占有を防ぎ、 負荷の影響をユーザ相互に伝達しないことが主な利点となります。
- OpenBSM: Sun の
Basic Security Module (BSM) Audit API およびファイル形式のオープンソースな実装です。
OpenBSM は、 TrustedBSD における監査の実装に対して、
ユーザランドのライブラリ、ツールおよびドキュメントを提供します。 この実装は FreeBSD
に統合される予定です。
- 対称型マルチプロセッサの対応:
FreeBSD でのマルチプロセッサが持つ優位性に関する文書とその他の情報。
- TrustedBSD: FreeBSD
を高信頼性オペレーティングシステムにする拡張機能集を提供しています。
これには例えば、きめ細かい特権 (ケイパビリティ)、 アクセスコントロールリスト
(ACL)、強制アクセス制御 (MAC) などの機能が含まれています。これらの機能は FreeBSD
に統合されるだけでなく、 他の BSD 由来のシステム用への移植も進められています。
- Kernel Stress Test Suite:
この高負荷テストの目的はシステムをクラッシュさせることです。
このストレステストは小さなテストプログラムとスクリプトから構成されます。
それぞれのテストは、それぞれカーネルの特定のエリアをターゲットとしています。
このテストスィートのキーコンセプトはカオスです。
それぞれのテストはランダムな時間休止し、その後、ランダムな回数呼び出されます。
デバイスドライバ
- busdma および
SMPng ドライバの書き換え: busdma は、高機能なデバイスドライバの多くで使用される、
ダイレクトメモリアクセス (DMA) によるハードウェア操作を行なうための、
移植性の高い抽象的な手段を提供します。 デバイスドライバの作者は busdma
を使うことで、プラットフォームに依存する DMA 管理コードを追加する必要がなくなり、
ハードウェアアーキテクチャ間の移植性を向上させることが可能になります。
また、このページではドライバを SMPng
のコードで安全に動作するようにするための書き換え作業の進捗も公開しています。
- FreeBSD
用デバイスの新しい枠組み
- BSD ATM: 4.4BSD での
ATM によるインターネットワークの実装: マルチメディアやイメージ処理、
分散コンピューティング等といった新しいコンピュータアプリケーションはコンピュータネットワークの高い性能に依存します。
ATM
ベースのネットワークソリューションはこれらの性能要求を満足させる一つの手段を提供します。
しかしながらイーサネットなどの従来のネットワーク上の ATM
の複雑さはそれが使えるようになる上で障害となることが判っています。 この文書では BSD ATM
のデザインと実装について述べています。 これは BSD
ベースのオペレーティングシステム用の軽量かつ有能な ATM ソフトウェア層で、
必要なオペレーティングシステムへの変更は最小限です。 BSD ATM は IP
ベースのネットワークトラフィックとしても「ネイティブ」な ATM としても使えます。
- 家庭での自動化:
器具コントローラ、赤外線コントローラ、 自動化された電話システム等々を FreeBSD で。
- FreeBSD
トークンリングプロジェクト: トークンリング対応を FreeBSD
に追加するにあたっての情報、ファイル、パッチ、ドキュメント。
- Xircom CEM イーサネットドライバ: Scott
Mitchell の Xircom CEM
イーサネットドライバの開発を助けるメーリングリストがあります。参加するには subscribe
freebsd-xircom と majordomo@lovett.com
に送ってください。
アーキテクチャ
- FreeBSD の IA-64
システムへの移植: このプロジェクトは IA-64 アーキテクチャへの FreeBSD
の移植作業を担当しています。 このプロジェクトに関する質問は、 freebsd-ia64@FreeBSD.org
メーリングリストまでお願いします。
- FreeBSD の PowerPC®
システムへの移植: FreeBSD PPC 版に関するメーリングリストなどの情報があります。
- FreeBSD の SPARC®
システムへの移植: FreeBSD SPARC 版に関する FAQ、初期版起動コード、SPARC
プロセッサとマザーボード情報や、その他の SPARC プロジェクトに関する情報があります。
- SysVR4 エミュレーション:
このページは FreeBSD の SysVR4 エミュレータについて記述しています。これは現在でも
Solaris™/x86 2.5.1 と 2.6 で採用された SysV
実行形式の幅の広がったバリエーションを走らせられます (歩かせられます、でもいいですけど)。
SCO UnixWare と SCO OpenServer のバイナリもこの上で実行できるだろうと、
私は信じる理由があります。
- OS キット:
OS キットはフレームワークと 31
個のオペレーティングシステム指向のライブラリコンポーネントのセットで、
広範囲なドキュメントも含みます。 一つの OS
として必要なインフラストラクチャ「grunge」の大半だけでなく、
高位のコンポーネントをもモジュール方式で提供することにより、 OS キットのゴールは R&D
OS へのエントリのより低い障壁とより低いコストとなるでしょう。 OS キットは新しい OS
を作ることや現存する OS を x86 (若しくは未来においては OS
キットで対応している他のアーキテクチャ) に移植することを圧倒的に簡単にし、OS
を広範囲なデバイスやファイルシステムフォーマットや実行形式やネットワークサービスに対応するように強化します。
OS キットはさらにブートローダやマイクロカーネルにおける OS レベルのサーバ等と言った OS
に関係するプログラムの構築にも役立ちます。
その他
- FreeSBIE:
FreeBSD オペレーティングシステムをベースとした live CD です。
有用なアプリケーションを幅広く収録し、純粋に CD だけで起動します。 また、FreeBSD
をハードディスクにインストールするためのインストーラとしても利用できます。
- NanoBSD: NanoBSD
は、できるかぎり小さな FreeBSD システムのイメージを作成するためのツールです。
コンパクトフラッシュカード (または、他の大容量の記憶媒体) に適しており、
アプライアンス用途で用いることができます。 FreeBSD
ドキュメンテーションコレクションの中には、 article about NanoBSD
という NanoBSD 入門のための文章があり、 この文章には、NanoBSD についての設定、
起動および使い方に関する有用な Tips が書いてあります。
- GLOBAL:
異なった環境下でも同じ動作をするソースコードタグ付けシステムです。
現時点ではシェルコマンドライン、nvi エディタ、web ブラウザ、 emacs エディタ, elvis
エディタに対応していて、 言語は C, Yacc, Java に対応しています。
- Enteruser: Adduser
の置き換え。
- ACPI on FreeBSD: FreeBSD
で、ACPI を円滑に動かすためのプロジェクトです。
- Binary
Updater: FreeBSD Update は、FreeBSD
用のバイナリセキュリティアップデートを自動的に構築、配布、
取得および適用する仕組みです。これによって、FreeBSD セキュリティブランチに、
ソースツリーを取得して再コンパイルせずに
(アップデートを構築するマシンはもちろん別ですが)、 簡単に追随できるようになります。
アップデートは暗号で署名されます。
また、バイナリ差分ツールを用いてバイナリ差分として配布されますので、
消費する帯域を劇的に減らします。
- FreeBSD C99 &
POSIX® 適合プロジェクト: このプロジェクトは ISO 9899:1999 (C99) 標準と IEEE
1003.1-2001 POSIX 標準の要求のすべてを実装することを目的としています。
- CVSweb: CVS リポジトリ用の WWW
インタフェースです。 ブラウザを使って非常に手軽な方法でファイル階層を閲覧し、
各ファイルの修正履歴を見ることができます。
- FreeBSD
ラップトップ互換性リスト: FreeBSD で動作するラップトップと PCMCIA
カードのわかりやすいデータベースです。このサイトには、
既知のハードウェアおよびソフトウェアの問題の詳細な情報も含まれています。
- TET Integration: The Open Group が提供する Test Execution Toolkit
は、 オープンソースの軽量化テストの実行フレームワークで、分散テストに対応しています。
このプロジェクトは、TET や TET ベースのオープンソースの標準準拠テストスィート (VSX-PCTS,
VSC-Lite, VSTH-Lite, VSW5 など) の FreeBSD における利用について調べています。