[Canna-dev 57] Re: new canna development again

Back to archive index

T.SHIOZAKI tshio****@astec*****
2002年 10月 28日 (月) 14:46:57 JST


塩崎です。

あくまでも個人的意見なので参考程度ですが、


From: AIDA Shinra <aida-****@jcom*****>
Subject: [Canna-dev 53] new canna development again
Date: Sun, 27 Oct 2002 15:22:47 +0900
Message-ID: <86of9****@jcom*****>

> 3.6が出たので、開発体制や今後の方針をはっきり決めた方がいいと思います。
> 箇条書で検討すべき点を挙げます。
> 
> A. commitの仕方
> 私は勝手にcommitしていく形を推しましたが、分野ごとにcommit係を決めるス
> タイルも考えられます。あと、変更の詳細を明らかにするために、commit時に
> メールを出した方がいいかもしれません。(ChangeLogをまじめに書く方を優先
> すべき?)

Canna ぐらいの規模で commit 係を決めても繁雑になるだけだと思います。

せっかく cvs を使っているので、
  - 大きな変更は聞いてから commit する。
  - たいした変更ではない(と、ある committer が判断した)場合には、
    勝手に commit 。
  - 問題があったら協議により戻す。
というのがきっと楽です。

メールに関しては、(大きな変更時に)コンセンサスを取るための
commit 前のメールと、あまりに込み入った変更の場合に(慣れた日本語で)
説明するための commit 後のメールは必要な場合もありますが、
commit 時のメールは、せっかく cvs メーリングリストがあるのだから、
commit mail をちゃんと書く、で十分でしょう。


> B. 安定版、開発版を分けるべきか
> 曲がりなりにもserverなので分けるべきだと思います。ただ、安定版の位置づ
> けは、実験済の新機能は入れて行くのか、それともバグ等の修正に限るべきか、
> 微妙です。新機能を入れないと、誰も安定版を使ってくれなくなるので、私は
> 前者がいいと思いますが、Linux等では古いバージョンにパッチをバックポー
> トしたものが配布されることがあるので、それが嫌なら安定版は完全にfreeze
> とすることになるでしょう。

これは難しくて、F. とも絡むのですが、
  - 大きな変更をするのならば、ブランチは必要
  - 開発版はやっぱり trunk にいたほうがいろいろと便利
  - とはいえ、ブランチに pull up するのはちょっと面倒
というトレードオフなので、
  - ひんぱんにリリースするならば基本的にブランチを切らないで、
    開発が必要なときは「実験ブランチ」を切る。
  - もし今後、大きな変更をしつづける予定があるのならば、
    とりあえず trunk から一度安定したリリースを出してから、
    安定版をブランチ。trunk は開発に使う。
という二つのやり方があるでしょう。

ブランチをどの程度の頻度で切るか、というのもお里によって違って、
BSD 方面だと「最低限しか切らない FreeBSD」と、
「個人が実験用にバンバン切っていい NetBSD」という違いがあります。
この辺は完全に好みですね。

まあ、どれをお使いになっても、似たようなもんですが。
    

> C. バージョンの付け方
> 3.6.1のような付け方が流行りですが、昔のように3.6p1のような付け方でもい
> いでしょう。p1のような付け方なら、バグフィックス版という印象になるので、
> これはB.とも関係してくると思います。まあ、機能を追加したら有無をいわさ
> ず3.7にすればいい、という話もあります。あと、w3mのように、ChangeLogの
> リビジョンをpatchlevelに入れるのも面白いかも知れません。

patch release が大量になされる可能性があるのならば、
patch version を 0 ではなく 00 とか 000 とかから始めるべきで、
そうなると、3.6.01 はいかにも不格好なので、
3.6p01 とかかな、という気がします。

# 同様に 3.9 の次をどうするか問題などが発生しますが。
# 過去の事例では、GNU 流は 3.90 、OpenBSD 流は 4.0 。
# もちろん、patch release でも似たような解決方法は
# 考えられますが、パッチの番号が 9 から 90 に
# 飛んだりするのもわかりにくくてアレでしょう。


> D. .soのリビジョン問題
> 今度こそ1.1か何かに統一したいです。

今の major が 1 ですから、1.1 にするのならば、
今後ずっと現在の ABI に対する後方バイナリ互換を
保証するということになると思います。

あまり Canna の API を見ていないので私には判断できない、
という意味で純粋に質問なのですが、今の ABI を残したまま
続けていけるという算段はありますか?

# 経験上、マクロを駆使すれば、たいていの場合は ABI を保ちつつ
# なんとかできるものですが。

あと、Canna との通信プロトコルの互換性についても、
ここで一緒に考えておくべきなのかな、と思います。


> E. canuum
> 最初はcanuumなんか消してしまえ、と思っていたのですが、需要がないわけで
> はなく、3.6の配布にもcanuumは一応入っているので、存続の方向に傾いてい
> ます。捨てるのが一番楽ですが、存続させるなら、

...

> 3. GNU screenへのcannaパッチに移行する。
> これが一番機能面では嬉しい。パッチを作ること自体は楽だが、本家との同期
> をどう取るか、という問題がある。
> 
> 4. Wnn4のcanuumにパッチを当てて使う。
> 手間は最も少ないが恰好悪い。
> 
> 5. FreeWnnからcontribという形でuumを持ってくる。
> FreeWnnが仕事をしてくれたので、移植性などの問題はかなり解消されている。
> 元のuumからそれなりに変更されている上、インデントを変えられているので、
> どこが変わったか把握しにくい。

うーん、3 の screen パッチがあれば要らんような……
canuum 残すのならば、たぶん 4 か 5 だと思うんですが、
純粋に技術的な理由から 5 が簡単かなと思います。


> G. リリースの出し方
> 「そろそろ出そう」と思った人がMLに提案して、異論が無ければタグを付ける、
> という程度で大丈夫でしょう。ただ、最終的なモノを作る人は決めておくべき
> だと思います。リリースしたら直ちにWebに告知する等の作業が必要になり、
> またリリースノートなども書かねばならないので、これはdoc/www担当がやる
> のが、一番タイムラグが小さくて済みそうです。

そんな感じでしょうね。

P.S.
そういえば、もともとの RCS ID が上書きされちゃってますけど、
これはそういうポリシにしたという理解で正しいですか?


では。
--
Takuya SHIOZAKI / ASTEC Products, Inc.




Canna-dev メーリングリストの案内
Back to archive index