# FreeBSD への貢献

### Jordan Hubbard

$FreeBSD: doc/ja_JP.eucJP/articles/contributing/article.sgml,v 1.81 2006/03/13 16:46:15 rushani Exp $

Legal Notice

この文書は、個人や団体が FreeBSD プロジェクトに貢献するためのいくつかの方法について説明しています。

[ 分割版 / 単一版 ]

あなたも FreeBSD のために貢献したくなりましたか? 素晴らしい! FreeBSD は生き残るためにユーザベースの貢献に頼っています。 あなたの貢献は感謝されるだけではなく、FreeBSD が成長し続けるために極めて重要なものなのです!

一部の人達が発言しているのとは反対に、 貢献を受け付けてもらうために腕利きのプログラマーになるとか FreeBSD コアチームの人と親友になる必要はありません。 多くのそして益々増加する世界中の貢献者達が FreeBSD を開発しており、 彼らの年齢、専門技術分野は多岐に渡っています。 手の空いている人よりも成すべき仕事の方が多く、 お手伝いはいつでも歓迎されています。

FreeBSD プロジェクトはカーネルや散在しているユーティリティよりも、 オペレーティングシステム環境に対して責任を持っています。 私たちの `TODO` リストには文書整備、 ベータテスト、インストーラや専門化されたタイプの カーネル開発の好例を紹介するなど非常に広い範囲の作業があります。 あなたの技能レベルや分野に関わらず、 プロジェクトを支援できることが必ず何かあります!

FreeBSD 関連の事業に携わる商業団体が私たちにコンタクトすることも歓迎しています。 あなたの製品を (FreeBSD 上で) 動作させるには、 特別な拡張が必要ではありませんか? あまりにも風変わりな要求でなければ、 それを受け入れる用意が私たちにあるとわかるはずです。 付加価値のある製品ですか? 私たちに知らせてください! 多分私たちは、 ある面において共同して作業をすることができるでしょう。 フリーソフトウェア界は、 ソフトウェアがどのように開発され、 販売され、保守されていくかについて、既存の仮説に挑戦しています。 少なくとももう一度考慮してみることを私たちは強くお奨めします。

# 1. 何が必要?

次の課題とサブプロジェクトの一覧は、色々な `TODO` リストとユーザからの要求を合わせたものです。

## 1.1. 進行中の非プログラマ向けの課題

FreeBSD に関わっている中には、プログラマではない人が たくさんいます。プロジェクトには、文書を書く人、Web デザイナ、 サポートを行う人がいます。貢献するのに必要なのは、時間の投資と学ぶ 意欲です。

1. 定期的に FAQ とハンドブックを通して読んでみてください。 もしまずい説明や古い事柄や完全に間違っていることなどがあれば 私達に教えてください。 さらに良いのは我々に修正案を送ることです (SGML は学ぶのにそれほど難しくありませんが、 プレインテキストでも問題はありません)。

2. FreeBSD の文書を自分の母国語に翻訳するのを手伝ってください。 文書がすでに存在すれば、もっと文書を翻訳したり、 その翻訳が最新の状態かどうか確認するのを手伝うことができます。 まず FreeBSD ドキュメンテーションプロジェクト入門の 翻訳に関する FAQ (よくある質問とその答え) を一読してください。 とはいっても、 そうすることによってあなたがすべての FreeBSD 文書の翻訳に携わるようになるわけではないですからね。 -- ボランティアとして、 多少に関わらず、自分がやろうと思うだけやってください。 いったん誰かが翻訳を始めたら、 たくさんの人達がいつだって協力してくれますから。 もし翻訳に費す時間やエネルギーが限られているなら、 まずインストール方法の翻訳からお願いします (訳注: なぜなら、 もっとも必要とされている文書がそれだからです)。

3. たまに (もしくは定期的に) FreeBSD general questions メーリングリスト や comp.unix.bsd.freebsd.misc ニュースグループ を読んでください。 これは、あなたの持っている専門知識を共有したり、 誰かが抱えている問題を解決するのに非常に有効なものになり得ることです。 時にはあなた自身で新しいことを学ぶことさえできるかもしれません。 これらのフォーラムはやるべきことのアイディアの源にもなり得るのです。

## 1.2. 進行中のプログラマ向けの課題

このセクションで挙げる課題は膨大な時間の投資または FreeBSD のカーネルに関する深い知識、もしくは両方を必要とします。 しかしながら、“週末ハッカー” に適した立派な課題も 数多くあります。

1. FreeBSD-CURRENT を運用しており、 状態の良いインターネット接続があるならば、 `current.FreeBSD.org` という一日に一回フルリリースを行っているマシンがあります -- 時おり最新のリリースをそこからインストールし、 その過程で何か問題があるなら報告してください。

2. FreeBSD problem reports メーリングリスト を読んでください。 そこではあなたが建設的なコメントを付けたりテストできるパッチが 提供されているような問題があるかもしれません。 もしくはそれらの問題の一つをあなた自身で 修正することさえできるかもしれません。

3. -CURRENT に正しく当てられるがしばらく経っても (通常は 2, 3 週間) -STABLE に取り込まれてないようなバグフィックスがあるならばコミッターに丁寧に思い出させてください。

4. 寄贈ソフトウェアをソースツリーの `src/contrib` に移動させてください。

5. `src/contrib` 以下のコードが最新のものであるか確認してください。

6. 警告を詳細に報告するようにしてソースツリー全体 (もしくはその一部) を構築してみてください。 そして警告が出ないようにしてください。

7. ports で、`gets()` を使っているとか `malloc.h` をインクルードしているなどといった警告が出ないようにしてください。

8. もしなんらかの ports に関わっているなら、 あなたのパッチを作者にフィードバックしてください (次のバージョンが出た時にあなたが楽になります)。

9. POSIX® のような公式標準の写しを入手してください。 FreeBSD C99 & POSIX 標準適合プロジェクトのウェブサイトに、 そういった標準へのリンクがいくつかあります。FreeBSD の挙動を 標準が要求するものと比較してください。挙動が異なる場合、 特にそれが仕様の取るに足らなかったり分かりにくい細かい部分なら、 障害報告を提出してください。できればどう修正すべきか明らかにして、 障害報告にパッチをつけてください。標準が間違っていると感じたら、 標準化団体にその疑問を糺してください。

10. この一覧に追加する課題を提案してください!

## 1.3. 障害報告 (PR; Problem Report) データベースにおける作業

FreeBSD 障害報告一覧では、現在問題となっている障害報告と、 FreeBSD の利用者によって提出された改良の要望すべての一覧を公開しています。 障害報告データベースには、プログラマ向けと非プログラマ向けの 課題が共に含まれています。 open 状態の障害報告を見て、興味を引くものがあるか確かめてください。 なかには、障害報告に対する修正が適切なものであるかどうか単に チェックするだけのとても簡単な作業もあるでしょうし、ずっと 複雑なものや、修正が含まれてすらいないものもあるでしょう。

まず、まだ誰にも割り当てられていない障害報告から作業を始めてください。 もし、誰か他の人に割り当てが決まっているけれども自分が作業可能だ、 という障害報告があれば、作業ができるかどうか -- 既にテスト用パッチが用意されているのかどうか、あるいは その問題についてあなたが考えている、 より進んだ考えに関して議論ができるかどうか、 割り当てられている人に電子メールで問い合わせてください。

|  | Next
|  | 貢献の仕方