機能を拡張したり、バグの修正をするためにパッケージを変更した場合は、 その変更をコミュニティーに寄贈するべきです (そうすることを強制するライセンスもあります。また、一般的に、 そうしないことはモラルに悖るものとみなされます)。
パッチを作成する前に、CVS からパッチを当てるべき最新のソースを以下のようにして 取得してください(この例では、パッケージ名は Foo_Bar とします)。
cvs -d:pserver:cvsread@cvs.php.net:/repository login
パスワードは "phpfi" です
cvs -z3 -d:pserver:cvsread@cvs.php.net:/repository co Foo_Bar
|
コードに追加・変更を行ったら、テストしてください。注意深くテストが行われていない コードは受け入れられません。新しいコードにバグが無いことを確信したら、 以下のコマンドで unified 形式の diff を作成します。
cd pear/Foo_Bar cvs diff -u >Foo_Bar.diff |
次のステップは、パッチの送付です。パッケージのメンテナに CC をつけて、 pear-dev@lists.php.net にメールを書いてください。メールの件名は、 '[Patch]' からはじめて、パッチの投稿であることを判りやすくすると良いでしょう。 また、パッチの内容の詳しい説明も書いてください。 .diff ファイルをメールに添付するのを忘れないように。 パッケージのメンテナ名は、通常、ソースファイルのヘッダに記載されています。 メールアドレス以外の情報は、http://pear.php.net/ のパッケージ情報のページで見られます。
注意 Outlook や Outlook Express を使っている場合は、diff ファイルの拡張子を .txt へ変更してください。Outlook の MIME 形式の検出は、ファイルの拡張子を 見ており、MIME 形式が text/plain でない添付ファイルは われわれの使用するメーリングリストのソフトが拒否するためです。
注意 パッチに後方互換性が無ければ、変更がすばらしいものであっても、メンテナは 困ってしまうでしょう。パブリックな API を大幅に変更することの無いように、 バグ修正を行ってみるべきです。後方互換性の保つことはまったく不可能で、また、 パッチが大変な機能向上をもたらす場合は、API を変更しても良いでしょう。