FreeBSD 開発プロジェクト
FreeBSD の主要な流れとはまた別に、多くの開発グループが FreeBSD のアプリケーションの範囲を新しい方向で拡大するために作業を行っています。 下のリンクをたどると、 それらのわくわくするようなプロジェクトについてもっと知ることができます。
[email protected]また、いくつかのプロジェクトは定期的に進捗レポートを提出しています。 詳しくは 進捗レポートのページ をご覧下さい。
ドキュメンテーション
- FreeBSD ドキュメンテーションプロジェクト: FreeBSD ドキュメンテーションプロジェクトは FreeBSD プロジェクトの為に、ドキュメント (FAQ やハンドブックなど) を整備したり執筆しています。 もしドキュメンテーションプロジェクトを手伝いたいなら [email protected] を購読して参加してください。
- 初心者のための FreeBSD に関する情報: FreeBSD と UNIX® を使い始めた人に役立つ一般的な情報のリストです。
- RELEASE/SNAP を FreeBSD の FTP サーバから捜す: 特定の release や snap を持っている FTP サーバを捜す手助けをします。 データベースは毎日メルボルン時間で午前 3 時 (UTC の 10 時間先) に更新されます。
- FreeBSD Diary: UNIX 初心者向けのハウツーのコレクションです。 目的はさまざまな ports のインストールや設定の step-by-step ガイドを提供することです。
- FreeBSD 開発者のためのハンドブック
- FreeBSD Ports Collection への貢献
アプリケーション
- 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 の両方に修正が必要になるでしょう。 また、セキュリティ機能の検証/管理用のツールもいくつか作成する予定です。 協力を募集中です。問い合わせは [email protected] まで電子メールでお願いします。
ストレージ
- 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 のユーザに恩恵を与えます。
カーネル、セキュリティ
- 抽選型カーネルスケジューリング(Lottery Scheduling Kernel): これは、Waldspurger 氏の抽選型カーネルスケジューリングアルゴリズムに基づくもので、 割合共有型のリソース管理を実現するものです。 ユーザプロセスの相対的な実行速度を厳密に制御できること、 一人のユーザによる CPU の占有を防ぎ、 負荷の影響をユーザ相互に伝達しないことが主な利点となります。
- OpenBSM: Sun の Basic Security Module (BSM) Audit API およびファイル形式のオープンソースな実装です。 OpenBSM は、 TrustedBSD における監査の実装に対して、 ユーザランドのライブラリ、ツールおよびドキュメントを提供します。 この実装は 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 と [email protected] に送ってください。
アーキテクチャ
- FreeBSD の IA-64 システムへの移植: このプロジェクトは IA-64 アーキテクチャへの FreeBSD の移植作業を担当しています。 このプロジェクトに関する質問は、 [email protected] メーリングリストまでお願いします。
- 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 における利用について調べています。