以下ドラフトです。
----
OpenOffice.orgのトップレベルの開発者で、現Novellに所属している吉田浩平さんに
インタビューしました。これからOpenOffice.orgの開発に参加されたい、
という方もたくさんいらっしゃると思います。世界的に活躍されている吉田が、
日々、どんなことを思い、考えながら、開発されておられるか、参考になれば幸です。

----
1. お名前と、バックグラウンドを教えていただけますか。

吉田浩平と言います。でも最近では英語圏で仕事をしているせいもあって、
英語表記でKohei Yoshidaとする方が一般的になって来ました。

僕は元々はソフトウェア開発がバックグラウンドではなく、環境・地質関係の仕事に
従事していました。日本では某地方国立大学で物理を専攻し、その後アメリカのミネ
ソタ州立大学で環境学の分野で大学院留学をしました。そこを卒業後はそのままアメ
リカへ残り、とある小さい会社で環境関係の仕事に就きました。その仕事を6年程こ
なしたのち、ソフトウェア業界に転職を決意しました。ソフトウェアエンジニア一年
目の仕事としてSlickEditという、かなり高速でかつ高性能なエディタを開発・販売
している会社で1年ほど働き、その後NovellからOOoにフルタイムで働かないかと誘い
がかかってNovellに移ったという経緯です。

2. OpenOffice.orgへの関わりを教えていただけますか。いつ頃から始められましたか。

OpenOffice.orgへはもう初めにオープンソース化されたときから注目はしていまし
た。その頃はソフトウェア開発という視点からではなく単なるユーザーという視点か
らですが。と言うのもその時はまだ先に述べた環境関係の仕事に従事していて、ソフ
トウェア開発とは全く関係のない職業だったからです。

その頃に勤めていた会社自体は従業員20人くらいの小さい所で、そこで何とか脱
Microsoft Officeを計ろうと、StarOffice 5.1を最初に使い始めました。何故に、例
えばWordPerfectとかではなくStarOfficeだったかと言うと、その頃僕はLinuxにも興
味を持ち始めていまして、単なるオフィス・スウィートだけでなく、どうせならOSま
で脱Microsoftしてしまおうと密かに企んでいて、それでWindowsとLinux版の両方ある
StarOfficeに注目し始めたわけです。1999年の夏頃だったと記憶しています。そ
の頃はStarOfficeはまだStarDivisionという名前の元で開発・販売していて、5.1を使
い始めてすぐにSunがStarDivisionを買収し、Sunのロゴの入った5.2をリリースしたと
いうのを記憶にしてます。ただロゴ以外に5.1と5.2は余り違いはありませんでしたが
(笑)。いやバグが多少少なくなってたかな。よく憶えていません。

その後まもなくSunがStarOfficeをオープン・ソース化して、その時ちょうど
StarOfficeも6.0 betaが出回っていました。その時はまだStarOfficeと
OpenOffice.orgを行ったり来たりしていてましたが、OOoが1.0をリリースした辺りから
OOoのみになりましたね。

OOoプロジェクト自体に関わるようになったのは2002年くらいからです。とはいっ
てもその頃はメーリングリストで発言するくらいでそれ以外は余り活動はしてません
でした。たまーにバグ報告やRFEをファイルしましたが、まぁそんなものでした。でも
そのうちにそれじゃあ物足りなくなり、その頃丁度、OOoプロジェクト内部でも外部開
発者を何とか増やそうという働きかけもあって、それも起爆剤になって「ちょっと頑
張ってみよう」という気になったのです。それ以外にも自分が実際にやってみたかっ
た理由は2つありました。1つはまず実際に自分でコードを書いて、(いつも開発陣に
「ああすべきだこうすべきだ」外野で言っているだけでなく)自分の手で実際にOOoを
改良してみたかった、ということと、もう1つは、巷で流れていた「OOoはコードも大
きいし複雑だから、単なるhobbyist developerでは貢献するのは無理」という噂を実
際に自分の手で確かめてみたかった、という理由です。

その後はバグフィックス用のパッチを書いたり、ソルバーの開発に従事したりしてま
した。そうこうしているうちに実生活の方でもソフトウェア開発を自分のキャリアに
したいと決意し、環境関係の仕事からソフトフェア・エンジニアに転向してしまいま
した。で、そうこうしているうちに最終的にNovellに移り、現在に至るという訳です。

3. 現在、お勤めになっている会社とOpenOffice.orgの関わりを教えていただけますか。

僕は今現在はNovellに所属しており、そこでのOpenOffice.org開発チームの一員とし
て働いています。専門分野はCalcですが、時々Calc以外のコードにも着手することも
あります。NovellのOpenOffice.orgとの関わりは、現在Novellの一部となったXimian
がまだ別会社だった時にまで遡りますが、そこら辺の詳しい歴史は僕がNovellに入社
した以前にまで遡るので僕も詳しくはわかりません。ですがSun以外では初の企業レベ
ルでの参加者であり、アクティブにupstream開発をしているという点に置いてはSunに
次いで2番目だと理解しています。

ただNovellとSunとの関係は常に友好的だったわけではなく、数々の政治的な争いや、
プロジェクトのあり方に関する批判等で反発することも多々もありました。特にSun
開発陣のパッチ処理の遅れや非合理に官僚主義的で透過性の欠けた開発プロセスに対
して一時的な解決法を見出すべく、Novellは(正確に言うとXimianですが)他のLinux
distributorと協力してooo-buildなる別個の開発ブランチを作り、Sunのパッチ処理の
遅さに対応することにした、という訳です。最近ではooo-buildはgo-ooという名前で
も知られるようになりました。

4. 最近のCalcのお仕事を教えていただけますか。

最近の仕事と言っても大から小までかなりやっているんで...。僕の仕事は基本的に
小規模なバグフィックス・改良を多数こなしてその間に中・大規模な機能開発を、と
いう感じで、ここ半年で主なものといえば、Excelファイルの暗号化と、今現在手掛け
ているexternal range nameのサポート、それとこれは最近って言ってももう1年前に
なってしまいますが、データ・パイロットのdrill-down dataの機能、後はformula
separator localizationとExcel formula syntax (A1とR1C1)のサポート当りがあえて
言えば結構規模の大きい変更だったと思います。これらの機能の実装時にかなりの量
のコード変更をしなくてはならなく、テストも含めて全て終わらせるのに数ヶ月かそ
れ以上は掛かったと記憶しています。

5. OpenOffice.orgプロジェクトへはupstreamしていますか。

自分の手掛けた作業に関して言えば、99%はupstreamしています。ただ実際にそれが
integrateされるかどうかはまた別の話です(笑)。上で挙げた機能に関して言えば、
Excelファイルの暗号化を除いて全てupstreamされました。Excelファイルの暗号化は、
ODFのスペックの変更が必要であるという事情でupstreamが遅れていますが、最終的に
はupstreamされるものと見ています。

ただ、これらの大規模はコード変更以外にも細かなパッチを山ほどIssueTrackerに上
げているのですが、それらのパッチは(ほんとに簡単なものを除いて)全く処理されて
ないのが現状です。定期的にSunに催促するべきだという声もあるのですが、うちらも
ooo-build側で手掛ける作業の量がかなり多く、そんなことばかりしてる時間はないん
ですよね。でもなるべく数ヶ月に一回は催促するようにしているのですが、それもま
ちまちです。なので現段階でもooo-buildのみでupstreamされていないパッチは山ほど
あります。僕のだけで未処理のパッチは20個ほどあるので、Novell全体で見たら未
処理のパッチの数は少なくとも100個以上はあるのではないかと推測しています。
ただちゃんと数えたことはないので実際のほどは分かりません。こんな状態なので、
まだまだooo-buildの存在は重要です。

6. upstreamに対してどのような要望がありますか。そしてどこは満足されていますか。

パッチの処理をもうちょっと速くしてほしい(笑)! ただこれにも個人差はあるの
で、開発者によってはパッチの処理が迅速の人もいれば何年たってもパッチの処理を
たまーにしかしない人もいます。これは以前よりもある程度は良くなってきたとは言
え、現在では以前よりもパッチの数がかなり増えてきてるので結局全体的に見たら余
り変わっていないような感じがします(笑)。

でもやはり一番の要望は、コードベースの著作権や開発プロセスをもっとオープン・
ニュートラルにして欲しい、ということですね。開発者の頭数やコードベースのノウ
ハウの点で言ったらSunがまだまだトップですが、最近ではそのバランスも変わりつつ
あります。ですが、まだコードベースや開発計画の最終決定は未だにSunがしている状
態で、プロジェクトの方向性も、まだSunが独自に決定している部分が多いです。で、
それに対してコミュニティ側も慣れてしまって、というかそれに反発する人達はもう
プロジェクトを去ってしまい、現在残っているメンバーはもはやそのようなSun中心的
な開発体制に違和感を持たない状態になってしまった感があります。でもそれではい
けないと思うんですよね。

これからはSun以外の開発陣の書いたコードの比率が徐々に増えていくと予想されま
す。Novellも現在ではフルタイムでOOoの開発に従事する者が自分も含めて15人いま
す。RedFlagやIBMも正確な数字は分かりませんが、かなりの数の開発陣がOOoの開発に
従事しています(ただIBMの場合はSymphonyの開発が主でOOoの開発には全くアクティブ
ではないようですが)。でもOOoのコード全体の所有権を持っているのは未だにSunだけ
に限られます。最終的にはOOoのコード所有権はニュートラル・ボディである
foundation等に移転し、SunやSun以外の参加者に対して著作権の点でも平等になるよ
うに持っていくのが理想的だし、筋が通っていると思います、がさてどうなるので
しょうね。

それ以外の、開発プロセスに関する要望として、UIを変更したり新機能を導入する際
には仕様書を書いてUser Experience (UX)から了解を得る、というプロセスももうち
ょっと軽量化されるといいと思います。今のままでは仕様書を(英語で)書くことが得
意ではない開発者が疎外される形になってしまうので。僕は仕様書書くのは嫌いでは
無いのでアレなんですが、ただ自分の書いた仕様書に対して大抵フィードバックが全
くないので実際役に立っているのかどうかはいささか疑問です。で、そんな疑問を抱
えていると、書く気が全く起きなくなる、と。悪循環ですね(笑)。

あと技術的なことに関しての要望を連ねてみます。まず、CVSは何とかして欲しい!
まぁもうすぐSubversionに移行する予定なのでもうすぐの辛抱なのですが、CVSの遅さ
にはかなり悩まされてるんで....。そしてそのSubversion移行を通り越してさっさと
distributed source control system (DSCM)に移行したらもっと楽になるでしょう
ね。で、ここでgitを採用してくれたら言うことなしです(笑)。

最近ではNovell内でもgitを使ってパッチ管理をする機会が増えてきました。Gnome開
発チームもかなり積極的にgitを使ってupstreamとの連携を計っているようです。OOo
開発チーム内でも、まだ全体のレポジトリとしては使っていませんが、ローカルのマ
シンでパッチ管理をする時などにgitを使う人も増えてきました。僕もその一人です。
gitはブランチ・マージなどの処理を高速で、しかもブランチ毎にツリー全体のコピー
を作る必要がないので、異なる機能毎にそれ用のブランチを作って作業するときなど
にその効力を発揮します。あと、中枢サーバにいちいちアクセスすることなく全ての
ヒストリにローカルでアクセス出来るので(この点はすごい!)、サーバがダウンした
からパッチが作れない、等の問題が全く無くなります。しかもサイズの大きいパッチ
を作るときも、CVSなら数分かかるところも一瞬でやってくれるので、その点もかなり
効率的です。なので、もしOOoでもupstreamがgitを採用してくれればうちら
downstreamとしても作業の効率が上がるでしょうね。GnomeハッカーであるFederico
 Mena Quitero (同じくNovell所属)のブログにもよくgitに関するtipとかがよく書か
れています。

http://www.gnome.org/~federico/

まあgitの話をするとキリがないのでこのへんで(笑)。

で、話を戻して、現在のupstreamで満足している点と言うと、やはりコードに関する
質問等にSun開発陣がきちんと答えてくれるようになった、というところでしょうか。
以前はIRCに顔を出すSun陣営もほんの僅かで、応対もそこそこだった記憶がありま
す。でも最近では主要な開発陣はIRCでもコンタクトを取れるようになったので、そこ
ら辺は改善されきたと思います。

あと、最近ではbuildbotによって、外部サーバーを使ってQA用ビルドを用意すること
が出来るようになりました。これはかなり大きな改良点です。これによって、CWSから
install setを用意するまでの時間がかなり短縮されたのは言うまでもなく、特にSun
外部の開発陣に取ってはかなりの助けになります。これはコミュニティによる貢献も
大きく作用しています。

7. 最近そのプロセスは改善されましたか。

プロジェクトの構造・ガバナンス・開発プロセスという点ではあまり改善はされてま
せんね。この点では僕も正直のところ余り改良は期待していません。未だに仕様書は
書かなくてはならないし、UIの変更にはUser Experienceの許可がいるし。なので、UI
変更を余儀なくされるコード変更のupstreamは未だ遅れぎみです。コードの所有権、
という点でも改良点はほとんどなしです。Copyright assignmentもJCAからSCAにかわ
りましたが、詳細部分がちょこっと変わっただけで、主要部分は全く改良されてませ
ん。 upstreamに貢献したいけどその開発プロセスについていけるような時間も余裕
もない、という場合はgo-ooから始める、というのも1つの手だと思いますよ

でも技術的な面で言うと、上でも言ったように、buildbotによる改良点は大きいで
す。あと、最近では一部のSun開発陣もgo-oo側の開発状況を監視するようになって来
たのか、時折むこうから「xxxのパッチをupstreamしないか」と尋ねてくることもたま
にあります(まだかなり稀ですが)。

あと、上でも述べましたが、最近ではSun開発陣の応対も以前に比べてかなり良くなり
ました。これに関してはまだ開発者による個人差もありますが、一般的に見てかなり
改善されてきたと思います。

8. 日本語圏の開発者の皆さんにメッセージを。

とにかく、OOoはオープンソース・プロジェクトの中でもかなり敷居の高いプロジェク
トです。ですが、その敷居を越えて粘り強く頑張っていくとその見返りも、技術的に
も精神的にもまた大きいプロジェクトでもあります。なので、上に述べたような障害
もありますが、諦めず粘り強く頑張って、何かを達成する喜びというものを掴み取っ
て行って欲しいですね。始めてパッチを書いて、それでupstream開発陣からあれこれ
批評されると余り面白いものではないのですが、それでも諦めずに粘りつづけるとそ
のうちいいことも訪れます。なので頑張ってください。

----
以上です。
話し手: Novell OpenOffice.org開発チーム 吉田浩平
聞き手: OpenOffice.org 日本語プロジェクトリード 中田真秀
日時: 2008/8中旬

---------------------------------------------------------------------
To unsubscribe, e-mail: 
[メールアドレス保護]
For additional commands, e-mail: 
[メールアドレス保護]

メールによる返信