レポート

Calcハッカー,吉田浩平氏が語るLibreOfficeの歴史と未来 ~LibreOffice mini Conference 2016 Osaka/Japan 基調講演レポート

この記事を読むのに必要な時間:およそ 4 分

2016年1月9日,GMO Yours! 大阪セミナールームにて,LibreOffice mini Conference 2016 Osaka/Japanが開催されました。

オープンソースのオフィスソフトであるLibreOfficeは,日本では着実にユーザーも増えていますが,知名度的にはもう一つなところもあり,また大規模でありユーザーベースの多いソフトウェアの割には,開発に挑戦しようという方,翻訳を手伝おうという方もそれほど多くありません。このような現状を少しでも良い方向に変えられないか,というのが,筆者が所属するLibreOffice日本語チームがLibreOffice mini Conferenceを始めたきっかけです。なお,ヨーロッパで行われるグローバルなカンファレンスに対し,日本という狭い地域で開催されるのでminiと称しています。

本稿では,今回の基調講演の内容をレポートします。

LibreOffice mini Conference 2016 Osaka/Japan 会場風景

LibreOffice mini Conference 2016 Osaka/Japan 会場風景

基調講演は,LibreOfficeの前身プロジェクトのOpenOffice.org時代から,LibreOfficeの表計算コンポーネントCalcのコア開発者として活躍されてきた吉田浩平氏により行われました。

基調講演者であるCalc開発者
吉田浩平氏

基調講演者であるCalc開発者,吉田浩平氏

吉田氏はNovell・SUSEに6年半,Collabora Productivityに1年弱在籍し,フルタイムでCalc開発に従事してきました。2013年には第8回日本OSS貢献者賞を受賞したことをご記憶の方も多いかと思います。現在はCollaboraを退職し,Deloitteにてソフトウェアエンジニアとして勤務する傍ら,ボランティア開発者としてCalcやその関連OSSの開発に関わっています。

今回の発表は「LibreOfficeの5年間を振り返って」と題して,2011年9月にLibreOfficeが発足してからの5年間を,吉田氏ならではの視点でまとめたものでした※1)。

※1
LibreOfficeプロジェクトの5年間を振り返るものとして,LibreOfficeの法務的・財務的支援を行う財団法人であるThe Document Foundationが出したホワイトペーパーがあります。こちらは当時の経緯などを記録したBlogなどをクリップした上で公式なコメントが追加されたもので,短縮版でも700ページ,完全版は1,300ページもある大作です。拾い読みするだけでも面白いので,ぜひご覧ください。

LibreOffice誕生のとき

LibreOfficeプロジェクトは,2011年9月に,当時はまだOracleの元にあったOpenOffice.org(以下OOo)というプロジェクトからフォークして始まりました。

LibreOfficeプロジェクトの発足は,OracleによるSun Microsystemsの買収という状況下における,コミュニティの内紛的な印象を持った方もいるかと思います。一面的にはそれは正しく,OracleがプロダクトとしてのOOoには関心はあったけれども,オープンソースプロジェクトとしてのOOoには関心がなかったため,コミュニティ側としてはフォークという選択肢しかなかったそうです。これを吉田氏は「背水の陣」と表現していました。フォークをしたからといって,必ずしも成功するとは言えないからです。

しかし,思った以上にコミュニティに支持され,フォークして数ヶ月でボランティア開発者の参加,そして彼らからのパッチが続々と集まってきたそうです。コアであるSUSEのメンバー※2) の他,Red HatやCanonicalといったオープンソース企業もLibreOfficeに加わりました。

また,このフォークを機に,LibreOfficeでは次のようなことを目指したのだそうです。

  • 小刻みな改良。メジャーバージョンに向けて大きな改良を入れ込むのではなく,常に改良して小さくリリースする。
  • ユニットテストの導入※3や,コードのクリーンナップなどといった技術的負債を下げる活動。
  • ボランティア開発者の育成。オープンソースプロジェクトとしての成功を収めるのが第一の目的であったため。
  • ※2
    LibreOfficeプロジェクトは,当時SUSEのメンバーが中心となって開発していたOOoへのパッチキットGo-ooというプロジェクトを母体としています。
    ※3
    OOo時代にはこういったコードは取り込まれず,LibreOfficeになって初めてユニットテストの取り込みに成功したのだそうです。

    各リリースのハイライト:立ち上げから2013年上期まで

    次に,LibreOfficeとしては初めてのリリースであった3.3から,4.1までのリリースを,主に吉田氏が関わったCalcを中心としながら振り返りました。

    LibreOffice 3.3

    2011年1月25日にリリースされた最初のバージョンである3.3は,OOo 3.3としてリリースされるはずだった※4コードベースにGo-ooのパッチを取り入れたリリースで,まだ「OOoの続き」という感じのするものでした。

    ※4
    実際,LibreOfficeのフォーク後にOOo 3.3としてリリースされました。

    LibreOffice 3.4

    LibreOfficeコミュニティとしてリリースプランを立てられた最初のリリースは,次の3.4(2011年6月リリース)からです。CalcにおけるこのリリースのテーマはExcelとの互換性向上で,Calcを中心にユニットテストを少しずつ書き始めたそうです。

    ただし,この頃は旧OOo由来のコードの全貌を把握している開発者が少なく,経験のない中で取り組んでいたため,不具合も多かった時代だったそうです。

    LibreOffice 3.5・3.6

    3.5の頃になってコードベースにも慣れてきて,大きな変更にも挑戦できるようになったそうです。例えばCalcの数式バーの複数行表示や,Writerのヘッダー・フッターのインジケータの追加,CalcのオートフィルターのUI改善などが3.5で入りました。

    Calcの数式バー。複数行表示も可能になっている

    Calcの数式バー。複数行表示も可能になっている

    3.6は3.5の正常進化という形で,目立った機能追加こそなかったものの,バグの修正や小刻みな小改良が取り込まれたりしました。データバーやカラーバー,フィールド(セル内にシート名などを挿入する仕組み)なども3.6で入った機能です。

    LibreOffice 4.0

    4.0は,LibreOfficeの歴史的には大きな意味を持つリリースです。

    OOoの時代から,外部からLibreOfficeを制御するためのインターフェースであるUNO APIがありますが,このAPIは絶対に変更しないと取り決められていました。しかし,APIの構造とLibreOfficeの内部構造がどんどん乖離していき,これはもう変えるべきであると意思決定が行われました。バージョンが3.6から飛んで4.0になったのは,この互換性がない仕様変更をアピールするためです。

    LibreOffice 4.1

    ユーザーの目に見える変更として4.1では,Apache OpenOffice(以下AOO)から,IBMのSymfony由来の機能である「サイドバー」が取り込まれたことです。裏話ですが,戦略的に「AOOよりもサイドバー機能を先にリリースしよう」という目標もあったのだそうです。

    またビルドシステムが,OOo時代から使われていたdmakeと,makeが混在していたのを,dmakeを全廃してmakeに統一できたリリースでもあります。

    その他,Googleの湯川さんから,WindowsでGoogle日本語入力を利用したときの候補ウィンドウの位置を正しくするパッチが取り込まれたりしました。

    開発貢献者タイムライン

    ここまでの歴史の中でLibreOfficeに新たに加わった貢献者を示し,現在,精力的に活躍しているメンバーがLibreOffice発足後に加わっていることを説明しました。

    現在はビルド周りを見ているNorbert Thiebaud氏,
    LibreOffice日本語チームの創設メンバーである安部武志氏,
    現在はCalcのコアを開発しているMarkus Mohrhard氏,
    CalcにExcel同等のセル関数を追加しているWinfield Donkers氏,
    Base開発者のLionel Elie Mamane氏,
    LibreLogoの開発者László Németh氏,
    画像処理やカラーピッカーなどのUIを改善しているTomaž Vajnger氏, ……などの名が見て取れる

    画像

    なお,4.1がリリースされた2013年には,第1回LibreOffice mini Conference Japanが開催され,ちょうどこのタイミングで,吉田浩平氏が第8回OSS貢献者賞を受賞したことは,吉田氏にも,我々日本のコミュニティにも印象深い出来事でした。

著者プロフィール

おがさわらなるひこ

LibreOffice日本語チーム所属。主な担当はUI翻訳や東京圏でのイベント企画など。本業は(株)SHIFT所属のソフトウェアテスト自動化アーキテクト。自由なデスクトップとしてUbuntuを愛用。

Twitter@naru0ga

コメント

コメントの記入