FreeBSD Development Projects
FreeBSD の主要な流れとはまた別に、多くの開発グループが FreeBSD
のアプリケーションの範囲を新しい方向で拡大するために
作業を行っています。下のリンクをたどることでそれらのわくわくするような
プロジェクトについてもっと知ることができます。
プロジェクトが載っていないと気づいたら、URL と短い (3〜10行程度)
紹介文を送ってください。宛先:
www@FreeBSD.org
また、いくつかのプロジェクトは定期的に進捗レポートを提出しています。 詳しくは 進捗レポートのページをご覧下さい。
ドキュメンテーション
- FreeBSD ドキュメンテーションプロジェクト
FreeBSD ドキュメンテーションプロジェクトは FreeBSD プロジェクトの 為に、ドキュメント (FAQ
やハンドブックなど) を整備したり書いたりしています。
もしドキュメンテーションプロジェクトを手伝いたいなら freebsd-doc@FreeBSD.ORG
に応募して参加してください。
- 初心者のための FreeBSD
に関する資料 は FreeBSD と UNIX® を使い始めた人に役立つ一般的な資料のリストです。
メーリングリストfreebsd-newbies@FreeBSD.ORG もあります。
- FreeBSD Security How-To。 FreeBSD
はたいへん安全なオペレーティングシステムです。 ソースコードが自由に入手でき、OS
はつねに論評され検査されています。 FreeBSD はとてもセキュアな OOB (Out-Of-Box) ですが
偏執的な方々のためにさらに安全性を増すたくさんの機能があります。 この How-To
はステップを踏み、あなたの計算機のセキュリティを 総合的に上昇させることを助けます。
- RELEASE/SNAP
を FreeBSD のFTP serverから捜す。 特定の release や snap を持っている FTP
サーバを捜す手助けをします。 データベースは毎日メルボルン時間で午前3時 (UTCの10時間先)に
更新されます。
- FreeBSD 日記 は
UNIX 初心者向けのハウツーのコレクションです。 目的は様々な ports のインストールや設定の
step-by-step ガイドを 提供することです。
- FreeBSD の包括的ガイド -
より読みやすい、FreeBSD オペレーティングシステムを説明した
「本に近い」チュートリアルの企画です。 FreeBSD と UNIX 双方の初心者を予定しています。
常に作業進行中です。
- 怠惰で見込みのない者たちへの FreeBSD
How-To は FreeBSD の立ち上げと設定の「ハウツー」スタイルのもっと読みやすい
情報を提供しようという別種の若干陽気な企てで〜す。
- The
Linux+FreeBSD mini-HOWTO は Linux と FreeBSD
を同一のシステム上でどのように使うかのハウツーです。 ここでは FreeBSD
を紹介していて、二つの OS がどのように 協調できるかについて議論しています
(例えばスワップ空間を共有する等)。
- FreeBSD 2.2.7
のインストールの下見 これは初心者向けの FreeBSD インストールプログラムの
図入りのガイドです。
- FreeBSD
開発者向けハンドブック
- The FreeBSD Cook Book
FreeBSD のインストールは終わったね ? 次は ? ここではあなたの今の知識ででも実現可能な、
一般的な問題に対する解決方法がいくつか提案されています。
このドキュメントは一般的なタイプのインストレーションのレシピが書かれた
電子的な料理の本のスタイルをとっています。
各「レシピ」には正しく走っているシステムを得るために必要となる
推奨される最低限のハードウェアや使用する特定のソフトウェア、
もっとも重要なことには設定に関する情報が載っています。
- The FreeBSD Corporate Networker's Guide
このウェブサイトでは、The FreeBSD Corporate Networker's Guide
をより実用的にするために出版後の追加情報を提供します。
小説などの作り話は初版から何百年たっても楽しむことができますが、 Networker's Guide
のような技術的なマニュアルは、対象にしている 製品が変更されるために 2、3
年で時代遅れになってしまいます。
アプリケーション
- FreeBSD で動く Java™
には、最新の FreeBSD 用 JDK™ の入手先、インストールと実行方法、魅力的な java
ソフトウェアのリストなどがまとめられています。 FreeBSD 2.2 以前のバージョンは JDK™
に対応していないことに注意。
- GNOME on FreeBSD
(英語版) 最新の FreeBSD 版 GNOME の入手、インストール、実行する方法、
プロジェクトの最新ニュースや近況、GNOME における FreeBSD 特有の FAQ、
アプリケーションの移植ガイドラインなどの、さまざまな話題が含まれています。
- KDE on FreeBSD 最新の
FreeBSD 版 KDE のリリースや、どうやって FreeBSD に KDE
をインストールして動作させるかについての文書
やチュートリアルへのリンクが含まれています。プロジェクトの ニュースや、FreeBSD 特有の FAQ
も用意されています。
- マルチメディア UNIX
世界の中のマルチメディアの世界に属するソフトウェアや情報への リンクのリソース。
- FreeBSD Ports コレクション FreeBSD ports
コレクションは幅広いアプリケーションを
最低限の努力でインストールする為の簡単な手段を提供します。 特定のアプリケーションが ports
コレクションに存在しているかど うかを調べるために、検索機能付の現在の ports
のリストが利用可能です。
- FreeBSD Ports distfiles
の調査 は distfile を取得できない ports コレクションを調査し、 各 ports
についてまとめて報告するリストです。
- FreshPorts は最新の ports
とその変更点の一覧を提供します。お好みの ports を監視リストに
登録して、なにか変更があったときにメールで連絡をもらいましょう。
- Bento は Ports Collection を調査し、各 port
の package 構築ログやエラーログを 保持しているサーバです。
ネットワーク
ファイルシステム
- FreeBSD における HFS と HFS
Plus。このプロジェクトは、Darwin の HFS 対応を FreeBSD に統合するのが目標です。
- Arla
はフリーの AFS クライアントの実装です。主目標は 通常の AFS
のすべての能力を持つ完全に機能的なクライアントを 作ることにあります。
他に計画されたり実装されたものとしては通常の管理ツールと サーバのすべてがあります。
- Coda は
分散ファイルシステムです。その機能の中には切断時の操作や
優れたセキュリティモデル、サーバでの複製、持続性クライアント側キャッシュ
が含まれます。
- ファイル名、データを Blowfish で暗号化する cryptfs
- Elephant:
書き込み専用ファイルシステム
- ジャーナリングと Soft Updates の比較:
ファイルシステムにおける非同期メタデータ保護の手法
- モードのロック
- 再帰的な namei
インタフェースの作成
- NFS
のクライアントとサーバのロック
- DCD
Device Driver for Unix の設計と実装
- FreeBSD 用 NTFS ドライバ
このドライバは Windows® NTFS パーティションを FreeBSD に
マウントできるようにします。現時点で NTFS パーティションは
リードオンリーモードでしかアクセスできませんが
リードライトアクセスのプランが動いています。
- Rio (RAM I/O): RIO
プロジェクトは信頼できるメモリをどの様に実装し使うか 研究しています。
信頼できるメモリは信頼性とパフォーマンスを劇的に改善できます。
-
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 のユーザに恩恵を与えます。
- WAFS
はカーネルサブシステム用のサービスとして動作する シンプルなファイルシステムです。
読み出しと書き込みは log-sequence number (LSN) をキーとして 行なわれます。 WAFS
への全ての書き込みは順序通りに行なわれます。
カーネルサブシステムはログが先に書き込まれることと、一貫性を 保証するためにこの LSN
サービスを利用することができます。
カーネル、セキュリティ
- Drawbridge はファイアウォールのパッケージで Texas
A&M 大で開発され 大規模な学術的環境を指向してデザインされました。その
偉大な強さはイントラネット内の多数の個々のホストのための
パケットフィルタリングを高速に行う能力です。
- Kernel Scheduler Entities:
スケジューラアクティベーション (Scheduler Activation)
と似た設計のスレッドシステムを使用して、 FreeBSD
におけるスレッド対応を充実させるためのプロジェクト。
- 抽選型カーネルスケジューリング(Lottery
Scheduling Kernel): これは、Waldspurger
氏の抽選型カーネルスケジューリングアルゴリズムに
基づくもので、割合共有型のリソース管理を実現するものです。
ユーザプロセスの相対的な実行速度を厳密に制御できること、 一人のユーザによる CPU
の占有を防ぎ、 負荷の影響をユーザ相互に伝達しないことが主な利点となります。
- FreeBSD で動く LDAP
- 対称型マルチプロセッサの対応
FreeBSD でのマルチプロセッサが持つ優位性に関する 文書とその他の情報。
- カーネルのメモリリークをテストするための確認ソフトウェアのセット
- SPY
は、システム上で発行されるシステムコールをモニタしたり、
それらを選択的にブロックする操作を実現します。
これは安全な監視デバイスやシステム運用ポリシーの強制手段として、
あるいはデバッグツールとして利用することが出来ます。
- TrustedBSD
は FreeBSD を高信頼性オペレーティングシステムにする拡張機能集を
提供しています。これには例えば、きめ細かい特権 (ケイパビリティ)、
アクセスコントロールリスト(ACL)、強制アクセス制御 (MAC)
などの機能が含まれています。これらの機能は FreeBSD に統合されるだけでなく、 他の BSD
由来のシステム用への移植も進められています。
デバイスドライバ
- BSD
ドライバデータベース
あなたが自分でドライバを書く時間がなくとも、誰かの役に立つことはできます。 BSD
ドライバデータベースは、 対応させたいハードウェアを持っている人と、
そのハードウェア用のドライバを書く知識をもったドライバ開発者との
架け橋となることを目的としています。 このリストには、現在開発が進められており、
あなたが時間やその他のリソースを提供することで
開発がより効率的になるようなドライバが書かれています。
- busdma および
SMPng ドライバの書き換え: busdma は、高機能なデバイスドライバの多くで使用される、
ダイレクトメモリアクセス (DMA) によるハードウェア操作を行なうための、
移植性の高い抽象的な手段を提供します。 デバイスドライバの作者は busdma
を使うことで、プラットフォームに依存する DMA
管理コードを追加する必要がなくなり、ハードウェアアーキテクチャ間の
移植性を向上させることが可能になります。 また、このページではドライバを SMPng
のコードで安全に動作するように するための書き換え作業の進捗も公開しています。
- FreeBSD
用デバイスの新しい枠組み
- BSD ATM: 4.4BSD での
ATM によるインターネットワークの実装:
マルチメディアやイメージ処理、分散コンピューティング等といった
新しいコンピュータアプリケーションはコンピュータネットワークの 高い性能に依存します。ATM
ベースのネットワークソリューションは
これらの性能要求を満足させる一つの手段を提供します。しかしながら
イーサネットなどの従来のネットワーク上の ATM の複雑さは
それが使えるようになる上で障害となることが判っています。 この文書では BSD ATM
のデザインと実装について述べています。 これは BSD
ベースのオペレーティングシステム用の軽量かつ有能な ATM
ソフトウェア層で、必要なオペレーティングシステムへの変更は 最小限です。BSD ATM は IP
ベースの ネットワークトラフィックとしても「ネイティブ」な ATM としても 使えます。
- FreeBSD で高精度の時間計測 高い精度を持つ NTP
の stratum 1 サーバをどのようにして 作るのか。
- 家庭での自動化
器具コントローラー、赤外線コントローラー、 自動化された電話システム等々を FreeBSD
で。
- CAM: FreeBSD
のための新しい SCSI 層 新しい CAM SCSI 層の詳細、どのように動くか。
- FreeBSD トークンリングプロジェクト
トークンリング対応を FreeBSD に追加するにあたっての
情報、ファイル、パッチ、ドキュメント。
- FreeBSD USB
ドライバの開発 NetBSD の USB スタックが FreeBSD に移植されています。彼らと一緒に USB
バスを利用するたくさんのデバイスのためのドライバの開発を開始しています。
この企画に参加したかったり対応しているデバイスを捜したかったら
このウェブページを捜しましょう。
- FreeBSD で PnP
(Plug-and-Play)、AWE64、AWE32、SB32 サウンドカード を設定する方法です。
- Scott Mitchell の Xircom CEM
イーサネットドライバの開発を助ける メーリングリストがあります。参加するには subscribe
freebsd-xircom と majordomo@lovett.com
に送ってください。
- Mike Smith による、対応している RAID
カードとそれらについての情報の 一覧。
アーキテクチャ
- FreeBSD の Alpha
システムへの移植 状態やメーリングリストの情報や使われているハードウェアや その他の
Alpha のプロジェクト等の FreeBSD の Alpha への移植の情報を含みます。
- 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
に関係するプログラムの構築にも 役立ちます。
- 小型の組み込みの FreeBSD (PicoBSD) PicoBSD
は FreeBSD の 1 フロッピー版で、安全なダイアルアップアクセス、
小さなディスクレスルータ、ダイアルインサーバなどの
バリエーションがあります。これらはすべてたった一枚の標準的な 1.44MB の
フロッピーディスクに入っています。最低 386SX CPU に 8MB のメモリがあれば動き
ハードディスクは不要です!
その他
- GLOBAL
は異なった環境下でも同じ動作をするソースコードタグ付けシステムです。
現時点ではシェルコマンドライン、nvi エディタ、web ブラウザ、 emacs エディタ, elvis
エディタに対応していて 言語は C、Yacc、Java に対応しています。
- PAO:
モバイルコンピューティングのページ、FreeBSD 2.2.X や 3.X を動作させているラップトップ
FreeBSD2.2.X や 3.X 以前のバージョンで PC カード (別名 PCMCIA) への対応を
捜しているユーザーは、ラップトップ対応を目標にしている PAO プロジェクトを
ご覧になるとよいでしょう (FreeBSD 4.X 以降のバージョンには、ラップトップ対応が
含まれています)。
- FreeBSD ソースコードツアー。
ハイパーテキストによる相互参照を持つ FreeBSD kernel ソースコードの
プレゼンテーションです。インデックスされているバージョンは -CURRENT と RELENG_4
です。
- Enteruser: Adduser
の置き換え
- libh。 libh は Tcl
スクリプトがある種の砂場 (sandbox) で動作することが
できるようにするためのラッパーであり、他のライブラリへの インタフェースでもあります。
libh に含まれるライブラリは Tcl スクリプトから呼び出すことが可能で、
コンソールバックエンド用の Turbo Vision を使うものや、 X11 バックエンド用の Qt
を使うものなどの汎用ユーザインタフェース ライブラリを含みます。 libh は Zip
アーカイブを用いた新しいパッケージシステムや、
様々なパッケージごとのスクリプトも含みます。 また、これは新 sysinstall
の出発点でもあります。
- Binary
Updater。FreeBSD Update は、FreeBSD 用のバイナリ
セキュリティアップデートを自動的に構築、配布、取得および適用する
仕組みです。これによって、FreeBSD セキュリティブランチに、
ソースツリーを取得して再コンパイルせずに (アップデートを
構築するマシンはもちろん別ですが)、簡単に追随できるようになります。
アップデートは暗号で署名されます。また、バイナリ差分ツールを用いて
バイナリ差分として配布されますので、消費する帯域を劇的に減らします。
- FreeBSD C99 &
POSIX® 適合プロジェクト は ISO 9899:1999 (C99) 標準と IEEE 1003.1-2001 POSIX
標準の要求の すべてを実装することを目的としています。
- CVSweb は、 CVS リポジトリ用の
WWW インタフェースです。 ブラウザを使って非常に手軽な方法でファイル階層を閲覧し、
各ファイルの修正履歴を見ることができます。
- FreeBSD
ラップトップ互換性リストは FreeBSD で動作するラップトップと PCMCIA
カードのわかりやすいデータベースです。このサイトには、
既知のハードウェアおよびソフトウェアの問題の詳細な情報も含まれています。
- The FreeBSD Tinderbox は FreeBSD
のソースツリーの活発に開発が行われている
現役のブランチを継続的に構築して、構築上の問題を検出します。 tinderbox
が構築に失敗すると、可能な限り迅速に修正されるように、
適切なメーリングリストにメールを送信します。Tinderbox のソースコードは、FreeBSD の CVS
リポジトリ中の src/tools/tools/tinderbox
ディレクトリで保守されています。
- FreeBSD GNATS
更新プロジェクトページには、FreeBSD バグ追跡システムを GNATS 3 から GNATS 4
に更新するにあたっての、課題、計画、 および実装について詳しく述べられています。