Copyright (c) 2004  Free Software Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the license is included in the section entitled ``GNU Free Documentation License'' in the Emacs manual.

     この文書を、フリーソフトウェア財団発行の GNU フリー文書利用許諾契約書第 1.2 版またはそれ以降の版が定める条件の下で複製、配布、あるいは変更することを許可します。変更不可部分は指定しません。「A GNU Manual」は表表紙テキスト、以下の (a) は裏表紙テキストです。この利用許諾契約書の複写は「Emacs manual」の「GNU フリー文書利用許諾契約書」という章に含まれています。

     (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify this GNU Manual, like GNU software.  Copies published by the Free Software Foundation raise funds for GNU development.''

     (a) FSF の裏表紙テキスト:「あなたにはこの GNU Manual を GNU ソフトウェアのように複製したり変更する自由があります。複製はフリーソフトウェア財団によって出版されました。(フリーソフトウェア財団は) GNU の開発のために必要な資金を集めています。」

     This document is part of a collection distributed under the GNU Free Documentation License.  If you want to distribute this document separately from the collection, you can do so by adding a copy of the license to the document, as described in section 6 of the license.

     この文書は「GNU フリー文書利用許諾契約書」に基づいて配布された収集著作物の一部です。もしあなたがこの文書を収集著作物から分離して配布したいときは、契約書の第 6 項に記述されているように、文書に契約書の複写を付加することによって、行なうことができます。

Gnus でコードを書くときの流儀
=================

依存関係
----

互換性
---

Gnus の維持管理に関する手引
================

安定版と開発版
-------

CVS の幹はかなり活発に開発されています。

同期
--

Emacs で行なわれた変更を Gnus に取り込むことを、私は頻繁には行ないません。Gnus で行なわれた変更を Emacs に持ち上げるよりも多くの手作業を必要とする傾向があるからです。

私はディフォルトで週一回の同期を行なっています。さらに私は Gnus メーリングリストのあらゆるスレッドを追いかけて、話し合われているどんな変更でも、それがより最新になるようにしています (そのため、話題になっている変更への追従は 1〜2日遅れます)。

ついでに、同期に関するより詳しい説明を付記しておきましょう:

基本的に私が理解しているのは、Emacs と Gnus v5-10 におけるすべての共通なファイルを Emacs-Gnus ゲートウェイが同じにしてくれることです。ただし非常に正当な理由がある (例えば Emacs では Gnus の版を表す文字列が 5.11 ですが v5-10 枝では 5.10.何がし のままになっている) 場合を除きます。さらに Emacs か v5-10 枝のどちらかで、それらのファイルに対して行なわれたすべての変更は、Gnus の CVS の幹にも反映されます。ただし、こちらも正当な理由がある場合を除きます (これまでの典型的な例外として、効果は同じだけれども違うやり方で行なわれた変更がすでに幹に存在していたことがありました)。これによって、次に Emacs の Gnus を更新するときになったら、それは非常に楽なはずです---Emacs だけで変更されたことが失われてしまうことを心配せずに、Gnus の幹をそれらのファイルにどさっと置くだけで良いのです。

この結果、ハッカーであるあなたは、通常は一つの場所で変更を行なうだけで済むことになります:

 1. Gnus の外にあると見なされるファイル (例えば新しい encrypt.el) の場合、おそらく Emacs で変更を行なうべきです。それは二〜三日後に Gnus に現われるでしょう。

     Emacs の CVS への書き込みが許されていない (またはそれが不便) ならば、 v5-10 枝で変更を行なえば良いでしょう。それは Emacs の CVS に伝搬されるはずです---しかし、それが論争の的になる可能性があって、メーリングリストで議論することが必要かどうかを判断するために、追加の調査が (私によって) 行なわれるでしょう。[しかし多くの変更は明らかなバグの修正なので、たいていの場合は問題ありません。]

 2. Gnus のファイルへの変更で、それが十分に重要な Emacs と v5-10 枝の部分であるのならば、変更は v5-10 枝で行なえば良いでしょう。そしてそれは Emacs の CVS と Gnus の CVS の幹に反映されるでしょう (二〜三日後に)。

     (おそらく、対象になるソースコードが v5-10 枝と Gnus の CVS の幹で異なるために) 衝突を生じることがわかっている場合は、あなたの変更を両方の場所にインストールして下さい。そして、私がそれらを同期させようとすると衝突するでしょう---そういうほとんどの場合に _とにかく_ 衝突します。でも、私が二つの「同一の」変更を調べる場合に、それを解決してかつ実際にコードを修正しなければならないことに比べれば、適切なものを選ぶだけで済む方が、多くの場合、私にはより簡単です。

 3. Gnus の開発における雑多な変更については、単に Gnus の CVS の幹を変更すれば、それは Emacs に反映されるでしょう。二〜三年後に... :-)

もちろんどんな場合でも、私が同期させる作業を待てないのであれば、あなたの変更を二つ以上の場所にチェックインすることはできるし、恐らく問題にならないでしょう。通常、変更は文字どおりにとにかく同一ですから、容易に自動的に解決することができます (ときどき私はそのように重複して行なわれるチェックインの中でお間抜けなもの、例えば空白文字の違いに気づいて、それらを統一しますけれどね ;-)。

いろんなこと
------

texi/gnus-news.texi を元に GNUS-NEWS を生成させるのは、No Gnus から始まりました。GNUS-NEWS は編集しないで下さい。 texi/gnus-news.texi を編集し、texi ディレクトリーで make GNUS-NEWS をタイプしてから、 GNUS-NEWS と texi/gnus-news.texi をチェックインして下さい。