一般社団法人ビブリオスタイル 2019年度事業報告書

第1章 2019年度(第2期 2019年4月1日〜2020年3月31日)事業報告

今期の基本方針とその考え方

当法人は定款において、以下の7項目を活動目的として掲げている。

  1. Vivliostyleオープンソース・プロジェクトとコミュニティの維持管理
  2. Vivliostyleと関連技術の研究開発
  3. VivliostyleとCSS組版の普及啓発・教育
  4. Web・出版・アクセシビリティ等の標準技術に関する諸団体と連携して標準化推進
  5. Vivliostyleと連携する外部のプロジェクトとの協力
  6. Vivliostyleのブランドと知的財産権の維持管理
  7. 前各号に附帯又は関連する事業

以上を簡単にまとめると、「オープンソース・プロジェクトとしてのVivliostyleの保守/発展/普及を通して、Web/出版/アクセシビリティの発展に努める」ということになるだろう。

前期(第1期)における活動内容は公式サイトの立ち上げ、ソースコードの TypeScript化(後述)の着手といった、いわば最小限のものにとどまった。とはいえ、いずれも当法人にとって必須の事業であった。

普通に考えれば、今期(第2期)において課題となるのは、こうした前期の活動を発展させ、どのようにすれば前述の活動目的が達成できるかということだろう。

ただし、そこで問題になるのは当法人の人的・経済的リソースが極めて限定的であることだ。期首において当法人の理事は代表理事である村上真雄を含め3人だったが、常勤として活動していたのは村上だけだった。また前期の決算が役員借入金から法人創立費他に123,050円を支出しただけであることからも分かるように、経済的リソースは極小状態である。

このような現実を前にして、参考になる考え方が三段跳び(ホップ・ステップ・ジャンプ)だろう。1回ずつ区切って3回ジャンプした飛距離の合計より、連続して3回ジャンプした飛距離の方がずっと大きくなる。この喩えを当てはめれば、第1期の活動が最初の「ホップ」(踏み切り)だとすれば、今期である第2期が「ステップ」(小跳躍)、それを受けた第3期が最も長い「ジャンプ」(大跳躍)となる。

つまり、今期中は定款が求める目的は十分に果たせないと割り切る。しかし、第3期以降に目的を果たせるよう、その「準備期間」としてやるべきことを考える。リソースが乏しいからこそ、この基本方針は重要なものになる。

次節以降に述べる一つ一つの活動は、一見すると定款とにどれだけ合致するか、疑問がでるかもしれない。しかし、いずれも第3期以降の「大跳躍」に必要な、下ごしらえになる筈である。

ソースコードの TypeScript化を完了

Vivliostyle は JavaScript で開発された。これはブラウザを主な実行環境とするプログラミング言語であり、Vivliostyle のようにブラウザに処理の多くを依存するソフトウェアでは、JavaScript を選択するのはベストプラクティスといえる。

しかし JavaScript はソースコードに型(type)の概念がない「動的型付け」と呼ばれるシステムを採用している。動的型付けは型を意識せず手軽にコーディングできる一方、型の解釈はインタープリタが実行しながら動的におこなうので、型エラーがあっても実行した後でないと分からない。またソースコードのどの部分がエラーになったか分かりづらい。

他方、「静的型付け」では型は事前に定義され(=静的)、それに基づいてコーディングする。ソースコードはコンパイラを通して実行可能なコードに変換された後で実行されるので、型エラーがあった場合は事前にコンパイラが警告してくれる。したがって、動的型付けのように実行しないとエラーが分からないということはない。

また、動的型付けではソースコードで型が明示的に定義されないこともあり、コーディングした当人以外にはその内容が分かりづらくなりがちだ。他方、静的型付けではあらかじめ型が定義されるため、ソースコードは分かりやすく、共同作業による大規模な開発がしやすいというメリットがある。

TypeScript は JavaScript を拡張したオープンなプログラム言語だ。JavaScript との互換性を維持したまま、静的型付けとクラスベースのオブジェクト指向を追加している。したがってJavaScript から TypeScript への移行コストは比較的少ないと考えられる。

また、TypeScript の開発元である Microsoft製をはじめ、各種の高機能な開発者向けツールが使用でき、コーディングに際しては型のサジェストや正確な型チェックが提供される。総じて、TypeScriptに移行することで、多人数によるオープンソース(OSS / Open Source Software)開発を進めやすい環境が、低コストで得られると期待できるのである。

移行作業そのものは法人設立直後の2018年8月から着手した。ところが簡単なはずだった移行作業は、実際に始めていると様々な困難が待ち受けていた。ようやく作業が終了したのは今期2019年8月、つまりちょうど1年かかってしまったことになる。

ユーザ/開発者イベントの開催

人的・経済的リソースが限られる当法人にとって、喫緊の課題は開発者(collaborator)の確保だ。そのためには、まず Vivliostyle というプロジェクトを広く知ってもらう必要がある。それには Vivliostyle をテーマにしたイベントを開催するのが有効だ。とはいえ、この種のイベントはサポートしてくれる人がないと開催はむずかしい。しかし、ありがたいことに当法人には、以前から手を差し伸べてくれる人や団体があった。

まず挙げるべきは、いち早く Vivliostyle を見いだし、TypeScript化をはじめ開発において多くの貢献をしてくれた spring-raining氏だ。彼は開発以外にも「Vivliostyle ユーザー会」の名前で同人誌『Vivliostyle で本を作ろう』を編集・刊行し、技術書同人誌即売会「技術書典」に出展を続けてくれるなど、多くのサポートをしてくれていた。

もう一つは XMLパブリッシング研究会である。同研究会は 日本印刷技術協会(JAGAT)会員社の自主的な勉強会から発展したもので、すでに10年ほどの歴史を持っている。JAGAT が年1回開催する印刷総合イベント「PAGE」では毎年部屋が与えられ、セミナーを主催するのが通例となっている。村上代表理事は、当法人の創立以前からここに参加しており、PAGEでのセミナーでも毎年のように講師として出席してきた。

そうした縁もあり、2019年8月31日に Vivliostyleユーザー会と XMLパブリッシング研究会の共催として、「Vivliostyle 開発者とユーザーの集い 2019夏」を開催することになった。

当日参加してくれたのは約30人。前半が「Vivliostyle 開発者ミーティング」として村上代表理事が現状の開発課題について報告し、後半が「Vivliostyle・CSS組版ユーザーミーティング」として合計7人が発表をするという2部構成でおこなわれた。

第1部では、参加者に質問をして挙手で回答してもらうアンケートもおこなった。詳細は「Vivliostyle のこれからの開発課題」を参照してもらいたいが、来場者の多くの要望はバグ修正やドキュメント整備等とともに、最新標準の実装を期待していることが分かったのが印象的だった。

第2部の具体的な発表内容と発表者については、「Vivliostyle 開発者とユーザーの集い 2019夏 開催しました!」を参照してほしい。注目したいのは、ここでの発表者から、その後当法人と深く関わることになる人が輩出されていることである。たとえば後述するが2020年1月から理事に着任する小形克宏、あるいはこれも後述する “Vivliostyle Pub” のメイン開発者の一人である youchan氏、それからやはり後述する公式サイトのリニューアルをお願いする yamasy1549氏。これらの人々は、いずれもこのときの発表者だ。まさに前述した小さな跳躍をより大きな跳躍に繋げていく、ホップ・ステップ・ジャンプの好例と言えるだろう。

なお、このイベントでの発表内容は論文化し、前述した spring-raining氏の Vivliostyle ユーザー会により『Vivliostyle で本を作ろう』Vol. 2として刊行され、2019年9月22日開催「技術書典7」で販売された。現在、掲載原稿はすべて公式サイトで読むことができる

内部体制の充実化

2019年9月22日に技術書同人誌即売会「技術書典7」が開催された。Vivliostyleユーザー会は、ここで前節イベントの発表内容をまとめた『Vivliostyleで本を作ろう』Vol. 2を販売、当法人の村上代表理事も、小形克宏をはじめとする執筆者とともに販売の手伝いに参加した。来場者の反応もよく、幸い用意した冊数の多くを売り切ることができた。

その終了後の懇親会で、小形は当時勤めていた会社を退職することになりそうだと報告した。小形は前述したXMLパブリッシング研究会のメンバーであるだけでなく、10年ほど前からフリーライターとして文字コードや日本語組版、標準化を取材するなかで村上と親交をもっていた。

折りから常勤としては一人だけで活動することに限界を感じ始めていた村上は、その場で小形に当法人への参加を要請、以前からVivliostyleに未来を感じていた小形も快諾し、期せずして OSS開発団体として本格的な活動ができる内部体制が整うことになった。

具体的には開発の業務統括は村上、開発以外は小形、そして経営は両者が討議、最終決定は他の理事の意見も聞きながら代表理事の村上が下すという体制だ。

前職の都合もあり、小形が4人目の理事として正式に着任したのは翌年1月だが、応諾の直後から間近に迫っていた開発者会議をはじめ、少しずつ各種の活動において意思決定に加わっていくことになった。

開発者会議の定期的な開催と、“Vivliostyle Pub” の開発構想

開発者の確保が課題だった Vivliostyle にとって、「Vivliostyle 開発者とユーザーの集い 2019夏」を通じて、若い開発者達と知り合えたことは大きな収穫だった。

村上代表理事はそれを一歩推し進め、以前からの collaborator である spring-raining氏に加え、そうした開発者や前述イベントでの発表者をコア・メンバーとして、1ヵ月に1回、定期的に開発者会議をおこなうことを決意した。これにより開発者同士が目標を共有しながら開発を進めることができる。会場も XMLパブリッシング研究会の会員である株式会社デンショク古門正明社長のご厚意により、同社会議室と回線設備を使わせていただけることになった。

ただし OSS開発である以上、開発者会議はオープンなものでなければならない。開催日程は事前に slack等で告知して誰でも参加できるようにし、また終了後に議事録を公開することで、透明性の確保に努めることとした。なお、議事録の採録と公開の自動化処理については、akabekobeko氏が尽力してくださった。

実際に開発者会議を開いてみると、その後の Vivliostyle を生まれ変わらせていく、以下のようなアイデアが続々と出され、すぐさま実行に移されていった。

なかでも注目すべきは、開発者会議の中で新たな開発課題として少しずつ具体化していった “Vivliostyle Pub” だろう。これが初めて提案されたのは、第2回開発者会議(2019年11月)終了後の懇親会で、前述 spring-raining氏によるものだった。

もともと、彼は2018年1月に “Viola” というオンライン・サービスを完成させていた。これは2分割された左側画面で原稿をマークダウンという簡易記法で書くと、右側画面では即座に vivliostyle.js による組版結果が表示され、これを PDF に書き出せるというものだった。

残念ながら個人開発であることから期待したほどユーザは増えず、毎月の維持費が負担になっていた。それでも、コンセプトが的確で現実的なだけでなく、市場性も見込めることはその場にいた全員にとって明らかだった。この “Viola” を当法人に移譲するので、皆でゼロから作り直してはどうかというのが spring-raining氏の提案だった。「それ、いいかも!」聞いた全員が喜びに沸いた。

その後、新たなプロジェクト名として村上代表理事が “Vivliostyle Pub” を提案し、あっという間に次なる開発目標となっていった。来期に向け、2020年8月ベータ版発表、2021年1月ローンチを目指して、鋭意開発が進められている。

こうして開発課題とそれを現実のものにする体制が確立したが、皮肉なことに今度はそのための資金をどうやって確保するかという課題が浮上した。早くも当法人の経済基盤の弱さが露呈した形である。もちろん、期待通りに “Vivliostyle Pub” が軌道に乗れば、多くの利益を当法人に還元してくれるだろう。しかしローンチは2021年なのであり、問題はそれまでの運転資金をどう確保するのかだ。この解決は来期の至上命題となるだろう。

XMLパブリッシング交流会への参加

前述したように、XMLパブリッシング研究会はJAGAT が毎年開催する印刷総合イベント「PAGE」において部屋が割り当てられ、ここで「XMLパブリッシング交流会」と称してセミナーと懇親会をおこなうのが通例となっている。PAGEは印刷、DTP、出版業界の注目度も高く、この交流会は関係者にとってお馴染みのものとなって久しい。

この年、同研究会は通年の活動テーマとして、①W3Cの「日本語組版処理の要件」に定義されている組版要件が、各社電子書籍リーダーでどの程度実現されているかを調査する、②CSS組版の実装例としてVivliostyleを使って自分で組版をしてみる、の2点を定めていた(前述「Vivliostyle 開発者とユーザーの集い 2019夏」での小形理事の発表も、この活動の延長線上だった)。

そこで2020年2月7日に開催されたXMLパブリッシング交流会では、「ウェブ出版と日本語組版の未来」と題して、「日本語組版処理の要件」の責任者による改訂作業の報告と、Vivliostyle の開発状況を当法人から報告することになった。

折りから開発者会議で、“Vivliostyle Pub” の検討を重ねてきた当法人にとって、印刷、DTP、出版などの業界にアピールできる絶好の機会といえる。とはいえ、主催者の JAGAT は公益社団法人であり、XMLパブリッシング研究会、及びその開催イベントの目的も互助だ。そうした場に沿うように直接的な宣伝は避け、まず村上代表理事が CSS組版について説明をした上で、その実装の一つとして Vivliostyle の活動全般を紹介、その上で小形理事がこれからの活動目標として “Vivliostyle Pub” を発表することにした。

幸い来場者の手応えは上々で、セミナー後の懇親会でも多くの好意的な反応をいただくことができた。

公式サイトのリニューアル

当法人が公式サイトを立ち上げたのは、まだ設立準備中の2018年3月にさかのぼる。当初から日本語ページと同内容の英語ページをもつ、最小限ではあるが多言語サイトとして立ち上げられた。OSS開発団体である当法人にとって、活動の手始めとして世界のなるべく多くの人が読めるウェブサイトを立ち上げることは、極めて重要なことだった。以来、約2年にわたりほぼ同じデザインとページ構成をつづけてきた。

しかし、毎月の開発者会議を中心に、新しく開発者(collaborator)を迎えて活動を開始し始めた当法人にとって、それまでのサイトを見直し、新たなデザインにするタイミングが訪れた。2019年12月から、開発者会議のメンバーでもある yamasy1549氏に依頼して制作にとりかかった。

新しいサイトの基本的な方針は、一人でも collaborator を増やすためのサイトを目指すこととした。新しい開発体制が確立したとはいえ、“Vivliostyle Pub” の規模を考えると決して collaborator の数は十分ではない。またOSS開発団体として、常に新たな collaborator を引きつける努力が不可欠だ。そのための「入り口」として新しいサイトを機能させたいと考えた。具体的には yamasy1549氏の提案を元に、以下のような施策をおこなった。

デザインとコーディングは前述 yamasy1549氏が担当したが、配色やフォントの設定など全般的なデザインシステムは、同じく開発者会議のメンバーである Yasuaki Uechi (uetchy)氏に作成していただいた。当法人の新しいロゴも uetchy氏の手になるもので、地球の上空を巨大なV字型の本が浮遊するデザインの旧ロゴを、フラットかつビビットな配色に変え、大胆にトリミングすることでイメージを刷新したものだ。サイトの開発状況は毎月の開発者会議で報告され、参加者から適宜フィードバックを得ながら制作がすすめられた。こうして2020年4月3日、新しいデザインのサイトにリニューアルすることができた。

理事

第2章 2019年度(第2期 2019年4月1日〜2020年3月31日)決算報告

2019年度貸借対照表

2020年3月31日現在(単位:円)

科目 当年度 前年度 増減
Ⅰ. 資産の部
1. 流動資産
現金・預金 52,565 10,000 42,565
流動資産合計 52,565 10,000 42,565
2. 固定資産
⑴ その他固定資産
創立費 113,050 113,050
その他固定資産合計 113,050 113,050 0
固定資産合計 113,050 113,050 0
資産合計 165,615 123,050 42,565
Ⅱ. 負債の部
1. 流動負債
預り金 72,568 72,568
役員借入金 1,186,477 123,050 1,063,427
流動負債合計 1,259,045 123,050 1,135,995
負債合計 1,259,045 123,050 1,135,995
Ⅲ. 正味財産の部
1. 一般正味財産 △1,093,430 0 △1,093,430
正味財産合計 △1,093,430 0 △1,093,430
負債及び正味財産合計 165,615 123,050 42,565

2019年度正味財産増減計算書

2019年4月1日から2020年3月31日まで(単位:円)

科目 当年度 前年度 増減
Ⅰ. 一般正味財産増減の部
1. 経常増減の部
⑴ 経常収益
受取利息 1 1
経常収益計 1 0 1
⑵ 経常費用
① 事業費
旅費交通費 12,080 12,080
事業費・経費1 55,770 55,770
事業費計 67,850 0 67,850
② 管理費
人件費1 984,881 984,881
管理費計 984,881 0 984,881
経常費用計 1,052,731 0 1,052,731
評価損益等調整前当期経常増減額 △1,052,730 0 △1,052,730
評価損益等計 0 0 0
当期経常増減額 △1,052,730 0 △1,052,730
2. 経常外増減の部
⑴ 経常外収益
経常外収益計 0 0 0
⑵ 経常外費用
経常外費用計 0 0 0
当期経常外増減額 0 0 0
他会計振替前当期一般正味財産増減額 △1,052,730 0 △1,052,730
税引前当期一般正味財産増減額 △1,052,730 0 △1,052,730
法人税、住民税及び事業税 40,700 0 40,700
当期一般正味財産増減額 △1,093,430 0 △1,093,430
一般正味財産期首残高 0 0 0
一般正味財産期末残高 △1,093,430 0 △1,093,430
Ⅱ. 指定正味財産増減の部
当期指定正味財産増減額 0 0 0
指定正味財産期首残高 0 0 0
指定正味財産期末残高 0 0 0
Ⅲ. 正味財産期末残高 △1,093,430 0 △1,093,430

2019年度収支計算書

2019年4月1日から2020年3月31日まで(単位:円)

科目 予算額 決算額 差異 備考
Ⅰ. 一般正味財産増減の部
1. 経常増減の部
⑴ 経常収益
受取利息 1 △1
経常収益計 0 1 △1
⑵ 経常費用
① 事業費
旅費交通費 12,080 △12,080
事業費・経費1 55,770 △55,770
事業費計 0 67,850 △67,850
② 管理費
人件費1 984,881 △984,881
管理費計 0 984,881 △984,881
経常費用計 0 1,052,731 △1,052,731
評価損益等調整前当期経常増減額 0 △1,052,730 1,052,730
評価損益等計 0 0 0
当期経常増減額 0 △1,052,730 1,052,730
2. 経常外増減の部
⑴ 経常外収益
経常外収益計 0 0 0
⑵ 経常外費用
経常外費用計 0 0 0
当期経常外増減額 0 0 0
他会計振替前当期一般正味財産増減額 0 △1,052,730 1,052,730
税引前当期一般正味財産増減額 0 △1,052,730 1,052,730
法人税、住民税及び事業税 0 40,700 △40,700
当期一般正味財産増減額 0 △1,093,430 1,093,430
一般正味財産期首残高 0 0 0
一般正味財産期末残高 0 △1,093,430 1,093,430
Ⅱ. 指定正味財産増減の部
当期指定正味財産増減額 0 0 0
指定正味財産期首残高 0 0 0
指定正味財産期末残高 0 0 0
Ⅲ. 正味財産期末残高 0 △1,093,430 1,093,430