Vivliostyle と Webベース出版について——Fidus Writer 開発者によるインタビュー

Fidus Writer サイトの元記事

Vivliostyle によるCSS組版・PDF出力を組み込んだ学術論文用オンライン編集ツール Fidus Writer のWebサイトで、Vivliostyle 代表 村上真雄へのインタビュー記事 が公開されました(英語)。その日本語訳を以下に掲載します。

* * *

Fidus Writer バージョン3.5で、PDF生成に Vivliostyle を使うようになりました。Vivliostyle はブラウザ技術を使ってPDFレンダリングを行う日本発のオープンソースプロジェクトです。Vivliostyle に関わっている中心人物である村上真雄(Shinyu Murakami)は、仙台市出身で現在は、言語聴覚士で本の著者である妻と、さいたま市に暮らしています。村上は長年にわたりページ・レンダリングとブラウザ技術を組み合わせることを提唱しており、Webページのスタイルを定義する CSS (Cascading Stylesheets)を、ページネートされたコンテンツのためにも使用する技術について非常に熱心なことで知られています。私(Johannes Wilm、Fidus Writer 開発者)は彼に、私たちの読者と視点を共有するために、いくつか尋ねました。

数年前、私は、ブラウザで印刷ダイアログを使用したとき、より良い印刷出力を作成するプロジェクトに取り組んでいました。私のシステムは、ページヘッダー、ページ番号、脚注、その他いくつかのものを追加することができ、それを作り上げるのには約1年かかっていました。私にとってこれは、PDF組版ソリューションの高価なライセンス料を支払うことを避ける方法でした。

そのとき私は、自分がやっていたことはかなり制限されたもので、おそらくは他の誰にも有用ではないことを知っていました。だから私は、2014年の終わりに突然、Vivliostyle プロジェクトをスタートするというあなたからのEメールを受け取ったとき、かなり驚きました。この段階で、あなたはすでにこの分野で知られた存在で、PDFページレンダリングでキャリアを積んでいました。当時のPDFレンダリングの状態がどのようなもので、なぜ私に連絡することを選択したのですか?

Vivliostyle プロジェクトを始める前、私は、別の組版エンジンの開発に携わっていました。その製品は CSS Paged Media 仕様をサポートし、高品質なPDFの生成が可能な、商用のプロプライエタリなソフトウェアです。しかし私は、これから必要とされるのはオープンソースでWeb上で動くものだと考え、新しいプロジェクト「Vivliostyle」を構想しました。O’Reilly Media の Tools of Change for Publishing の記事 を読んで “BookJS” の存在を知っていたので、ブラウザ上での本の組版が実用になるだろうという確信がありました。そこで、できたら一緒にプロジェクトを進めたいと思い、その “BookJS” 開発者であるあなたとコンタクトを取ったのです。

あなたが Vivliostyle をセットアップしたとき、あなたと開発チームは、私が作り上げたソースコード上で開発を続行するのではなく、別のプロジェクトの上で開発を始めました。その決定の背後には何があったのですか?

私たちが目指していたのは、CSSによって自由なページレイアウトを実現できることです。すでに商用CSS組版エンジンで実装されている CSS Paged Media 仕様をサポートすることはもちろん、これからW3Cでの標準化が進むであろうCSSでのより高度なページレイアウト機能をサポートしたいと考えました。

それを1から自分たちで作るか、既存のオープンソースをベースにして作るか検討しました。

あなたの “BookJS” (またの名は Pagination.js、そのあと SimplePagination.js) は、JavaScript で本の組版を可能にした画期的なものでしたが、いくつか元々の制限がありました。ページレイアウトの指定には CSS ではなく JavaScript でのカスタマイズが必要であることなどです。

そこで注目したのが、Peter Sorotokin(元 Adobe、その後 Google に所属)による、EPUB のページレイアウトのためにCSSを拡張する提案 EPUB Adaptive Layout 仕様と、その JavaScript での実装 です。ページテンプレートという新しいCSSの機能によってページレイアウトの指定ができることは魅力的でした。これをベースにして、印刷出版物の組版にも十分使えるように、CSS Paged Media と関連CSS仕様の実装を追加していくことが、私たちが目指しているものを作る近道だと考えました。

Vivliostyle は当初、この分野で活躍しているもっと大きな会社の子会社でした。それからスタートアップ企業となりました。そして最近ではそのスタートアップ企業は別の名前に変わり、Vivliostyle オープンソース・プロジェクトは非営利のモデルで運営されています。これらの変化の背景は何ですか、Vivliostyle を使用する可能性がある人たちにとってどのような違いがありますか、またどのような組織モデルのもとで Vivliostyle はプログラムされているのですか?

最初、私はそれ以前に仕事をしていた会社の支援を得て Vivliostyle をその子会社として創業し、そのあと別の支援者たちの協力を得て独立したスタートアップ企業となりました。

私たちのビジネスモデルは、オープンソースの開発を行いながら、同時に企業向けの商用ライセンスの販売とコンサルティング業務によって収益を得るというものでした。

しかし、しだいに会社の経営にとってオープンソース製品の開発にあまり時間を費やすことはできないという状況になっていき、その開発は停滞してしまいました。

その段階で、営利目的の会社と非営利のオープンソース・プロジェクト団体とに別れたほうが、双方にとってよいだろうということになったわけです。会社名とその商用製品のブランドは変わり(会社は Trim-marks Inc.、その製品は VersaType)、Vivliostyle という名前はオープンソースの側だけのものになりました。

オープンソースの Vivliostyle プロジェクトのために、私たちは新しい非営利団体である Vivliostyle Foundation(一般社団法人ビブリオスタイル)を設立しました。この新しい団体で私たちは、Vivliostyle プロジェクトに協力してくれる人たちと関わりをもつことにとても関心があり、開発への貢献者が増えることを期待しています。

Vivliostyle のライセンスも変更されました。当初は Apache ライセンスでしたが、今は AGPL です。それは、商用の書籍を書くためには使うことができないという意味ですか、あるいはそれでどういう影響がありますか? ライセンスの変更の背景にある考えは何でしたか?

当初私たちは Vivliostyle を Apache ライセンスのもとで開発しました。これはベースとしたオープンソース(Adaptive Layout)のライセンスを引き継いだものです。

その後 AGPL に変更しました。それはオープンソース版と同時に商用ライセンス版製品も扱っていた会社の方針によるものでした。現在、オープンソースの Vivliostyle プロジェクトはその会社から離れましたが、AGPL ライセンスを引き継いでいます。その会社のもとで開発された部分のソースコードの著作権は、今は Trim-marks Inc. の名前になっているその会社が保持しているからです。

AGPL ライセンスであることによって、ソースコードを改変して、別製品にしたりWebサービスに埋め込む場合には、改変したソースコードを開示する義務がありますが、Vivliostyle をそのまま利用して、あるいは、Fidus Writer など、Vivliostyle を利用している別のサービスを利用して、商用の書籍を制作することに何ら問題はなく、制限なしで Vivliostyle を印刷やPDF生成に使用することができます。

最初から、あなたは技術仕様の標準化にとても関心がありました。私たちが初めて会ったのは、オーストラリアでの World Wide Web Consortium(W3C)CSS ワーキンググループ(CSSWG)の会議でした。その後、私は Vivliostyle の立場で、ページフロート仕様に取り組むことになりました。当時、標準化作業に積極的には関与していなかったそれなりに大きなPDFレンダラの会社がいくつかありました。最近では、あなたが Vivliostyle Foundation を立ち上げたとき、CSSWG の招待エキスパートである Florian Rivoal と、Editing タスクフォースの招待エキスパートである私を、理事に迎え入れました。ページネーションに関連する機能を標準化することがなぜ重要なのですか? 特にスタートアップ企業にとって、プロジェクト独自の新しい機能を作ることが妨げられることはありませんか?

HTML と CSS だけで本の組版を行うという技術は、まだ標準仕様が完成していないものです。そこでベンダーにとっては、標準を無視して彼らのソフトウェアの独自な方法で機能を実装していくというやり方も可能となっています。

しかし私は、それがよいやりかたとは思いません。それでは現在の特定のニーズを満たすことはできても、将来に標準仕様ができたらそれと互換性がなくなってしまい、非標準のものは捨てられることになってしまいます。

そこで、Vivliostyle では標準仕様の策定に積極的に関わりながら、Vivliostyle を開発して、後で標準になるものに可能な限り近づけるようにすることを決めました。

あなたが非標準のものは捨てられることなると言うのは、もはや動かないプロプライエタリなソフトウェアのために作られたコンテンツのことを考えていますか? それを再び使用できるようにするには新しい標準仕様に合うようにコンテンツのフォーマットを直さなければなりませんね。あるいは、標準仕様をアプリケーションで使えるようにするために作り直さなければならないプログラムコードのことを考えていますか?

ソフトウェアとコンテンツの両方とも影響を受けることになります。ベンダーは、新しい標準が利用可能になった後も、既存ユーザーのために非標準機能をサポートし続けることがよくあります。このようなベンダーにとって、古い非標準なものを残しながら新しい標準を実装することは面倒ですが、もし新しい標準を実装しなければ、それを使用したい新しいユーザーを失うことになります。

Vivliostyle を最初に始めたとき、どのようなユースケースを予見してましたか? そして今 Vivliostyle が実際にどう使われているのでしょうか?

Vivliostyle をはじめたとき、これが将来的にはWebブラウザ上でのビジュアルな編集・レイアウト機能と結びつくことで、ページレイアウトを必要とする幅広い用途に使われる可能性があるけれど、まずは、Web と EPUB など HTML 中心のコンテンツから印刷用のページレイアウトも必要とされるような場合に、Vivliostyle が特に役に立つはずだと考えていました。

そしてこれまで明らかになったところでは、Vivliostyle および別ブランドになった商用製品は、主に3つの出版分野、すなわち学術ジャーナル、製品カタログやマニュアル、そして技術書に使用されています。

技術書については、商業出版での技術書のほかに、技術者が自分で出版する技術同人誌を作るのに Vivliostyle が使われています。技術者たちは、たいていHTMLとCSSなら分かるので、ほかの難しい組版ソフトウェアを使う必要がない Vivliostyle が好まれています。

現在はまだ Vivliostyle が利用される出版分野はあまり多いとはいえません。それは、多くの用途に必要とされることが Vivliostyle で何でもできるようにはなっていないことと、使いやすさがまだ不十分なためです。たとえば、PDFの生成は、Webブラウザの印刷・PDF出力機能に依存していてそれがあまり高品質ではないということが制限になっています。

Vivliostyle は現在、PDFの生成とブラウザでのページの表示(例えば EPUB の場合)の両方に使用できます。 Vivliostyle の次の大きな目標は何ですか?

はい、Vivliostyle はPDFを生成するというだけではなくて、ブラウザ上でページネーション表示を行うビュアーとしても使うことができます。たとえば複数の HTML ファイルからなる文書や、EPUB のビュアーにもなります。

今後、私たちは、W3Cの出版ワーキンググループで標準化が進められている Web出版物 (Web Publications) に対応することを考えています。Vivliostyle がWeb出版物ビュアーとして使われることで、そのページレイアウトがより良いものとなり、またそれは、Web出版物と印刷出版物を同時に作ることが可能になるということです。

Vivliostyle は、Fidus Writer やおそらく他のテキスト編集アプリケーションにも適しているようです。Vivliostyle を自分のWebサイトやアプリに追加することで他に誰が恩恵を受けることができると思いますか?

Vivliostyle を組み込んだ出版用のテキストエディターとして、ほかに次のものがあります: Viola は印刷と出版のためのオンライン・エディターです。それから、MDBP: atom-markdown-book-preview は Atom エディター上でマークダウンで書かれたテキストを Vivliostyle でプレビューすることができます。

テキストエディター以外にも、Vivliostyle はオンライン電子書籍ビュアーや、さまざまなレポート生成アプリケーションのプレビューと印刷機能のために役に立つでしょう。

また、Webサイトで Vivliostyle Viewer を使用することで、HTMLコンテンツをスクロール方式のほかに、ページネーション方式でも読めるようにしたり、印刷用のページレイアウトを付加することができます。

そしてW3CでのWeb出版物の標準化が進んだときには、そのような出版物のビュアーとして、またWeb出版物オーサリングツールに組み込むものとして Vivliostyle が役に立つでしょう。

このようなとても深いインタビューができて本当にありがとうございます! 私は、私たちのユーザーが Vivliostyle をどう受け取るのか、また、彼らがそれで何をもっと望むことになるのか、反響が楽しみです。

ありがとうございました!