2. 貢献の仕方

一般的に、システムへの貢献は次の 5 つのカテゴリの 1 つ以上に分類されます:

2.1. バグ報告と一般的な論評

一般的な技術的関心事に関するアイデアや提案は FreeBSD technical discussions メーリングリスト へメールしてください。同様に、このような事柄に興味のある (そして膨大なメール! に耐えられる) 人は、 FreeBSD technical discussions メーリングリスト に参加すると良いでしょう。 このメーリングリストや他のメーリングリストに関する詳しい情報については FreeBSD ハンドブックを参照してください。

バグを発見したり変更を送付しようとしている場合は send-pr(1) プログラムか ウェブベースの send-pr を使用して報告してください。 バグレポートの各項目を埋めるようにしてください。65KB を超えるのでなければ、 レポート中に直接パッチを入れてくださって結構です。 パッチがソースツリーにすぐ適用できるものならば、 報告の概要に [PATCH] と書いておいてください。 パッチを入れる場合、カット&ペーストはしないで ください。 カット&ペーストではタブがスペースに展開されてパッチが使い物にならなくなってしまいます。 パッチが 20KB を超える場合は、 それらを (gzip(1)bzip2(1) で) 圧縮し、 圧縮したパッチを uuencode(1) を使ってバグ報告に含めることも検討してください。

レポートがファイリングされれば、 バグ報告の確認とトラッキング番号をメールで受け取るはずです。 このトラッキング番号を覚えておき、問題に関する詳細情報を にメールで送って更新できるようにしてください。たとえば "Re: kern/3377" のように、 この番号をサブジェクト行に使用してください。 すべてのバグレポートの追加情報は、 この方法で送付されなければいけません。

もしタイムリーに (あなたの電子メール接続形態にもよりますが、 3 日から 1 週間) 確認を受けとれないとか、何らかの理由で send-pr(1) コマンドが使用できない場合には、FreeBSD problem reports メーリングリスト へメールを送り、 誰か代りにバグ報告を送付してもらうようたずねてください。

良い障害報告を書く方法についてはこの文書をご覧ください。

2.2. 文書の変更

文書の変更は FreeBSD documentation project メーリングリスト が監督しています。 完全な説明は、FreeBSD ドキュメンテーションプロジェクト入門をご覧ください。 バグ報告と一般的な論評 に記述されているように send-pr(1) コマンドを使用して、提案や変更 (どんな些細なものでも歓迎します!) を送ってください。

2.3. 現存のソースコードの変更

現存のソースコードへの追加または変更は、 いくらかトリッキーな仕事であり、FreeBSD 開発の現状にあなたがどれだけ通じているかに大きく依存します。 “FreeBSD-CURRENT” として知られる FreeBSD の特別な継続的リリースがあります。FreeBSD-CURRENT は開発者の積極的な活動の便宜のために、 色々な方法で利用可能になっています。FreeBSD-CURRENT の入手と使用方法についての詳しい情報についてはFreeBSD ハンドブック を参照してください。

古いソースをもとに作業すると、 残念ながらあなたの変更が時として時代遅れもしくは大きく異なるものになってしまって、 FreeBSD に再統合するのは困難になる恐れがあります。 システムの現状に関する議論がおこなわれている FreeBSD announcements メーリングリストFreeBSD-CURRENT メーリングリスト へ参加すれば、この可能性を最小限にできます。

十分新しいソースを変更のベースにできることが確実になったと仮定して、 次のステップは FreeBSD の保守担当者へ送る差分ファイルの生成です。これは diff(1) コマンドを使用しておこないます。

差分ファイルの提出において好ましい diff(1) の形式は、 diff -u により生成される unified diff 形式です。

% diff -u oldfile newfile

または、

% diff -u -r -N olddir newdir

で、指定されたソースファイルまたはディレクトリ階層に対する unified diff 形式の差分が生成されます。

詳しい説明は diff(1) を参照してください。

差分ファイル (patch(1) コマンドでテストできます) を作ったら、それらを FreeBSD に含めてもらうようメールで送ってください。バグ報告と一般的な論評 に記述されているように send-pr(1) コマンドを使用してください。差分ファイルだけを FreeBSD technical discussions メーリングリスト へ送ってはいけません。見過ごされてしまうでしょう。 あなたの提案は大歓迎です (これはボランティアのプロジェクトです!)。 私たちは多忙なのですぐに取りかかれないかもしれませんが、 それまで PR データベースに残っているでしょう。 報告の概要に [PATCH] と書いてあなたの提案を表明してください。

あなたがそうした方がいいと思う場合 (たとえば、 ファイルの追加、削除または名称変更など)、変更を tar ファイルにまとめ、uuencode(1) プログラムにかけてください。shar(1) アーカイブも歓迎します。

たとえば、再配布に適用される著作権の問題に自信がないといった、 あなたの変更が微妙な性質のものである可能性があれば、 send-pr(1) で提出するよりむしろ直接 FreeBSD core team へ送ってください。FreeBSD core team 宛のメールは、 日々の仕事のかなりの割合を FreeBSD に割いている人たちの、 より小さなグループに届きます。 このグループもまたとても忙しいことに注意して、 本当に必要な場合だけコアチームにメールを送るようにしてください。

コーディングスタイルに関して intro(9) および style(9) を参照してください。コードを提出する前には、 少なくともこの情報を意識しておいてくださるようお願いします。

2.4. 新たなコードやきわめて付加価値の高いパッケージ

大きな分量の作業成果の貢献や、重要な新しい機能を FreeBSD に追加する場合には、大抵、変更点を tar ファイルにまとめて uuencode して送るか、ウェブサイトや FTP サイトへアップロードしてアクセスできるようにしなければなりません。 web や FTP サイトが利用できなければ、適切な FreeBSD のメーリングリストで誰かその変更をおくサイトを提供してくれるよう頼んでください。

大量のコードを扱っている時は、 常に著作権に関する微妙な問題が出てきます。 FreeBSD に含めるコードの著作権として受け入れることができるのは、 以下の二つです。

  1. BSD コピーライト。 このコピーライトは “権利に縛られない” 性格と商用企業にとって一般的な魅力をもつために最も好まれます。 FreeBSD プロジェクトは商用利用を阻んだりせず、何かを FreeBSD へ投資する気になった商業関係者による参加を積極的に奨励します。

  2. GNU一般公有使用許諾、または “GPL”。 このライセンスはコードを商用目的に使用する場合に余分な努力が求められるため、 私たちにあまり評判が良いというわけではありません。しかし、 私たちは既に GPL 下の高品質なコード (コンパイラ、アセンブラ、テキストフォーマッタ等) の提供を受けており、私たちは現在それを必要としています。そのため、 このライセンスによる新たな貢献を拒絶するというのは愚かなことでしょう。GPL 下のコードはソースツリーの別の部分、現在のところ /sys/gnu/usr/src/gnu に入っています。 そのため、GPL が問題となるような人は、 誰でも簡単にそれとわかるようになっています。

これ以外のタイプの著作権による寄贈は、FreeBSD へ含めることを考慮する前に注意深いレビューを受けなければなりません。 特に限定的な商用の著作権が適用される寄贈は一般に拒否されます。しかし、 作者が独自の経路でそのような変更を配布することは常に奨励されています。

あなたの作品に “BSD スタイル” の著作権を付けるには、 保護したいソースコードファイルすべての一番最初に以下のテキストを入れて、 %% の間を適切な情報に置き換えてください。

Copyright (c) %%適切な年%%
	%%あなたの名前%%, %%あなたの州%%  %%郵便番号%%.
      All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer as
   the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY %%あなたの名前%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%あなたの名前%% BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

        $FreeBSD$

便宜をはかるため、 このテキストのコピーは次の場所に置いてあります。 /usr/share/examples/etc/bsd-style-copyright

訳注: 以下は神田敏広氏より寄贈された bsd-style-copyright の日本語訳です。 ソースファイルに含めるものは原文の方であることに注意してご利用ください。 また、原文との間に趣旨の差異が生じた場合、 原文の内容が FreeBSD プロジェクトの意思であるものとします。


Copyright (C) [年]
     [あなたの名前]  All rights reserved.

ソースとバイナリ形式の再配布および使用は、変更の有無にかかわらず以下の
条件を満たす場合に限り許可される:
1. ソースコードの再配布は、上記の著作権表示・この条件のリスト・下記の
   否認声明文を保持しなければならない。

2. バイナリ形式の再配布は上記の著作権表示・この条件のリスト・下記の
   否認声明文を、配布物と共に提供される文書および/または他の資料の中に
   含めなければならない。

(訳注:ここから「否認声明文」です)

このソフトウェアは[あなたの名前]および貢献者によって ``あるがままの状態''
で提供され、商品性と特定の目的に対する適合性についての暗黙の保証に留ま
らず、いかなる明示および暗黙の保証を認めない。[あなたの名前]および貢献
者は、あらゆる直接的・間接的・偶発的・特殊的・典型的・必然的な損害 (代
替製品または代替サービスの獲得費; 効用・データ・利益の喪失; または業務
中断を含み、またそれだけに留まらない損害) に対して、たとえどのようにし
て生じたとしても、そしてこのソフトウェアの使用によってどのようにであれ
生じる、契約上であろうと、厳密な責任内であろうと、あるいは不正行為 (過
失やそうでない場合を含む) における場合であろうとも、いかなる責任論上も、
たとえそのような損害の可能性が予見されていたとしても、一切の責任を持た
ない。

翻訳: 神田敏広
御協力 (五十音順・敬称略):
  池田研二、内川 喜章、藤村 英治、むらたしゅういちろう
  杢野 雅一、横田@宇都宮
     

2.5. 金銭、ハードウェアまたはインターネットアクセス

私たちは FreeBSD プロジェクトの目的を進めるための寄付を常に喜んで受け入れています。 私たちのようなボランティア活動では、 ちょっとしたことが大いに役立つのです! また一般的に、私たちは自前で周辺機器を買う資金が不足しているため、 周辺機器のサポートを充実させるのにハードウェアの寄付はとても重要です。

2.5.1. 資金の寄付

The FreeBSD Foundation は、 FreeBSD プロジェクトの目標を推進するために設立された、 非営利の、税金を免除された財団です。501(c)3 に適合する団体として、 Foundation はアメリカ合衆国連邦所得税ならびに コロラド州所得税を一般に免除されています。免税団体への寄付は、 多くの場合連邦政府の課税対象所得から控除できます。

寄付は小切手で以下に送ってください。


    The FreeBSD Foundation
    7321 Brockway Dr.
    Boulder,
    CO 80303
    USA
  



また、寄付の受け付けを PayPal を通じて web 経由でできるようになりました。 寄付をするには、The FreeBSD Foundation の web サイトをぜひご覧ください。

The FreeBSD Foundation に関するこれ以上の情報は The FreeBSD Foundation -- an Introduction を見てください。 Foundation への email での連絡は へどうぞ。

2.5.2. ハードウェアの寄贈

FreeBSD プロジェクトは適切な使い道のあるハードウェアの寄付を喜んで受け入れています。 ハードウェアを寄贈しようとしているなら、 寄贈品受付事務局に連絡してください。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。