約1週間前、MySQL 5.5.27を調べたところ、奇妙なことに気がつきました。 MySQLの新しいリリースには通常の修正セットが含まれていたにもかかわらず、テストのいずれも付属していませんでした。
それでは、これらのテストについてお話ししましょう。 MySQLは長年にわたり、mysql-testと呼ばれる独自のテストフレームワークを使用してきました。 最初のバージョンは1999年に書き直されました。 時間が経つにつれて、彼は多くのテストを収集しました。 新機能のテストと回帰テストがあり、エラーが修正されると二度と表示されないことが保証されました。 MySQL AB(および後のSun Microsystems)では、それらについてかなり厳格なルールがありました。新しい修正プログラムごとに、テストを行う必要がありました。 また、これらのテストはコミットごとに複数のプラットフォームで常に実行されているため(Pushbuildと呼ばれる継続的統合ツールはKristian Nielsenの内部開発です)、修正されたバグは常にそのままであると確信していました。 私はもはやMySQLとは関係ありませんが、Oracleがこのルールを弱めるとはまだ想像できません。 したがって、テストは別の場所にある必要があります。
5.5.27の変更の1つは、
mysql-test-run
スクリプト(
mysql-test
の制御スクリプト)に拡張機能を追加し、新しいディレクトリでテストを強制的に検索します。 通常の場所(つまり、ソースツリーの
mysql-test
/ディレクトリ)に加えて、スクリプトは
internal/mysql-test/
ディレクトリでも
internal/mysql-test/
を検索します。 これは、テストスイートがオープンソースではなくなったことを意味しますか? Oracleは私の質問に答えませんでした。 ただし、これが最も可能性が高いという証拠があります。 たとえば、このコミットメッセージは、新しいテストが内部ディレクトリを参照していることを示しています。内部ディレクトリは、分散MySQLソースアーカイブには含まれていません。
MySQLテストは、常にMySQLソースツリーの重要な部分です。 これらは、ストレージ開発者や、 Facebook 、 Twitter 、 TaobaoなどでMySQLの拡張機能を作成する他の人々にとって特に価値がありました。 また、MySQLにパッチを追加するLinuxディストリビューションや、コードを変更していないユーザーにも役立ちます。特定のエラーが修正されたこと、または自己アセンブルされたバージョンに明らかなエラーがないことを確認する必要があります。
5月、オークランドで開催されたUbuntu開発者サミットで、オラクルは貢献者とディストリビューターにより親しみやすいと約束した7人の代表者がいました。 代わりにMySQLソースツリーが閉じているのを見るのは悲しいです。
MySQL ABは、プロジェクトの周りに開発者の優れたコミュニティを構築する方法を知りませんでした。 プロジェクトのかなりの数の開発者と貢献者はMySQL ABのメンバーではなく、会社はその数を増やすために一生懸命努力していません。 しかし、今ではOracleはそれらに注意を払い、コミュニティに残っているすべてのものを意図的に探しています。 一連のテストを行わないと、MySQLは独自のソフトウェアの一部のように外部開発者に対して不透明になり、MySQLコードベースを最も経験豊富で精通している人だけが引き続き作業できます。
更新 :このテストスイートよりもサードパーティの開発者にとって価値のあるものを見つけるのは困難です。 おそらく、変更履歴でしょう。 その中で、これらの数百万行のコードの変更は、機能ごとに1つのセットまたは特定の修正にまとめられます。 これにより、コード内の特定の行を誰がいつ、なぜ変更したかを確認できます。 Oracleもこの情報を閉じようとしているようです。 変更履歴を含むLaunchpad上のパブリックMySQLソースツリーは更新されなくなりました 。
一般に、開発者コミュニティのない成功したオープンソースプロジェクトは1つでもありますか?
更新2 :この問題の影響を受けるのは私たちだけではありません。 こちらもご覧ください:
- mysqlha.blogspot.com/2012/08/less-open-source.html
- ronaldbradford.com/blog/when-is-a-crashing-mysql-bug-not-a-bug-2012-08-15
翻訳はここで終わり、上記の更新は元の投稿にあります。
これが私の最初の翻訳ですので、いくつかの場所で翻訳の最良のバージョンを見た場合、またはエラーを見つけた場合は、PMで私に書いてください。
元のメモの作成者はハブにいます-これはペトロパベルです