Shinji Enoki's blog

LibreOfficeの話題を中心にする予定です

アルバニアでのLibreOffice Conference 2018に行ってきた話

今年の「LibreOffice Conference」は、2018年9月25日(火)-28日(金)にアルバニアの首都ティラナで開催されました。今年も参加してきましたので、思い出しながらレポートします。 この記事は「LibreOffice Advent Calendar 2018」の7日目です。昨日は安部さんによる「LibreOffice 6.2のCalcではSMALL/LARGE関数の順位引数に配列を使えるようになります」でした。

LibreOfficeコミュニティでは、年に1度、LibreOfficeプロジェクトに関わったり興味を持っている人々が世界中から集まって、情報交換や交流をするためにカンファレンスを開催しています。第1回目の2011年のパリから今年まですべてヨーロッパでの開催になっています。コミュニティメンバーは世界中にいますが、ヨーロッパに多いことが理由です。今年がアルバニアで開催されたのは、アルバニアコミュニティには若くて元気なメンバーが多いこと、ティラナ市役所ではLibreOfficeを始めとするオープンソースを全面的に利用している、といった理由がありそうです。メインのローカルスタッフ6名(7名だったかも)のうち5名が20代中ばまで、女性4名、男性2名という陣容でした。

カンファレンスについての記事は日経xTECHに掲載されています。また、こぼれ話的な小笠原さんの裏レポート村上さんの簡単なレポートがあります。ということで、以下は感想と写真を中心に旅の話なども交えています。

f:id:shinji_enoki:20180926095733j:plain
オープニングセッションで、マリーナが挨拶中の様子
f:id:shinji_enoki:20180926124858j:plain
アルバニアコミュニティのローカルスタッフたち

アルバニアについて

アルバニアはヨーロッパでは東のほうに位置し、ギリシアの北、マケドニアの西、モンテネグロの南にあります。イタリアを靴に例えるとかかとの部分とアドリア海を挟んですぐ近くです。事前に調べたところ経済状況があまり良くないという話がありましたが、行ってみたら街は思ったより安全でいいところでした。晩御飯というかパーティの帰りに真夜中に歩いてましたが大丈夫そうでした。アルバニアにいる間、ずっと天気が良くて、昼間は暑いくらいの日もありました。昼と夜で気温の差が激しく、寒い日は夜は毛布が必要でした。

f:id:shinji_enoki:20181206052758p:plain
ティラナの中心にあるスカンデルベグ広場

アルバニアに行くのはそこそこ大変でした。日本からの直行便はありません。可能な限り安い便を探したら、エティハド航空で行きはアブダビとローマ、帰りはアテネアブダビでの乗換となりました。去年のカンファレンスはローマでしたので、フィウミチーノ空港で乗り換えるときに、去年ならここで空港の外に出たなあ、、と懐かしくなりました。

首都ティラナの空港は小さく、ティラナの街自体もコンパクトでした。私が普段使っているクレジットカードでキャッシングしようとしたところ出来ませんでした。アルバニアからは出来ないようにしているのかもしれません。とりあえず空港のボーダフォンショップでSIMをクレジットカードでゲットしたうえ、エアポートバスはユーロで支払いました。街は結構きれいですが、メンテされていない道とか建物が時々あるので油断は禁物です。クレジットカードが使えないことが多くて予想よりも現金が必要でしたが、ユーロで支払いができたり、街中にユーロからアルバニアレクへ両替できる店はありました。また食べ物や宿泊はとても安かったです。宿はD1 Hostelというところにしたのですが、ドミトリーだったこともあり、6泊で簡単な朝食付きで45ユーロ(約5700円)でした。

そもそも私がアルバニアという国のことを知ったのは、2016年にチェコのブルーノで開催されたLibreOffice Conferenceでした。Redhatのオフィスで行われたハックフェストで、アルバニアから来ていたAnxhelo(アンジェロ)と話した時に教えてもらいました。彼は今回のローカルスタッフの1人でもあります。その時は、まさか2年後にアルバニアに行くとは思いませんでした。

カンファレンスの内容

毎年ほぼ同じ構成ですが、火曜日はコミュニティ・ミーティング、水曜から金曜は3トラックに分かれてトークやミーティングが行われました。土曜日はローカルスタッフがガイドしてくれて街を歩きました。また、夜は火曜日はバーでのパーティ、水曜日はディナー、木曜日はバーでハックフェストが行われました。

プログラムの日付ごとのページに発表資料はリンクされていますので、内容に興味がある方はご覧ください。主に以下では感想をコメントします。

発表資料/プログラム

1日目:水曜日

水曜日の午前中は、ティラナ市長のお話や、TDFのBoard of Directors(ドキュメント財団のボード)やスタッフの紹介、この1年のプロジェクトの状況報告、LibreOfficeのサポートビジネスを展開しているCollabora Productivity(以下Collaboraと略)とCIBのスポンサーセッションなどがありました。

TDFとはThe Document Foundationの略称で、LibreOfficeコミュニティを法的に支えるためにコミュニティメンバによってドイツに設立された財団です。

f:id:shinji_enoki:20180926100401j:plain
TDFのBoard of Directorsメンバー紹介
f:id:shinji_enoki:20180926101038j:plain
TDFのスタッフ紹介
f:id:shinji_enoki:20180926123431j:plain
Collabora ProductivityのMichael Meeksの発表。LibreOffice OnlineでCJKのIMEをサポートしたよと1行目にあります。去年のカンファレンスなどで日本語入力時のバグがあることは伝えてましたが、修正してくれました。

ティラナ市長がニルヴァーナのTシャツ(そっち方面に疎いので小笠原さんに教えてもらうまで気が付かなかったです)を着て、オープンで自由であることの重要性の話をしていたように思います。単にコスト削減ではない強い思いがありそうでした。私が英語力弱いのでうまく聞き取れなかったです...。ティラナ市民の平均年齢が27歳という話にもびっくりしました(これも聞き間違いでなければ)。

f:id:shinji_enoki:20180926101613j:plain
ティラナのErion Veliaj市長

水曜日の午後は19セションでした。Simon PhippsからはOSIの20周年ということで歴史を振り返る話がありました。もうオープンソースという言葉が出来て20年たつということですね。TDFのデザイン担当スタッフであるHeikoのデザインチームの話も聞きました。カラーパレットの改善や新しいDrawのスタイル、アイコンの変更点、MS Officeのリボンに近い操作ができるノートブックバーの状況などのお話でした。

f:id:shinji_enoki:20180926152414j:plain
Heikoのデザインについてのトーク。Drawの新しいスタイルについての説明

Muhammet Karaからはトルコの導入事例の紹介がありました。今まで知らなかったのですが、トルコでもそれなりに使われているようです。Muhammetのインタビュービデオが先日公開されています。ちなみにTDF WikiにLibreOfficeを導入事例のページがありますがトルコもいくつか載っています。日本の事例は日本語のページに書いていますがこちらにも書いたほうがよいのかもと思いました。

f:id:shinji_enoki:20180926132647j:plain
ランチボックスをゲットする小笠原さん

台湾のBo-An Chenによる、LibreOfficeを利用している大学でのアンケート結果を分析している話もありました。台湾からはカンファレンスへの参加者が年々増えていて今年は5名でした。日本からの参加者は3名(小笠原さん、村上さん、私)で、人口比率からいくと日本からは少なすぎる気がします。村上さんのLibreOffice Onlineをロードバランサーを使ってスケールを試みた発表もありました。私も念の為に共同発表者としてクレジットしていたのですが、少し資料をレビューしただけでした。発表後に聞いてくれてた人からHAProxyを使う方法があるようだとヒントになるコメントもいただきました。

f:id:shinji_enoki:20180926171547j:plain
村上さんの発表

f:id:shinji_enoki:20180926220945j:plain
1日目の夜はコミュニティパーティ。Collaboraが5周年になるということでCollaboraからケーキが振舞われました。Kendyが頑張って切ってるところ

2日目:木曜日

木曜日は2トラックとミーティングなどのトラックで30セッションがありました。朝一番で、LibreOfficeの技術的な意思決定を行う「Engineering Steering Committee」のミーティングがありました。通常は電話会議ですが、毎年カンファレンスの時だけ公開で顔をあわせて議論します。

f:id:shinji_enoki:20180927102817j:plain
Engineering Steering Committeeのミーティングの様子

他にも、台湾からのFranklin WengとEric Sunのトークが連続でありました。エリックは初めてお会いしましたが、組織で導入推進の役割をもっているそうで、カンファレンスでは珍しくユーザ寄りのImpressを使った発表のテクニックのお話でした。

f:id:shinji_enoki:20180927110849j:plain
台湾のEric SunによるImpressを使った発表資料の作り方について

小笠原さんからは日本のコミュニティの状況についての発表がありました。私は役割分担ということで別トラックのTDFのQAスタッフであるXisco FauliによるBugzillaについてのお話を聞きました。

f:id:shinji_enoki:20180927114523j:plain
XiscoのBugzillaの状況についての発表。1年間でのコメント数やコメントする人の数はかなり多いことがわかります

CollaboraのManaging Director(以前Webで肩書見た時はVPだった気がするのですが)で、LibreOfficeコミュニティにおける技術的リーダーのMichael Meeksがマーケティングトークをしていたのも意外でした。ビジネスの立場からマーケティングにエネルギーを割くことが多くなっているのかもしれません。Google Summer of Code(GSoC)というグーグルがスポンサーになってインターン生に奨学金を支払うプログラムがありますが、LibreOfficeは毎年参加しています。今年もその報告がありました。Markus Mohrhardがメンターを代表して司会していました。Markusは開発とQAの両方がわかっている珍しいエンジニアです。彼のブログはたまに更新されていて参考になります。2012年のベルリン以来久しぶりにお会いした気がしますが、元気そうでした。

私はCJKバグ(中国、日本、韓国の各言語に関連するバグ)についての発表しました。昨年の発表のアップデートです。直後にはイスラエルから参加しているLior KaplanによるRTL言語(右から左に書く言語)の状況で、同じような路線の話でした。そもそも私がCJKの話をするようになったのは、Lior(リオル)が2011年のパリのLibreOfficeカンファレンスでRTLバグについて話をしてて、面白いと思ったのがきっかけです。

f:id:shinji_enoki:20180927161604j:plain
LiorのRTLバグについての発表

f:id:shinji_enoki:20180927163721j:plain
中庭でくつろいでおしゃべり中

f:id:shinji_enoki:20180927210340j:plain
2日目の夜はバーでハックフェスト。写真撮ってたらお前も入れと言われました

3日目:金曜日

金曜日は2トラックで18セッション(クロージング含む)でした。トラックの片方は主に認定のワークショップやインタビューです。LibreOfficeではビジネスのエコシステムを支援するために、LibreOfficeに関するノウハウのある人を認定する仕組みを作っています。最初はLibreOfficeの開発に貢献している人たち向けた開発者の認定だけでしたが、今はLibreOfficeへの移行や、トレーニングといった認定もあります。私も移行専門家の認定を受けています。日本からは他に受ける人がいないので、今のところ唯一です。早く2人目が出て欲しいです。インタビューセッションに途中から参加してみましたが、アルバニアの2名が移行専門家(LibreOfficeへの移行)の認定のためのインタビューを受けていました。1人はローカルスタッフでもあり、ティラナ市役所の導入について発表もしていたシルビアだったように思います。以前に、私はリモートでインタビューを受けたことがありますが、その時は小笠原さんに通訳していただいたので理解できましたが、英語だけだとなかなかハードだと実感しました。

f:id:shinji_enoki:20180928132213j:plain
お昼ごはん。みんな上に登りだしました。私もここに連なって食べました

f:id:shinji_enoki:20180928143359j:plain
フランスのコミュニティメンバたち

イタリアコミュニティのリーダーでTDFスタッフでもあるItalo Vignoliからはファンドレイジングを検討しているお話もありました。通常の寄付とは別に、テーマ別にお金を募ることも考えていきたいということでした。TDFではみなさんから安定して寄付を頂いていますが、よりお金があれば挑戦できることも増えます。ライトニングトークでは大勢の発表がありました。アメリカから初参加のCathy Crumbleyによるドキュメンテーションの話もありました。ジャケット着ていますし、雰囲気が違ったのでどこからかな?と思って聞いてみました。ちなみに、LibreOfficeコミュニティでは女性が少なめな点は課題だと思いますが、活躍している女性も結構います。TDFのBoard of Directors議長のマリーナや、TDFのスタッフでコミュニティの古参メンバーでもあるソフィー、CIBの開発者のカタリナ(そういえば今年はカタリナを見かけたなったです)、Membership Committeeメンバで今回のローカルスタッフでもあるヨナなどはパッと思い出しましたが、他にも大勢います。Cathyのカンファレンスについての記事も公開されています。

f:id:shinji_enoki:20180928160145j:plain
アメリカから初参加のCathyのLT
f:id:shinji_enoki:20180928162917j:plain
LTでルビでの挑戦について説明する台湾から参加の開発者Mark Hung。彼はCJKバグをよく修正してくれています

金曜の最後、LibreOfficeの誕生日をお祝いしてカンファレンスを締めくくりました。大きなケーキをカットして、みんな食べながら雑談して、三々五々帰っていきました。2010年9月末にOpenOffice.orgからフォークしてから8年。毎年この時期にカンファレンスを開催することを目指しているようで、いつもカンファレンスでお祝いしている記憶があります。その後、時間がある人たちとカフェ、レストラン、バー(みんな集まってるらしいと聞いて合流)と行ったので宿に戻ったのは日付が変わっていました。

f:id:shinji_enoki:20180928171525j:plain
ヨナがLibreOfficeのバースディケーキを運んでるところ
f:id:shinji_enoki:20180928180959j:plain
カンファレンスが終わって。左からQAをやっているraal(チェコ)、インフラスタッフのGuilhem、リリーススタッフのCloph(ドイツ)、Muhammet(トルコ)

f:id:shinji_enoki:20180928204752j:plain
時間があったメンバと晩御飯へ

カンファレンス翌日のシティツアー

カンファレンスでは翌日に街をめぐるツアーをしてくれることもあります。翌日の土曜日に街の南の方に集合して、午前中街歩きをしました。ローカルスタッフのRedon Skikuliが所々で説明してくれました。ピザ屋でランチして解散でした。

f:id:shinji_enoki:20180929110838j:plain
みんなで街歩き。Redonが説明してくれるのを聞いているところ
f:id:shinji_enoki:20180929102546j:plain
かつて大量につくられたらしいトーチカ

f:id:shinji_enoki:20180929111926j:plain
日本人が作ったという謎のモニュメント。ジャングルジムっぽいです

f:id:shinji_enoki:20180929113056j:plain
このあたりだけカラフルな建物が並んでます

f:id:shinji_enoki:20180929124344j:plain
お昼を食べたい人は残って、ピザを食べて解散。

ベラトにも行きました

余談ですが、9/30(日)-10/1(月)の予定を入れていなかったので、南の方の街ベラトに1泊してきました。ベラト城を夕方にのんびり散歩しました。住んでいる人もいてお店などをやっています。坂を登るのでいい運動になりました。旧市街の古い町並みの中にある宿Ana’s Rest Houseに泊まりました。小さな街ですが、城の展望台や朝食時の宿のテラスからの雰囲気はよかったです。鉄道がないので、長距離バスで移動しました。

f:id:shinji_enoki:20180930173320j:plain
ベラト城の展望台から
f:id:shinji_enoki:20180930173250j:plain
これも展望台から
f:id:shinji_enoki:20180930155232j:plain
宿の前の小路
f:id:shinji_enoki:20181001121915j:plain
橋からベラト城方面をみたところ。窓がたくさんあるのがこの街の特徴らしいです

来年のLibreOffice Conferenceはスペインのアルメリアだそうです。スペインは行ったこともないですし楽しみです。

LibreOfficeを使うときに知っていると便利な7つのこと

LibreOfficeは豊富な機能を持ったソフトウェアで、全部を使いこなしている人はいないだろうと思います。この記事では、私が知っていると役立ちそうと考えたLibreOfficeの7つのことを紹介します。 1つ1つは基本的なことですが、これを全部やるのとやらないのでは便利さはだいぶん違ってくると感じています。ブース出展や勉強会でお話していると全部は知らなかったという方も多いので、費用対効果の高そうなものから選んでみました。

この記事はLibreOffice Advent Calendar 2018 の2日目です。1日目は小笠原さんの「LibreOffice Conference 2018 Tirana 裏レポート」でした。

目次

  1. スタイルを使いこなす
  2. サイドバーで設定をする
  3. Impress:マスタースライドで複数スライドで共通部分を作る
  4. Impress:アウトラインモードで編集する
  5. Drawで図形を描いて、Writerなどにコピペする
  6. ヘルプを検索する
  7. LibreOffice onlineと役割分担する

1. スタイルを使いこなす

スタイルとは、文書での見た目の部分についてまとめて設定する仕組みです。Webでスタイルシートと呼ばれているものと同じです。たとえば、各段落に対してフォントの種類やフォントサイズを直接指定した場合、段落の数が多いと設定や変更が大変です。多くの場合は書式がバラバラになってしまい読みにくいものになります。そこでスタイルに書式を設定しておいて、段落などに対してそのスタイルを指定することで楽にミスも少なく編集できます。中身のコンテンツと見た目の設定を分離するという文書の構造化という考え方があり、LibreOfficeだけでなくオフィス系のソフトウェアはだいたいそれにそって作られています。

LibreOfficeでは、どのアプリケーションでもスタイルを使うことが前提になっています。スタイルを使っていなければ使えない機能もあります。例えば、Writerではページの設定はページスタイルで行いますし、見出しスタイルを使うことで、目次を自動生成&自動更新したり、ナビゲータで移動できます。Calcでは条件付き書式設定でスタイルを使っています。

Writerでは6種類のスタイルがありますが、基本は「段落スタイル」と「ページスタイル」で、この2つを使いこなせれば十分だと思います。スタイルの使い方については、野方さんの第6回関西LibreOffice勉強会のスライド「スタイルを使ってレイアウトをかっちり決めよう」も参考になるでしょう。

Calcでは「セルスタイル」と「ページスタイル」の2つのみです。合計の列を色を付けておくなど、セルスタイルで定義しておくと便利です。

f:id:shinji_enoki:20181203005531p:plain
去年のカンファレンスレポート記事の原稿でスタイルを使っている図。今見たら、最初の段落に適用するスタイルは、見出し1でなくてタイトルの方がよかったですね...

2. サイドバーで設定する

LibreOfficeでは、右側にサイドバーがあります。ここで様々な設定ができて便利です。私はサイドバーを使い始めてからは、メニューやツールバーのボタンを使うことが劇的に少なくなりました。Writerの場合、「プロパティ」「ページ」「スタイル」「ギャラリー」「ナビゲータ」の5つを切り替えることが出来ます。「プロパティ」は、文章やオブジェクトなど現在選択しているものによって、設定項目が自動的に切り替わってくれてとても便利です。「スタイル」では先ほど説明したスタイルを設定します。CalcやImpressなどでもWriter同様、サイドバーを使うと便利です。また、サイドバー自体は表示/非表示を切り替えることもできます。

f:id:shinji_enoki:20181203005537p:plain
サイドバーを表示させているところ。文章入力モードなのでフォントなどのプロパティが出ています

3. Impress:マスタースライドで複数スライドで共通部分を作る

Impressで発表資料を作る場合には、ヘッダーやフッター、背景、スライドタイトルの位置など、各スライドの内容は統一することが多いと思います。その統一的な設定を「マスタースライド」で設定しておくと便利です。一括して設定/変更する時に威力を発揮します。

マスタースライドを設定したい場合は、メニューから[表示]-[マスタースライド]を選択して呼び出します。標準モードに戻るには、メニューから[表示]-[標準]を選択するか、ツールバーで[マスター表示を閉じる]ボタンをクリックします。

スライドに適用したい場合は、サイドバーの「マスタースライド」を選択し、使いたいものをクリックします。その時に右クリックから全部のスライドに適用することも出来ます。

f:id:shinji_enoki:20181203011357p:plain
マスタースライド画面(LibreOffice Conference 2018の発表者用テンプレート)

4. Impress:アウトラインモードで編集する

発表資料を箇条書き主体で作るケースには、アウトラインモードが威力を発揮します。レベルの上げ下げで、スライドタイトルにしたりスライドの中身に変えたりもできます。また、順番を入れ替えることも容易です。私はテキストエディタで箇条書きでスライドタイトルを並べていって、そこからImpressにコピペしてアウトラインモードで追記、調整することもあります。

アウトラインモードに切り替えるには、メニューから[表示]-[アウトライン]を選択します。

f:id:shinji_enoki:20181203012444p:plain
アウトラインモードでみたところ

5. Drawで図形を描いて、Writerなどにコピペする

Writerなどでは図形を組み合わせて描いていると、図形が変なところにずれたり図形の配置を簡単に揃えられなかったりします。図形を描くにはDrawが適しているため、Drawで描いてコピペで他のアプリに貼り付けると便利です。今後も図形をメンテナスしそうな場合はコピペ元した後に、Draw形式で保存しておくといいでしょう。Drawでは(Impressでも)ツールバーの「配置」ボタンを使って簡単に配置を揃えることができます。

6. ヘルプを検索する

メニューなどにある知らない機能を調べたい場合や、操作方法が思い出せない場合にはヘルプが参考になります。LibreOfficeでは基本的には全機能についてヘルプを作ろうとしています。たまに開発者が忘れていたためかヘルプがないこともありますが、多くの場合ではあります。組み込まれているヘルプを見るほかに、同じ内容がWebサイトにもありますので、Webの検索エンジンで調べる手もあります。

7. LibreOffice onlineと役割分担する

これは基本的な話ではないかもしれませんが、便利なので紹介します。LibreOfficeではWebブラウザで編集するオンライン版があります。品質面や機能面では完成されていませんが、割り切れば使えるレベルになってきました。ブラウザでみれるので、PCだけでなく、スマートフォンタブレットでチェックすることも出来ます。同時編集機能があり、議論しながら一緒に編集したいときには便利です。

LibreOfficeのデスクトップ版がバックエンドで動くので、デスクトップ版と基本的に表示は同じです。このように、GoogleDocsなどと根本的に思想が違うので、使い方も違ってきます。普段はデスクトップ版でファイルを作成・更新し、Nextcloudなどでファイルを自動で同期しておきます。他の人にチェックしてもらったり加筆修正をして欲しい時など、コラボレーションしたい時のみオンライン版を使うと便利です。

構築手順はLibreOffice kaigi 2018での村上さんの発表資料「LibreOffice Online 環境の構築 2018年版」も参考になると思います。

以上、7つを紹介しました。もし参考になる情報があればうれしいです。 明日のLibreOffice Advent Calendar 2018は荒川さんの「OfficeとWebAPIの未来」です。楽しみです。

関西オープンフォーラム2018に参加しました

2018年11月9日(金)-10日(土)に大阪南港 ATCで開催された関西オープンフォーラム2018に参加しました。関西のオープンソースやITコミュニティが年1回集まるイベントで、今回で17回目になります。 オープンソースカンファレンスが京都と大阪で開催されるようになりましたので、オープンソースコミュニティについては年3回集まるともいえます。私はKOFの実行委員ではありますが、ブース要員の方が手薄なので、LibreOffice日本語チームと日本UNIXユーザ会のブース番をしました。アイクラフトのブースも関わっていますがそちらは他の人にお任せしていました。

f:id:shinji_enoki:20181110132944j:plainLibreOffice日本語チームブースの様子)

jusブースでは歴代会長を展示するという企画で、いろんな幹事が交代で番をしていました。古い機関紙やUNIXをコピーにつかっていたテープなども展示していました。1984年ごろの機関紙/etc/wallの創刊号に載っている逸話などを砂原先生から聞いたりして面白かったです。展示会で各社の実機があったので、その場でパフォーマンステストのプログラムを書いて、実行させてもらって比較して記事をかいたそうです。

セミナー企画では、アイクラフト枠でアフリカ人インターン3名がLibreOfficeについてのセッションを行いました。私はメンターとしてスライドをレビューとディオドネのスライドの日本語翻訳をしました。少し心配していましたが、3人とも堂々と落ち着いて話していてよかったです。ショーケース4の小さい部屋でしたが14名ほど(身内も何名かいましたが)来てくれました。

f:id:shinji_enoki:20181110143045j:plain(ディオドネのトーク中の様子)

続いて、LibreOffice日本語チームの枠では、近藤さんから「超珍グラフで学ぶ!図解表現のアンチパターン」と題した発表がありました。前半はLibreOfficeを導入する際のチェンジマネジメントについての話で、後半がチャートについてのアンチパターンでした。3Dグラフや縦軸のないグラフなどいくつかごまかし方のテクニックが紹介されました。奥村先生が時々指摘されているネタに近かったです。 サンプルを作るだけでも心が痛かったそうです。こういったごまかしを知って騙されないようにすると共に、自分では作らないようにしましょうというお話でした。

f:id:shinji_enoki:20181110153300j:plainLibreOffice日本語チームの近藤さんのトークの様子)

日本UNIXユーザ会(jus)は法林さんによる「平成生まれのためのUNIX&IT歴史講座 〜1990年代前半編〜」と題した発表でした。砂原秀樹さん、齊藤明紀さんというjus幹事をゲストに迎えてコメントを挟むスタイルで盛り上がりました。商用インターネット接続がなかった時代で、ネットワーク相互接続のためのUNIX Fairというイベントを行ったりしていたそうです。また、この時代は標準化が進んだ時代だそうです。いろいろ試してみることが重要で、試したものが生き残らなくても無駄ではないとのことでした。今の時代もAIなど混沌としていてこの時代に近いかもしれないとのお話もありました。

f:id:shinji_enoki:20181110160530j:plain(jusのセッションの様子)

また、ステージ企画といって、ブースエリアでの15分間のミニセミナーでは、アイクラフトの村上さんが今年9月にアルバニアで開催されたLibreOffice Conference 2018の報告をしてくれました。機内ビデオが凝っていたとか、小ネタを挟んだお話でした。(カンファレンスの様子については日経XTECHの記事もご覧ください)

KOFでは基本的にコミュニティや企業が自主的にセミナー企画を行います。今年も面白そうなお話がたくさんありましたが、ブース番などで動けずに見逃して残念でした。唯一聞きにいけたのは、平見知久さんによる「OSSで運用管理 〜インシデント管理・構成管理ツールOTRSとその界隈〜」でした。OTRSは問い合わせ管理などのチケットシステムとしては歴史があり、豊富な機能を備えています。ITILのどの部分をカバーしているかや、他のOSSの問い合わせ管理システムの紹介もありました。OTRSは次期バージョンからオープンソース版はしばらくリリースされないとのことで、利用するなら今のバージョンを使い続けることになりそうです。

実行委員会から講演をお願いしているセッションもあります。基調講演のようなものですが、毎年5−6個あるので講演会という名前をつけています。今年は6つありどれも面白そうでした。 若林健一さんの「CoderDojoの経験からみたコミュニティの未来」は私がいつも気にしているコミュニティをどう発展継続させるかというお話だったようです。楠正憲さんの「仮想通貨とブロックチェーン」はとても気になっていました。「保護者を巻き込んで情報モラル等を考えてみた」も大変盛り上がったようです。私はどの講演会も見に行く余裕がありませんでしたがあとでYoutubeに録画が公開される予定ですので、それを楽しみに待ちたいと思います。

f:id:shinji_enoki:20181109183018j:plain(金曜日の夜に行われた懇親会の乾杯の様子)

今年も様々なコミュニティや企業が集まって盛り上がりました。2日間で1000人くらいではないかとのことでした。参加者が減少傾向ですので今年はテコ入れしたかったのですがそこはうまくいきませんでした。実行委員が忙しい人がおおくて、準備が後手に回りがちでした。来年は早めに手を打って巻き返しをしたいと思います。

次はLibreOffice日本語チームや日本UNIXユーザ会として、関西では2019年1月のオープンソースカンファレンス大阪に参加します。また、他の地域では12月のオープンソースカンファレンス福岡にも参加します。

The Document Foundationの運営の仕組みについてのメモ

LibreOfficeを支える団体であるThe Document Foundation(以下TDF)のメンバシップコミッティー選挙がありました。私もTDFメンバなので投票する権利があるのですが、投票する前に規約などを読み返したのでメモしておきます。間違っていれば指摘いただけるとありがたいです。

TDFはLibreOfficeコミュニティを支えるために、LibreOfficeコミュニティのメンバによって設立された非営利団体です。ベルリンに拠点を起き、ドイツの法律に基づいた法人です。

以下に簡単にメモを書きますが、詳細はTDFの規約を参照ください。

TDFは、規約上は、Board of Directors(以下BoD)、Board of Trustees(TDFのメンバのこと)、Membership Committee(メンバシップコミッティー)の3つからなっています。

Board of Directors(BoD)

BoDは、理事会や取締役会と言うべきもので、ガバナンス上の意思決定を行います。お金などの資源管理、予算や会計、年次報告の作成などに責任を持ちます。もちろんBoDメンバが個々のタスクを行うという意味ではないです。LibreOfficeのイベントをやるときにスピーカーなどの旅費申請をすることがありますが、ここが承認します。一方で技術的なことにはタッチしません。技術面はEngineering Steering Committeeで決定します。TDFのメンバであれば立候補でき、、TDFメンバによる投票で選ばれます。任期は2年です。7名のメンバと3名のDeputies(代理人?)からなります。

どうでもいい話ですが、ここにプロフィールが書いてあって便利です。Marina(マリーナ)がStudio StortiからCIBに転職したことにいまごろ気が付きました。だいぶ前にミュンヘンに引越ししたので転職したんだ、とは思ってましたが。 f:id:shinji_enoki:20180905010829j:plainLibreOffice Conference 2017, Rome ItalyでBoard of Directorsメンバが紹介されているところ。立っている人がBoDメンバですが、なぜかマリーナだけ右端に座ってます)

Board of Trustees

Board of TrusteesはTDFのメンバを指しています。入会資格は誰にでもあります。入会の条件としてはTDFの目標に向けて検証可能な活動を3ヶ月以上した人で、今後最低6ヶ月以上活動する意志がある人です。もちろん、礼儀正しさや寛容さ、オープンな精神は求められます。運用上、活動を確認できる2名以上のTDFメンバ(ある種の推薦者だけど、確認できればOKのよう)か別の確認方法が必要だったと思います。メンバシップは毎年更新され、どんな活動をしたのか、どんな活動をするつもりなのかを毎度聞かれます。Webのメンバリストを数えると195名います。ただしこのリストは3ヶ月に1回程度しか更新されません。

Membership Committee

Membership Committeeは会員の入会や継続の手続きを行うことと、BoDの選挙管理を行います。もめた時にBoDの弾劾も出来るようです。TDFのメンバであれば立候補でき、TDFメンバによる投票で選ばれます。任期は2年です。3人以上の奇数人数で構成され、TDFメンバの10%が人数の上限です。Executive Boardが選挙管理するそうです(Executive Boardって?BoDが選挙管理するはず)。BoDほど忙しくはなさそうですが、これも重要な役割です。そういえば、会員更新手続きを忘れていた時に、更新しないの?とMCのメンバがSNSで聞いてくれたことがありました。

Advisory Board

Advisory Boardという機関もあり、名前の通りアドバイスや提案するためのグループです。決められた金額の年間寄付をした組織と、他のFLOSSコミュニティで構成されています(たぶん他のFLOSSコミュニティからは寄付は受けてないと想像していますが、調べていません)。TDFの収入は、個人からの寄付と、このAdvisory Boardメンバ組織の寄付からなります。組織の規模によって金額が違います。また、雇用している認定LibreOffice開発者によっても金額が違ったと思いますが、今は金額を見つけられませんでした。

特定の組織による支配をさけるため、BoDやMembership Committee、Advisory Boardは、同じ組織に雇用されている人は1/3までというルールもあるようです。

もう情報が古いのですが、TDFの組織というページもあります。

BoDやMembership Committeeの選挙システム

候補者を1人選ぶのではなく、複数人に投票できるMeekメソッドを利用しています。(Wikipedia:単記移譲式投票) 今回のMembership Committee選挙だと10名の候補者に対して、最大9名まで投票することが出来るようになってました。少なくても5名は必要で、最大4名のDeputiesが選ばれるそうです。いまいち人数をどう計算しているのか理解できていません。 投票するには、TDFメンバ向けに送られてきたメールにしたがって、投票用のWebサイトにアクセスしてメールアドレスと投票トークンを入れて認証します。投票時には、選んだ順番も意味がありそうですが、アルゴリズムを理解しきれてないです。Gnome Foundationの投票システムを使わせてもらっているようです。

TDFメンバになる方法

申請フォームから申請します。継続的に活動している人であれば、どんな貢献をしたか、それを確認できるアカウント名などをちゃんと書けばOKです。日本人は4名しかしないのですが、活動していているのに申請していない人が多いことが理由です。ちょっと面倒かもしれませんが、活動しているならメンバになってもらえるとうれしいです。

f:id:shinji_enoki:20180905010831j:plain (おまけ。LibreOffice Conference 2017, Rome ItalyでTDFスタッフが紹介されているところ)

今年の日本でのLibreOfficeイベントを振り返る(2017)

今年も日本でいろいろなLibreOfficeイベントがありました。何をやって、どうだったかを振り返って今後を考えてみます。

2015年に振り返ってみたことがありました。 この記事はだいぶん遅くなりましたが、LibreOffice Advent Calendar 2017の11日目です。

今年のイベントサマリ

日本でのイベント一覧をTDF Wikiからチェックします。 今までで30回、後予定は2つなので32回になりそうです。2015年は46回でしたのでやや控えめでした。

種類 内容 合計
勉強会 浜名湖1回、関西1回 2
Hackfest 関東2回、名古屋1回、関西2回(分野別だと、バグハンティング4、いろいろ1) 5
OSSイベントへの出展・セミナー OSC11回、KOF1回 12
LibreOfficeの日 関西12回 12
その他 LibreOffice mini conf 2017 1

日本でLibreOfficeでイベントに関わるメンバは数名ですので、数としてはそこそこだとは思います。10月にLibreOffice mini conf 2017を開催できたのはよかったです。openSUSE.Asia Summit 2017の中での開催したのですが、LibreOfficeとしても台湾やインドネシアのスピーカーもいて、アジアカンファレンスっぽい形で開催できました。openSUSE.Asia Summitの方のスタッフとしても小笠原さんや近藤さんともに私も参加し、ビザのサポートやスポンサー獲得、ハラルフード対応など今まで未経験だったところの知見も得られました。

OSCKOFへのブース・セミナーはペースを維持しました。日本語チームメンバーの大森さんが、ブースコンテナを送ってくださるのでありがたいです。他のメンバや他のOSSコミュニティとも交流できるので比較的モチベーションも維持しやすいかなと思っています。

また、LibreOfficeの日は毎月第3水曜日にコワーキング・スペースに集まるだけのスタイルですので、リズムがあって特に負担がない点も大きいです。ただ、参加者はほとんどいないことが多くて、他の参加者にとっては魅力に欠けているのかもしれません。

一方、ユーザーよりのナレッジを貯める勉強会や手を動かすhackfestは減りました。定期開催でないために一度リズムが崩れるとついついできないのが課題です。後半にLibreOffice mini conf 2017で手いっぱいになったり、その後休憩モードに入った影響もあるかと思います。

イベント種類と目的

これも2015年からあまり変わってはいませんが、個人的に以下のように考えています。

  • 勉強会/オフラインミーティング
    • 平日夜もしくは、休日午後に集まってスピーカーを立てるセミナースタイルが多い。懇親会セットのケースが多い
    • 使い方のノウハウや情報の交換
    • 公開スライドによる情報の蓄積
    • 地域のユーザーコミュニティの形成。そこへ行けば聞ける場所にすること
  • Hackfest
    • 休日に集まって一緒にコミュニティの作業を行う
    • ベータ版やリリース候補をテストするバグハンティングが中心だった
    • 新しい人や普段やっていない活動に取り組みたい人をフォローする:ここは新しい参加者を呼び込めていないです
    • ノウハウを互いに伝授する
    • コミュニケーションの場
    • 作業効率アップ、モチベーションの維持:互いにバグを確認し合うなどすると楽
  • オープンソースカンファレンスなどOSSイベント
  • LibreOfficeの日

    • 毎月第3水曜日にコワーキングスペースに行く日を決めて、集まる場にする
    • 出入り自由(各自でコワーキング利用料を負担)でゆるい感じ
    • OSMと同日開催のことが多いです。
    • 地域のLibreOfficeコミュニティの形成。LibreOfficeに興味がある人が定期的に集まれる場にする
    • LibreOfficeについてそこに行けば相談や質問できる場を作る
  • LibreOffice mini conference/ kaigi

    • 日本でのLibreOfficeに興味がある人が集まって交流と情報交換をする
    • 小笠原さんからは、mini confをアジアカンファレンス、kaigiを日本のカンファレンスという使い分けをしていこう提案です

今後に向けて

LibreOffice kaigiを来年6月くらいまでにできればとは考えています。 また、新しく関わってくれる人をサポートするためにも、メンタリング中心で手を動かすhackfestのようなものをやってみたいと考えています。定例化できておらず、ついつい後回しになりがちですが..。OSS Gateの大阪でも平日夜にテーマ別にやろうという話があるので(Reactの予定)、私もLibreOfficeネタでもやってみることも考えています。

関西オープンフォーラム2017にLibreOfficeやjusで参加しました

2017年11月10日(金)-11日(土)に大阪南港ATCで開催された関西オープンフォーラム2017に参加しました。毎年11月に関西のオープンソースコミュニティやITコミュニティが集まるイベントです。今年で16回目で、私は1年目からボランティアスタッフ、2006年から実行委員ですが、最近は実行委員としてはあまり動けていません。

最近参加者は減少傾向ですが、それでも2日間で約1200名が集まったそうです。私はLibreOffice日本語チーム、日本UNIXユーザ会、アイクラフトの3つのブースを掛け持ちでした。アイクラフトブースだけはメンバが多ので任せていました。土曜日には4つのセミナーに関わりました。

f:id:shinji_enoki:20171111120022j:plain jusブース番に投入される砂原先生と援軍くださった中野先生

f:id:shinji_enoki:20171110172843j:plain LibreOffice日本語チームブースの近藤さんと、右奥はアイクラフトブース

関わったセミナーについて

イクラフト:エチオピアでのLibreOffice事情/QA・翻訳方法

アイクラフト枠でLibreOfficeインターンの2名から「エチオピアでのLibreOffice事情/QA・翻訳方法」の発表があり、メンターとして企画や申込、スライドのレビューや日本語翻訳のサポートをしました。エチオピアでのオープンソースの状況などはあまり日本で情報がないので面白かったと思います。QAと翻訳については、情報が整理されてよかったです。

オープンデータ京都実践会:「Wikimania 2017 / State of the Map 2017 参加報告」2大オープンデータコミュニティの国際会議って?

オープンデータ京都実践会枠では、Miya.mさんと瀧口典子さんから「Wikimania 2017 / State of the Map 2017 参加報告」2大オープンデータコミュニティの国際会議って?があり申込などを担当しました。WikimaniaというWikipediaや姉妹プロジェクトを含めた国際会議について、モントリオールやそれ以前のの様子は、懇親会では断片的に伺ってましたが、雰囲気が分かって興味深かったです。OpenStreetMapの国際会議であるSotMについては、今年は会津若松市でしたので私も参加しましたが、マッパーとしてアクティブな立場からのお話で楽しそうでした。

日本UNIXユーザ会:jus研究会大阪大会「ITコミュニティの運営を考える」

日本UNIXユーザ会枠では各地のOSCでも行っているITコミュニティ運営に関するセッションで、法林さんと共に参加者全員とのラウンドテーブルを行いました。10人を2グループに分かれてディスカッションしました。私の参加したグループでは、コミュニティをどうやって探せばよいかはなかなか難しいという話や、コミュニティで上手くやっていくためにはボードゲームのようなものの経験も有効では?、などの話題も出ました。

LibreOffice日本語チーム:Drawをもっと使いこなそう / LibreOffice Conference 2017 Italy 参加報告

LibreOffice枠では、近藤さんと半分ずつの担当で、近藤さんからはDrawをどのように活動していくかについて、私は10月に行われたローマでのLibreOfficeカンファレンスについて写真を中心にお話しました。

ブースやその他感想

LILO東海道らぐ、DebianNetBSDなどおなじみなところも多いですが、大阪府警やPulse CMS、アトラシアン株式会社、Gyazo Teamsといった普段なかなかお会いしないところも出展されていました。また学生ブースも大阪情報コンピュータ専門学校ITcreate部なども出されていて面白かったです。 今回もロボットプロレスも行われていて、遠くからでも盛り上がっていそうな雰囲気は感じました。

岡本真さんの「Gov 2.0としてのオープンデータ-民主主義と知識創造の基盤としての文化機関を拓くということ」や、上原哲太郎さんの「ネ申Excelと事務情報化」など面白そうな講演もたくさんあったのですが、余裕がなくて聞けなかったのは残念です。ビデオ公開が予定されているようですので、後で見たいと思います。

ステージの模様などもYoutubeに上がっています。また実行委員の小山さんによるイベント風景の写真もあります。

懇親会や、土曜日の片付けの後の打ち上げも盛り上がりました。個人的にはスライドなどの準備が間に合ってなかったなどはありますが、無事に終わってよかったです。

LibreOffice OnlineをDebian jessieでビルドしてみました。

LibreOffice Online(LOOL)がバージョンアップして良くなってきています。オープンソースカンファレンス2017 Tokyo/Fallのブースでデモをしようと思って、手元のDebian jessieでビルドしてみましたので、メモを残しておきます。

去年8月にも同様の記事(LibreOffice onlineをDebianでビルドしてみました)を書いていますが、手順が一部変わっています。

また、LibreOffice Online導入手順 2017年4月版 - LibrePC from iCRAFTCentOS版ですが、基本的にDebianと手順は同じでした。

以下のwsdのREADMEに沿って進め、必要に応じてloleafletのREADMEも参照します。

LibreOfficeのビルド

LibreOfficeソースコードを取得

$ git clone --depth=1 git://anongit.freedesktop.org/libreoffice/core libreoffice

ビルドに必要なパッケージをインストール(前回やっていたので不要)

$ sudo aptitude update
$ sudo aptitude safe-upgrade 
$ sudo aptitude build-dep libreoffice

ビルド

通常手元のレッツノートCF-N10(メモリ12GB,SSDに換装)だと4時間台で終わるのですが、途中他の作業していましたので6時間半くらいかかりました。

$ cd libreoffice
$ ./autogen.sh --with-lang="ja"
* WARNING : no suitable nasm (Netwide Assembler) found for internal jpeg-turbo
$ make

pocoのインストール

/opt/poco以下にmakeしてインストールしてもよいのですが、その場合はwsdの./configureで指定する必要があります。 今回はそのことを忘れていてエラーになったので、パッケージを入れました。

$ sudo vi /etc/apt/sources.list で以下を追記
 deb https://www.collaboraoffice.com/apt-poco/ /
$ sudo aptitude update
$ sudo aptitude install libpoco-dev

LOOLのビルドと設定

作業ユーザのhomeにgit cloneしてきた場合で指定しています

$ git clone git://anongit.freedesktop.org/libreoffice/online
$ cd online/
$ libtoolize
$ aclocal
$ automake --add-missing
$ autoreconf
$ autoheader
$  ./configure --enable-silent-rules --with-lokit-path=/home/ユーザ名/libreoffice/include --with-lo-path=/home/ユーザ名/libreoffice/instdir --enable-debug
$ sudo mkdir /etc/loolwsd
$ sudo cp etc/* /etc/loolwsd
sudo mkdir -p /usr/local/var/cache/loolwsd
↑今回はすでにあったのを削除して再作成しました
$ sudo chown eno. /usr/local/var/cache/loolwsd
↑作業ユーザ名. に読み替え
$ make run

npm installなどが走るのですが、途中でエラーになりました。

touch node_modules
Traceback (most recent call last):
  File "util/po2json.py", line 9, in 
    import polib
ImportError: No module named polib
Makefile:481: recipe for target 'dist/l10n/help-en_AU.json' failed
make[2]: *** [dist/l10n/help-en_AU.json] Error 1
make[2]: Leaving directory '/home/eno/2_code/LibreOffice_code/online/loleaflet'
Makefile:1720: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/eno/2_code/LibreOffice_code/online'
Makefile:732: recipe for target 'all' failed
make: *** [all] Error 2

python-polibパッケージをインストールしてみるといけました。

$ sudo aptitude install python-polib
$ make run

これでできました。起動したメッセージにしたがってブラウザでアクセスします。/opt/tmp/test.odsにファイルを置いていたので、以下のようにアクセスしました。LOOLの起動も1回目は意外に時間がかかりますが、2回目からは早くなります。

https://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///opt/tmp/test.ods&host=wss://localhost:9980

補足

前回の時にLOOLのビルドで必要だった"libtool","libcap-dev", "nodejs", "npm"がインストールが必要かもしれません(今回はインストールされているのでわかりません。)

$ sudo aptitude install libtool libcap-dev nodejs node-jake node-uglify npm
$ sudo npm install -g npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node

また、LibreOfficeのビルドですが、git pullしてmakeするとエラーになったので、上記手順のようにソースを取得しなしました。

$ git pull
$ ./autogen.sh --with-lang="ja"
* WARNING : no suitable nasm (Netwide Assembler) found for internal jpeg-turbo
$ make
[build LNK] StaticLibrary/libcodemaker_cpp.a
/home/eno/2_code/LibreOffice_code/libreoffice/workdir/CxxObject/store/source/store.o: 関数 `store_openDirectory' 内:
store.cxx:(.text+0x814): `store::OStoreDirectory_Impl::create(store::OStorePageManager*, _rtl_String*, _rtl_String*, storeAccessMode)' に対する定義されていない参照です
/home/eno/2_code/LibreOffice_code/libreoffice/workdir/CxxObject/store/source/store.o: 関数 `store_openStream' 内:
store.cxx:(.text+0xd34): `store::OStoreLockBytes::create(store::OStorePageManager*, _rtl_String*, _rtl_String*, storeAccessMode)' に対する定義されていない参照です
collect2: error: ld returned 1 exit status
/home/eno/2_code/LibreOffice_code/libreoffice/store/Library_store.mk:10: recipe for target '/home/eno/2_code/LibreOffice_code/libreoffice/instdir/program/libstorelo.so' failed
make[1]: *** [/home/eno/2_code/LibreOffice_code/libreoffice/instdir/program/libstorelo.so] Error 1
make[1]: *** 未完了のジョブを待っています....
Makefile:266: recipe for target 'build' failed
make: *** [build] Error 2
$ make clean
$ ./autogen.sh --with-lang="ja"
$ make
でも再度エラーになりました。