[ホワイトペーパー] LibreOffice Technologyはデスクトップ、モバイル、クラウド環境で個人の生産性を加速する、ただ一つのソフトウエアプラットフォーム
LibreOffice Technologyは、Engineering Steering Committee(エンジニアリング運営委員会)のコーディネートのもと、開発者、ソフトウエアエンジニア、セキュリティ専門家、インターフェースとユーザー体験の専門家がLibreOfficeのソースコードに対して10年にも渡る集中的な活動してきた結果です。
この進化プロセスの目的は、デスクトップ、モバイル、クラウド上で個人の生産性を高めるための1つのプラットフォームを作ることです。それは、ユーザーすべてがコンテンツを意識せずに共有できる相互運用性と単一の商用ベンダーによる囲い込み戦略からの独立、両方を提供できる唯一のアプローチです。
これは、他のすべてのプロプライエタリとオープンコアのオフィスソフトとは、まったく逆のアプローチです。これらは、プラットフォームごとに異なるバージョンを開発して機能をコピーしようとしますが部分的にしか成功していません。例を挙げれば、これらのオフィスソフトは(ユーザーには見えない)文書内部の構造はアプリケーションごとに異なっています。
製品からプラットフォームへの進化プロセス
数十年の歴史を持つOpenOfficeから引き継いだソースコードは、一般的な開発者にとって複雑すぎてビルド環境の構築や管理は難しいものでした。そのため、学習曲線を緩やかにしプロセスを加速するには新しい開発者への指導は必要不可欠でした。
上級開発者たちは、新規開発者を助けるために「イージーハック」を発明しました。これは、ソースコードについて知らない人たちに簡単なタスクをしてもらい学習を容易にすることと、貴重な時間を費やさずに多くの問題を解決する2つの目的があります。
イージーハックのおかげでプロジェクトは、新たなソースコードの貢献者たちをひきつけ、新しい開発者たちの強力な基盤を作るとともにコア開発者の数を増やしていきました。また、困難なソースコードのクリーンナップとリファクタリングに取り組む、新しい「スター」貢献者も巻き込めました。
開発者は、LibreOffice Engineering Steering Committeeの管理のもと、短期間でソフトウエアの無駄な部分を削減し、数万行の使われていないソースコード(および多数の非推奨ライブラリ)を削除して待望のソースコードを改修しました。そして、ビルドプロセスを自動化できるレベルまでの単純化とドイツ語コメントの大部分を英語に翻訳することに成功しました。
このプロセスをサポートするために、いくつかのコンポーネントの統合や既存のコンポーネントを更新、置き換えて開発インフラを強化しました。現在、これらのプロセスは開発者の時間をより重要な仕事に充てるためにテストを含め可能な限り自動化に基づいて行われています。
その結果、Coverity Scan [1]などの静的解析ツールによるとソースコードベースの欠陥密度は業界で最も低いものの1つとなっています。OpenOfficeから継承された密度(1000行のコードあたり1.1エラー)は同規模のプロジェクト平均が0.71に対し、LibreOfficeは0.001までに下がりました。
全体的なパフォーマンスも大幅に改善されています。特に標準ファイル形式のODFや独自ファイル形式のDOCX、XLSX、PPTXなどで大きなサイズのファイルを読み書きする際のパフォーマンスが大幅に向上しました。
ソースコードの改修作業の大部分が完了すると開発者とUIデザイナーは、ユーザー体験の向上に取り組みました。彼らはメニューを再構成し、WindowsとmacOS用の新しいアイコンセットの作成と既存アイコンセットを改良しました。また、ユーザーインターフェースにタブ、グループ、コンテキストのバリエーションを持つノートブックバーを追加して選択の幅を広げました。
最後に大事なことですが、ローカライゼーションに積極的なボランティアによる巨大なコミュニティのおかげで、LibreOfficeは、ほかのどのアプリケーションよりも多くの母語で利用できる個人向け生産性向上ソフトウエアになっています。現在、LibreOfficeは119言語版でリリースされており、さらに26言語版が開発中です。
新しいLibreOffice APIとスクリプトライブラリ
LibreOfficeのAPI(Application Programming Interfaces)は学習曲線が急なことで知られており、LibreOffice内でのマクロ開発やモバイルやクラウドプラットフォーム上での統合プロジェクトでは障害になると考えられていました。この問題を解決するために開発者は、より利用しやすいLibreOffice Kit APIとScriptForgeスクリプトライブラリを作成しました。
LibreOfficeKitは、LibreOfficeをコンパイルやリンクしたり、UNO(オフィススイートのコンポーネントモデル)や、そのほかの複雑な言語を学ぶ必要なくC/C++を介してLibreOfficeの機能にアクセスしたり外部アプリを作成するための薄いAPIです。このキットを使うと、あらゆるアプリケーションのドキュメントを高速にレンダリングできます。
ScriptForgeは、ユーザーのBasicスクリプトやPythonスクリプトから呼び出せる拡張性と堅牢性に優れたLibreOffice用のマクロスクリプトのコレクションです。ScriptForgeは、ウィンドウやドキュメントの管理と容易なアクセス、Calcのシートやセル、セルの範囲の処理の自動化、ダイアログとそのコントロールの管理、データベースに含まれるデータへのアクセスを提供して、LibreOffice APIの困難な学習の克服に役立ちます。
LibreOfficeは相互運用性の勝利者
LibreOfficeは、ODFを標準ファイル形式としてサポートするほか、独自ファイル形式のOOXML Transitional(大半を占めるDOCX、XLSX、PPTXファイル)との抜群の互換性、Document Liberation Project [2]が公開するレガシーなファイル形式用の多数のインポート・エクスポートフィルタなどによって、相互運用性において最も汎用性が高いオフィスソフトになっています。
ユーザーが多数作成し、独自形式でもあるMicrosoft Officeファイルは、特定のスキルを持った開発者チームによって管理されています。
Microsoft Officeファイルは、LibreOfficeで開いて編集し、元の形式で保存して一貫性をチェックする「ラウンドトリップ」という手法で分析して問題を特定しています。これは、使用するソフトウエアに関係なく、すべての問題が解決され結果が同じになるまで行われます(イメージはXLSXファイルのプロセスを示していますが、DOCXとPPTXにも同様です)。
Microsoft Officeの独自ファイル形式との相互運用性は、LibreOfficeの新しいリリースごとに改善されており、標準的なODFや独自的なOOXMLといったファイル形式に依存しない透過的な文書の処理が可能です。
ODF(オープンドキュメント形式)は真の標準ドキュメント形式
OpenOfficeから継承し、標準ファイル形式として利用しているODF(オープンドキュメント形式)によりLibreOffice Technologyは、真の相互運用性を実現するための最適なプラットフォームとなっています。ODFは、The Document Foundationにより維持され、さらに発展しています。そしてThe Document Foundationは、独立したCOSMプロジェクト(Community of ODF Specification Maintainers) [3] を設立し、ODF 1.3やそのほか、将来のバージョンのための資金や編集者を確保しています。
標準ドキュメント形式のODFは、ベンダーに依存しない中立な方法でゼロから設計されており、可能な限り既存の規格を採用することで、他の追随を許さないレベルの相互運用性を実現しています。ODFは堅牢で安定しており、一貫性と予測可能性があります(ドキュメントの基礎となるXMLは常に変わらず、プログラムのバージョン、ハードウエア、OSに依存しないため、どのデバイス上でもドキュメントを容易に視覚化して管理できます)。
LibreOfficeテクノロジーを利用した製品
現在、LibreOfficeテクノロジーをベースにした製品にはデスクトップ版(コミュニティ版、エンタープライズ版)、クラウド版、Android/iOS版、Chrome OS版など数多くの製品があります。LibreOffice Technologyは、大規模な製品の中で文書ファイル形式の変換や処理にも使用されています。これらの製品は、さまざまな企業や団体によってリリースされ、異なるブランド名を持っていますが同じエンジンを共有しており、相互運用性、耐障害性、堅牢性、およびセキュリティの点でユーザーに同じ独自のメリットを提供しています。
[1] https://scan.coverity.com/
[2] https://www.documentliberation.org/
[3] https://blog.documentfoundation.org/blog/2019/07/02/the-cosm-project/
LibreOffice Technology White PaperはPDFでもご覧いただけます: ファイルのダウンロード
この記事は、TDFブログの記事「[White Paper] LibreOffice Technology, the only software platform for personal productivity on the desktop, mobile and cloud」: https://blog.documentfoundation.org/blog/2021/02/06/wp-libreoffice-technology/ をLibreOffice日本語チームが翻訳しました。