インフラ移行に関するOracleとの話し合いについて

InfoQ等でも報じられているので、みなさんご存じだとは思いますが、Hudsonのインフラ移行を発端としたゴタゴタがありOracleと協議を行っているところです。

日本Hudsonユーザー会としては、無用な混乱を避けるべく状況が落ち着くまで静観していましたが、川口さんからMLに状況についてお知らせがありましたので、公式ブログの“Who’s driving this thing?”の翻訳をもって経緯を説明したいと思います。

川口さんのお知らせにもありますが、インフラ移行に伴い、若干プラグインのリリース等には影響があるとは思いますが、Hudsonもしくはそれにかわるもので今まで通り使えることは間違いありませんので、安心してご利用ください。

合意が得られるにせよ、万が一話し合いが破綻するにせよ、何かの名前の下でHudsonのコードベースの開発が続けられるという点についてはお約束できます。なので、ユーザーの皆さんは安心してHudsonを使って欲しいと思います。

 

川口さんのSunでの小さなプロジェクトから、日本を含め全世界で使われる大きなプロジェクトになりました。これから更に大きくなっていくための乗り越えていかなくてはならない壁の一つかもしれません。そのためにも、暖かい目で見守ってください。

また、進展がありましたら、日本語MLやここでご報告します。

余談ですが、12/20現在Java.netのMavenリポジトリが移行でロックされてます。Tedさん信じても大丈夫ですか?

Who’s driving this thing?

事実

  • 2009.06.02: Java.netのインフラに重大な問題が起きた後、開発コミュニティは、SourceForge、Google Code、Kenai、BerliosおよびGitHubなどを含む新しいインフラについて意見を交わしました。すべてのプロジェクトを移すかわりに、issue.hudson-ci.orgといった主要な機能をJava.netから引っ越すことにしました。この4ヶ月間、Java.netがダウンした り信頼性に問題が発生する毎に、ソースコードをJava.netから引き上げてGitHubのような他のホストに移そうといった話題がメーリングリストで行われていました。
  • 2010.11.01: 川口さん(Hudsonの創始者であり開発リーダー)のかわりに、OracleにおけるエンジニアとしてアサインされたWinston Prakash氏をプロジェクトの共同所有者として迎えることについて、開発メーリングリストで論議を呼びました。Winston氏によると、彼の提案 は”プロジェクトを共同所有すべき”と考えているOracleの経営陣の意向とのことでした。議論の結果、コミュニティからOracleへの善意の表明として、Winston氏を受け入れプロジェクトの共同所有者として承諾しました。
  • 2010.11.17: 主要な貢献者であり様々なプラグインのメンテナーであるAndrew Bayer氏が、ユーザーと開発者のメーリングリストに1通のメールを投稿しました。それは、信頼性に欠け、システム停止が計画的かつ頻繁に行われ、そして数週間のうちに移行が予定されているJava.netから、メーリングリストを引っ越そうという提案でした。コミュニティはもっとも最適な移行先としてGoogle Groupsを選択しました。
  • 2010.11.19: Hudsonプロジェクトは、Glassfishと同時にJava.netの移行が行われました。(移行の)メールはプロジェクトのオーナー、ユーザーおよび開発のメーリングリストに送られましたが、送信者がメーリングリストに参加していなかったため届きませんでした。プロジェクトオーナー(川口さん、 Winston氏)の2人ともメッセージを見逃したため、Hudsonコミュニティは差し迫った移行について暗闇の中に取り残されてしましました 。
  • 2010.11.22: 真夜中にJacob Robertson氏がSVNの認証が上手くいかないことを報告しました。川口さんが開発者メーリングリストに、移行によってプロジェクトがロックされ SVNがアクセス不能になったことを報告しましたが、その直後にメーリングリストも使用できなくなりました。Java.net上のHudsonプロジェクトは、古いインフラから新しいインフラ(以前は”Kenai”と呼ばれていた)に移行し始めていたのです。Hudsonコミュニティの中心的なメンバーたちは、Google Groupへの移行を前倒しで実行し、このブログTwitter経由でできる限り情報を共有し参加するようアナウンスしました。
  • 2010.11.23: ソースコードをロックされたこと(300以上のプラグインを除いた純粋なコアに1日あたり3〜8個のコミットがありました)に苛立ちが募り、川口さんは新しい開発メーリングリストにてGitHubに移行することを提案しました。プラグインとコアの開発者のは、GitHubへの移行をすすめることに特に反対することもなく同意しました。
  • 2010.11.27: 感謝祭の後、Andrew Bayer氏はGitHubへの移行に関する”正式な提案“を行い、異議を申し立てる期限を次の火曜日(2010.11.30)に設定しました。

GitHubへの移行の前日の月曜日の朝に、Oracleのツール、ミドルウェア担当の上級副社長であるTed Farrell氏が、HudsonのコードがJava.netからGitHubに移行したことに懸念を示すメッセージをユーザーメーリングリストに投稿しました。

Oracleの目指すところは、コミュニティを成長させてHudsonをより強力なものにすることだ。あなた方は気がついていないかもしれないが、 実際のHudsonのユーザーはとても多い。メーリングリストやフォーラムで見かけるものよりずっと多いのだ。残念なことに、その多くの人々がコアに貢献しないし議論に参加しない。彼らは貢献したり参加したいと思っているのだが、意見が無視されていると感じている。我々はそれを改善したい。我々は、Hudsonコミュニティを、すべてのユーザーを歓迎し、大きく成長しこれからも永く続くように後押しをするような場所にしなければならない。我々は、近いうちにそれを手助けする変更をアナウンスするだろう。

今はJava.netのインフラ上にとどまる予定だ。Java.netに行われるクールな変更を利用できるのと同じくらい、他のJavaコミュニ ティとのつながりを保つこともHudsonには必要と我々は信じている。Java.netにいてもGITへの移行は可能だろう。GitHubへの移行は必須条件ではないはずだ。

Hudsonはオープンソースだから、誰かがフォークすることを止めることはできない。しかし、我々が”Hudson”という名称のトレードマーク (商標)を保有しているのだから、コアコミュニティ以外でその名称は使用できない。我々はSunの一部として買収したのだ。Hudsonで活動しているす べての人が望む通りに行動し、我々とともにHudsonをより強力なものにしてほしい。

(Ted氏のメッセージはもっと長いものです。こちらで全文を読むことができます)

予想された通り、Ted氏のスレッドへのメッセージには、混乱から明確な不満までさまざまな反応がありました。HudsonのGit Pluginに貢献してきたNigel Magnay氏は、”新しい”Java.netでGitを使うかわりにGitHubに移行するメリットをできるだけ明確にしようとしました。

Gitをサポートするのと、GitHub上でGitをサポートするのは違います。彼ら(GitHub)は最良の開発ツールを提供するためにフルタイムで働いています。kenaiが彼らより上を行くことは言うまでもなく、追いつくことさえ信じられません。

私は混乱しています。

あなたは、Hudsonの開発コミュニティに何をさせないと言っているのですか? つまり、Hudsonという名称を保有しているから、開発コミュニティがインフラ(バグ管理システムやWiki)の移行を決定することを禁止すると言っているのですか? それとも、リポジトリですか?

これまでの開発者の意見としては、メールをGoogle Groupsに、コードリポジトリをGitHubに、そしてバグ管理システムと情報(Wiki)は自前のサーバに移行することに強く望んでいるのです。

Nigel氏へのTed氏の回答には、今回の議論の中でもっとも重要な鍵となる情報がありました。

Nigel、私が言いたいのは、プロジェクトのインフラに関する決定は、コミュニティの意見の良いものを取り入れながら、Oracleが最終判断を下していくべきだ、という事だ。

ここからは私(tyler氏)の論説です

この議論はちょっと膨大過ぎて中々全容を把握するのは難しいと思いますが、まず最初にこの議論の中で言及されている2つの「Hudsonコミュニティ」について明確にしておきたいと思います。

  • ユーザー。開発者コミュニティの作ったwarファイルやrpm/debパッケージを利用する、数万の個人や企業たち。

ここでの本質的な問題とは、開発者はHudsonへの貢献方法に変更をもたらしたいと望んでいることであり、その意志を明確に表明したという事です。一方ユーザーにとっては、そのような変更の影響は文字通りゼロであって、この二つのコミュニティをごちゃまぜにするOracleの主張を一層腹立たしいものにしています。

Oracleの経営陣と開発コミュニティ間の行き詰まりの一部分は、巨大なオープンソースプロジェクトに必然的に存在する実力主義社会についてです。Linuxカーネル、Pyton言語とランタイム、PostgreSQLデータベースサーバであろうと、そこではプロジェクトに貢献をする人々に大きな発言権があり、それはこの人達こそが精力的に物事を推し進めているからです。これに加えて、Oracleは具体的な名前を挙げることなく「より大きなコミュニティがある」と何度も繰り返していますが、積極的かつ日常的にプロジェクトに貢献しているこのコミュニティ以外にどこにそれがあるというのでしょうか。

Ted氏、引いてはOracleのHudsonコミュニティへの姿勢は、大多数のオープンソースプロジェクトがどのように運営されているかへの本質的な誤解によるものと思われます。

多くの開発者はオープンソースプロジェクトとしてのHudsonとそのコミュニティをどのように尊重していくのか、Oracleに懸念を感じていますが、”Hudsonをどうやってよいものにするか”についてのSonatypeとOracleの密室での打ち合わせについていくら言っても、これらの懸念を解消する事には全くならないのです。

私のささやかな意見では、Oracleの言っている事とやっている事の間には大きな隔たりがあります。開発者コミュニティがGitHubを選択した後で、Hudsonの開発はjava.netに残るべきだという主張をするのは、Hudsonコミュニティと協力してその成長を助けると約束する言葉とは矛盾しています。プロジェクトを高圧的に支配しないと約束しながら、実際には全く対極の事をしているのです。

個人的には、OracleがこれからもClouldBees、Sonatype、他の企業などと共に、これからも成長し続けるHudsonに貢献していく事を願っています。多くのさまざまな企業の参加は、ソフトウェア技術者にとってのHudsonの重要性と、コミュニティによるコミュニティのためのHudsonプロジェクトを裏打ちするものだからです。

そんなわけで、12月は面白い月になると思います。続報をご期待ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA