本プロジェクト下でリリースするFFFTPのバージョン番号付けルールを決定する
hiromichi-m への返信
今後本プロジェクト下でリリースするFFFTPのバージョン番号はどうすべきか? * 案1:FFFTPのバージョン番号を引き継ぐ(最終版はFFFTP 1.97bなので、1.97c、1.97d……などとする) * 案2:別のsuffixを付ける。たとえばFFFTP 1.97b-mod1、1.97b-mod2、……など。 現状は細かいバグ修正が主なので案2を採用し、大きな機能修正が加えた後にたとえばFFFTP 2.xとしてしまっても良いかも?
私も現在は案2で問題ないと思います。 バイナリ表記の内部バージョンは現在1.97.2.0ですが、案2の場合1.97.2.1、1.97.2.2、…という具合でしょうか。 いち早くセキュリティを確保するために、時間がかかりそうなSFTPより先にFTPS(Explicit)を実装するつもりですが、いかがでしょうか。 散々セキュリティが甘いと言われてきたソフトですので、SFTPかFTPSあたりで汚名返上という事で2.0にしてもよいかもしれません。
FTPSとUTF-8に対応させたバージョンが私が試した範囲ではエラー無く動作することを確認し、そろそろユーザーからの動作報告やバグ報告をいただだきたいので、新バージョンをリリースしたいのですが、私は何をすればよいのでしょうか。 まだバージョン番号やどの時点のコードをリリースするのか等が決定していないためドキュメント類(HTMLヘルプファイルや更新履歴や概要のテキストファイル)には一切手を付けていません。
FTPSサポートは新機能になりますので、バージョン番号は「1.98」にして良いのでは。現状testブランチに入っているものでバグフィックス以外の変更点がないようでしたら、これをベースに1.98ブランチを作ってドキュメント類を整備、テストして完了次第リリースという段取りにしたいと思います。
hiromichi-m への返信
FTPSサポートは新機能になりますので、バージョン番号は「1.98」にして良いのでは。現状testブランチに入っているものでバグフィックス以外の変更点がないようでしたら、これをベースに1.98ブランチを作ってドキュメント類を整備、テストして完了次第リリースという段取りにしたいと思います。
バグ修正も多いですが、内部UTF-8化によるUnicode依存文字を含むファイル操作、テキストモードのUTF-8対応、テキストモードのShift_JIS以外への相互変換、OpenSSLを利用したFTPS対応が現時点でtestブランチで実現されています。
いきなりですがもう2.0にしても良いのでは?と内心考えていたりもします。
間もなく1.98をリリースされるはずですが、今後はマイナーバージョン(「98」の部分)が上がった後も旧マイナーバージョンの新リビジョン(「a」の部分)を作成するべきなのでしょうか。フリーウェアなので基本的に全て最新バージョンで修正する方針で問題ないと私は思いますが。
バージョン規則と保守は次のようなものでよろしいでしょうか。
1.97b
↓新機能
1.98 バグ修正→ 1.98a バグ修正→ 1.98b バグ修正→ 1.98c …
↓新機能
1.99 バグ修正→ 1.99a …
↓新機能
1.100 バグ修正→ 1.100a …
↓新機能
1.101 …
特定のバージョンを「安定版」としてリリースし、それ以降は「開発版」としてのリリース、という形が良いのではと思っています。
たとえば現在は1.97bが「安定版」で、次の1.98は「開発版」という形です。
1.97b(安定版) ↓ 1.98(開発版) ↓ 1.99(開発版) ↓ : : ↓ 2.xx(安定版) ↓ 2.xy(開発版)
のような形です。
ただ、1.99の次はどうするんだ、というのもありますので、2.0は安定版としてリリースしたいとは思っていますが。
1.98から1.99や2.01以降は安定ではないという意味でしょうか。また上の説明にはリビジョン違いのものが無いので、あるバージョンと同一の機能でバグ修正のみされたバージョンというのは出さない(つまり全て最新版で修正)という事でしょうか。
結果的に安定したものを安定版と呼ぶだけなら可能ですが、番号に合わせて安定版を狙って作るのは難しいので、その場合は次のような手順でしょうか。
1.97b
↓
1.98を開発→1.98をリリース→1.99を開発→1.99をリリース→…→1.9Xを開発→安定なものが完成
↓
上記の1.9Xを2.0としてリリース
↓
2.01を開発→2.01をリリース→2.02を開発→2.02をリリース→…→2.0Xを開発→安定なものが完成
↓
上記の2.0Xを2.1としてリリース
↓
2.11を開発…
上記の考えで良いと思います。
まず1.98については、十分にテストされていない機能が含まれているため開発版としてのリリースでしょう。 (開発版、という言葉はネガティブかもしれませんので、「最新版」という言い回しでもいいかもしれません)。
あるバージョンと同一の機能でバグ修正のみされたバージョンというのは出さない(つまり全て最新版で修正)という事でしょうか。
はい。そう考えています。ただ、非常に影響の大きい問題が発見された場合は対処してもよいかもしれません。
今後本プロジェクト下でリリースするFFFTPのバージョン番号はどうすべきか?
現状は細かいバグ修正が主なので案2を採用し、大きな機能修正が加えた後にたとえばFFFTP 2.xとしてしまっても良いかも?