From: Akinori MUSHA Date: 2006-11-15T13:58:25+09:00 Subject: [ruby-dev:29919] stable branch policy --pgp-sign-Multipart_Wed_Nov_15_13:58:23_2006-1 Content-Type: text/plain; charset=ISO-2022-JP  武者です。 At Mon, 13 Nov 2006 02:24:21 +0900, URABE Shyouhei wrote: > (2) 現在のruby_1_8はそのまま継続します。凍結もしませんし放棄もしません。  ruby_1_8 のブランチマネージャに立候補します。  いわゆる安定版ブランチのポリシーを定義しておく必要があると思い、 ポリシー案を考えました。(ちょっと固い感じになってしまいましたが)  他のブランチでも同様のものが必要と思いますが、おそらくこれより シンプルなもので足りるでしょう。 * * * 全ブランチの共通項。 ■ブランチマネージャ 各ブランチの管理は、それぞれ選任されたブランチマネージャが 執り行う。適宜、相互に協議を行うものとする。 変更に関してコミッター同士の議論が解決を見ない場合、該当の ブランチマネージャがこれを調停する。 ブランチマネージャは、いかなる変更についても即時の巻戻しを コミッターに要請、または執行できる。 ブランチマネージャは、ブランチの凍結および解除を宣言できる。 凍結中は、原則としてすべてのコミットはブランチマネージャの 事前の許可を得て行うものとする。 以下、 stable ブランチについて。 ■ブランチの概要 stable ブランチは広範な一般利用に適したコードベースの醸成を 目標とし、安定性および同一ブランチ内における上位互換性を高い 水準で維持しつつ、性能改善や機能追加による実用性の向上を図る 系列と位置づける。 脆弱性への対応についてはこれを最優先し、セキュリティチーム および他のブランチマネージャと連携の上迅速に行う。 ■コミッター コミッターは、自らの裁量のもと、本規約各項に従う範囲において、 原則として個別の許可を得ることなくコミットを行うことができる。 コミッターは、コミッター同士の円滑な共同作業のため、 stable ブランチにおいてはどの時点でもビルドおよびテストが通るよう、 極力アトミックに変更をコミットするものとする。 ■リリースと保守期間 品質管理と利用促進を目的として、一定期間ごとにリリースを行う。 スケジュールの調整、リリース後の保守等については、他のブランチ マネージャと適宜協議を行う。 stable ブランチ自体は、原則として2系列までは並行して保守する。 (1.8以降) ■リリースブランチの管理 新しいリリースの準備に入る際、ブランチマネージャは stable ブランチを分岐させ、凍結されたリリース用ブランチを作成する。 ブランチマネージャが同リリースブランチからリリースタグを打つ とともにリリースが宣言され、以後、同リリースブランチの管理は 別途任命されたリリースブランチマネージャに委譲される。 ■互換性の維持 上位互換性は原則として維持する。ソースレベルの互換性には最大限 配慮し、バイナリ互換性についても極力配慮する。 ただし、以下については例外とする。 1) 公開インターフェースに属さない内部実装の変更 2) 公開インターフェースであっても、それまでドキュメントに おいて未記載あるいは未定義だった挙動の変更 3) その他、ブランチマネージャの許可を得たもの。 ■事前の評価 変更のコミットにあたっては、事前に trunk 等の開発ブランチに 適用の上、十分な評価を行っておくものとする。 ただし、以下については例外とする。 1) stable ブランチ固有の変更で、 trunk には適用できないもの。 2) 脆弱性への対応など、緊急性の高いもの。 3) その他、ブランチマネージャの許可を得たもの。 ■機能の追加 既存ライブラリやクラスへの機能追加については、以下の各条件を 満たす場合に認められる。 1) ブランチの凍結期間外であること。 2) 「互換性の維持」項の主旨を念頭に、インターフェースが慎重に 設計、評価されていること。 3) 「事前の評価」項の主旨を念頭に、実装が十分に評価されている こと。 ■ライブラリの追加 新しいライブラリの追加については、以下の各条件を満たす場合に 認められる。 1) ブランチの凍結期間外であること。 2) 「互換性の維持」項の主旨を念頭に、インターフェースが慎重に 設計、評価されていること。 3) 「事前の評価」項の主旨を念頭に、実装が十分に評価されている こと。 4) ライブラリの権利保持者の事前の許可を得ていること。 5) ブランチマネージャの事前の許可を得ていること。 以下、ユーザ向けの説明。 - stable ブランチは、安定版のポイントリリースの準備を行うための、 準開発ブランチです。開発方針は「ブランチの概要」項等を参照。 - スナップショットについては、プロダクション品質は保証されません。 よってシビアな用途、プロダクション環境での利用は推奨しません。 そうした用途にはリリース(ブランチ)をどうぞ。 - 次期安定版に向けた機能追加や性能向上を試したいというユーザは、 ぜひ使ってみて、問題点を見つけたらフィードバックしてください。 * * *  ということでみなさんの意見を聞かせてください。  なお、SVNへの移行や1.8.5-p1のリリース作業とは独立した問題なので、 そちらは待たずに進めていただければと思います。  よろしくお願いします。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "Different eyes see different things, Different hearts beat on different strings -- But there are times for you and me when all such things agree" --pgp-sign-Multipart_Wed_Nov_15_13:58:23_2006-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQBFWp5vkgvvx5/Z4e4RAikDAJ4r8CN+mSv6qCoNkSHqfFa5OmTfAQCgv183 P57M0z6q1+iytyoOfDO2DMk= =fmkw -----END PGP SIGNATURE----- --pgp-sign-Multipart_Wed_Nov_15_13:58:23_2006-1--