Shinji Enoki's blog

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
でも再度エラーになりました。

オープンソースカンファレンス2017Kyotoに参加しました

すっかりブログをサボっていましたが、8月4日(金)5日(土)に京都リサーチパークで開催されたオープンソースカンファレンス2017 Kyoto に参加したことを自分の記録用にメモしておきます。

2日間の延べ人数で約750人だったそうです。いつもOSC京都は暑いのですが、今年も暑かったです。ただ、台風が近づいていて逆に少し暑さはマシだったかもしれません。2日目の夕方にはスコールのような雨もきました。

2日間、LibreOffice日本語チームブースだけでなく日本UNIXユーザ会ブースやアイクラフトブースの番もしました。LibreOfficeブースは小笠原さん、近藤さん、jusブースは法林さん、内山さん(土のみ)という編成で、私はjusブースにいる時間が長かったように思います。かずひこさんがひょこっと寄ってくださったり、久しぶりに前田青也さんにお会いしたり、懐かしい方ともお話できてよかったです。

f:id:shinji_enoki:20170804161251j:plain f:id:shinji_enoki:20170804133814j:plain

アイクラフトブースなどの様子はLibrePCブログに書きました。

セミナーでは日本UNIXユーザ会ではいつもお馴染みの「ITコミュニティ運営」について参加者のみなさんとグループ・ディスカッションしました。3つのグループに別れて盛り上がりました。LibreOfficeは予定していた方がお仕事で不参加となり、代わりに私が最近のLibreOfficeの状況についてお話しました。

f:id:shinji_enoki:20170805172757j:plain (OSC京都のラスト、LT大会の様子)

今年も2泊ともギークハウスに泊まりました。1日目は大人しく日付がかわる前に寝ましたが、2日目はおしゃべりしていたら2時半くらいになっていたような記憶があります。 1日目の晩御飯はUbuntuの人たちと一緒に、OSC京都恒例のだいこんの花へ行きました。2日目はOSCの懇親会の後、ギークハウスでまったり宴会していました。

f:id:shinji_enoki:20170804175950j:plainだいこんの花のメニュー)

翌日はopenSUSE Leap 42.3 Release Party Kyoto & もくもく会に参加して夕方に帰りました。今年のLibreOffice mini confはopenSUSE asia summit 2017と一緒に開催するのですが、そのイベントについて相談などをしていました。(まだCfPを出せていないのでブログを書いているより、そちらを出すべきなのですが) f:id:shinji_enoki:20170806135157j:plain

LibreOfficeを組織に導入する時の参考リンク一覧

LibreOfficeを導入する際に参考になる情報はどこにありますか?と聞かれることが時々ありますので、主なものを拾ってみました。 このエントリーはLibreOffice Advent Calendar 2016の2日目のものです(すっかり遅くなりました)。(2016/12/23にFAQとサポートベンダを追記)

LibreOfficeへの移行について

LibreOffice移行ガイド:PDF

  • TDFからの公式ドキュメントです。ドイツ・ミュンヘン市やイタリアのウンブリア州などの事例を元に作られたものです。イタリア国防省の12万台の移行もこれに沿って行われているそうです。残念ながら英語版しかありません。私が関わっているアイクラフトで翻訳を途中までしていますので、そのうち公開できればと思います。

移行ガイドの解説スライド:PDF

  • LibreOffice Conference 2016でLibreOffice移行ガイドの解説セッションがありましたが、その時のものです。図が入っていて少しわかりやすいです。

TDFのホワイトペーパー(日本語訳)

  • 上記の移行ガイドと内容は一部同じですが、小笠原さんによる翻訳があります。

JA福岡市の渡辺さんによるスライド

会津若松市「リブレオフィス導入までの経過」

ODPG「OSSオフィスソフト導入ガイド2016年度版」

  • ODGPは解散していますが2017年9月まではWebサイトは維持されるようです。Microsoft Officeの出来るシリーズをみて、どこまでLibreOfficeで対応しているのかを調査していたり、日本での導入事例も載っています。

パドラック LibreOffice サポートページ

導入事例

LibreOfficeの導入事例 - The Document Foundation Wiki

  • 日本での導入事例の一覧です。公開されていないものや、追いきれていないものもありますので、有名なものしか拾えていません。

海外の導入事例:LibreOffice Migrations - The Document Foundation Wiki

  • 最近ではイタリア国防省での12万台の移行中の事例が有名ですが、ヨーロッパを中心に数多く導入されています。Linuxデスクトップへの移行とセットになっていることも多いです。

LibreOfficeに関するニュース記事 - The Document Foundation Wiki

  • Webで見かけたLibreOffice関連のニュースのリンク集です。(一部しか拾えていません)

操作マニュアル

JA福岡市のマニュアル

公式マニュアル

  • 英語マニュアルがあります。Getting Startedや各アプリケーションごとにマニュアルがあります。機能を1つずつ説明されています。

FAQや質問

メーリングリスト

  • 日本語のメーリングリストは3つあります。コミュニティでのコミュニケーションの主要な手段がメーリングリストですので、ここをウォッチしておいたり、参加することも役にたちます。
  • https://ja.libreoffice.org/get-help/mailing-lists/
    • announce@ja.libreoffice.org: 新バージョン情報などのアナウンス用
    • discuss@ja.libreoffice.org: コミュニティ運営や様々なディスカッション用
    • users@ja.libreoffice.org: ユーザーの情報交換用
  • 購読方法:(users@ja.libreoffice.orgの場合)
    1. users+subscribe@ja.libreoffice.orgへ空メールを投げる
    2. 確認メールが来るのでそのまま返信する
    3. 注意点:メーリングリストへの投稿は購読している全員に届くほか、Webサイトで見れる状態で保存されます。個人的なメールや、公にはしたくない情報は投稿しないよう気をつけましょう。

不具合を調べる/報告する

セキュリティ勧告

  • 公開されいているLibreOffice脆弱性情報の一覧です。脆弱性の修正は最新バージョンのみ(最新版、安定版のそれぞれの最新バージョン)ですので、アップデートが必要かを判断する際に便利です。

書籍

書籍はいろいろ出ていますが、気になる書籍を拾ってみます。

LibreOfficeサポートベンダ

日本ではLibreOfficeのサポートを行っている企業はあまり多くありません。私の知っている範囲の紹介です

アイクラフト

私がLibreOfficeサポートビジネスに関わっている企業です。不具合解析などのレベル2サポートと操作レベルのレベル1サポートに加え、ソースコードレベルでの対応をするレベル3サポートについてはCollaboraのサービスをリセール&ブリッジしています。

パドラック

湖西市役所のLibreOffice導入をサポートしています。代表の杉本さんはOSC浜松の実行委員長や浜名湖LibreOffice勉強会などもされています。

フジみらい

普段はサポートをされていないようですが、徳島県庁向けにマニュアル作成やサポートをされたことがあります。 徳島LibreOffice勉強会でもその様子をお話いただいたことがあります。

以上、LibreOfficeを組織に導入する際の参考情報として、さまざまなリンクを紹介しました。 これも追加しておいたほうがよいよ、という情報がありました、お知らせください。

LibreOffice onlineをDebianでビルドしてみました

LibreOffice online(LOOL)をDebian jessieでビルドしてみましたので、メモを残しておきます。

ソースコードのREADMEと小笠原さんのオープンソースカンファレンス2016 Gunma群馬での発表資料を参考にビルドしました。

www.slideshare.net

LOOLの構成

LibreOfficeのビルド

TDF Wikiの「 Linuxと*BSDシステムにおけるLibreOfficeビルドのヒントとコツ」を参考にLibreOfficeをビルドします。

ビルドに必要なパッケージをインストール

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

以前にLibreOfficeはこの環境でビルドしたことがありましたので、このステップは不要でした。他にも個別でパッケージをインストールする必要があったかもしれません。

LibreOfficeソースコードを取得

今回はお試しでビルドするので、履歴情報を取得しない--depth=1オプションを付けています。

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

ビルドは4-5時間ほどがかかったように思います。最初に関連のソースコードのダウンロードが走りますが、それだけで30分ほどかかりました。普段使いのノートPCでビルドさせており、他の作業をしたいときにはCtrl+Cで中断させて(もう1度makeで続き)いました。

$ cd libreOffice
$ /autogen.sh --with-lang="ja"
$ make 

ビルドしたLibreOfficeを起動するには、ソースコードのある"libreOffice"ディレクトリでinstdir/program/soffice & と実行させます。

pocoのビルド&インストール

小笠原さんのスライドに従って、ライブラリのpocoをインストールします。

$ curl -O http://pocoproject.org/releases/poco-1.7.3/poco-1.7.3-all.tar.gz
$ tar zxvf poco-1.7.3-all.tar.gz
$ cd poco-1.7.3-all
$ ./configure --prefix=/opt/poco
$ make
$ sudo make install 

LOOLのインストール

サーバーloolwsdのビルド

$ cd ~/LibreOffice_code/
$ git clone https://github.com/LibreOffice/online.git
  • ビルドまで
    • 手元環境では、libtoolizeコマンドがなかったのでインストールします。
$ sudo aptitude install libtool
$ cd loolwsd
$ libtoolize
$ aclocal
$ automake --add-missing
$ autoreconf
$ autoheader
$ ./configure --enable-silent-rules --with-lokit-path=(LibreOfficeのソースコードツリーのフルパス)/include --with-lo-path=(LibreOfficeのソースコードツリーのフルパス)instdir --with-poco-includes=/opt/poco/include --with-poco-libs=/opt/poco/lib --enable-debug
$ make

なお、パッケージが足りないエラーが出たのでlibcap-devをインストールして再度./configureしています。

configure: error: libcap not available?
$ sudo aptitude install libcap-dev

クライアント側インストール

  • nodejs系のパッケージインストール
$ sudo aptitude install nodejs node-jake node-uglify 
以下の新規パッケージがインストールされます:
  coffeescript{a} libc-ares2{a} libv8-3.14.5{a} node-amdefine{a} 
  node-async{a} node-glob{a} node-inherits{a} node-jake node-lru-cache{a} 
  node-minimatch{a} node-once{a} node-optimist{a} node-sigmund{a} 
  node-source-map{a} node-uglify node-utilities{a} node-wordwrap{a} nodejs 
更新: 0 個、新規インストール: 18 個、削除: 0 個、保留: 0 個。
  • Debianパッケージでnpmをインストールし、npm自身でアップデートさせます
$ sudo aptitude install npm
$ npm -v
1.4.21
$ sudo npm install -g npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
$ npm --v
3.10.6
  • makeでJSファイルを生成します。
$ cd ~/LibreOffice_code/online/loleaflet/
$ make

証明書のコピー

$ sudo mkdir /etc/loolwsd
$ cd ~/LibreOffice_code/online/loolwsd/etc/
$ sudo cp *pem /etc/loolwsd/

LOOLサーバーの実行

$ sudo mkdir -p /usr/local/var/cache/loolwsd
$ sudo chown `ユーザ名` /usr/local/var/cache/loolwsd
$ cd ~/LibreOffice_code/online/loolwsd
$ make run

ブラウザでアクセスする

test.odsを作成して、/opt/tmp/以下に置いた場合、以下にアクセスします。 https://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///opt/tmp/test.ods&host=wss://localhost:9980

テスト用ということでオレオレ証明書ですので、Firefoxの場合、「安全な接続ではありません」と証明書の警告がでます。「エラー内容」->「例外を追加」->「セキュリティ例外を承認」で許可します。

スプレッドシートが見えたら成功です。(相変わらず日本語は1文字しか入力できませんでした) f:id:shinji_enoki:20160826063548j:plain

おまけ:JSファイルの作成でしばらく躓きました

$ cd ~/LibreOffice_code/online/loleaflet/
$ jake build
jake aborted.
Error: Cannot find module 'browserify'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
(See full trace by running task with --trace)
  • そこでDebianパッケージでnode-browserify-liteを入れてみますが、うまく行きません。
$ aptitude search browserify
p   node-browserify-lite                                          - bundle client-side JavaScript using Node.js-style module syntax
$ sudo aptitude install node-browserify-lite 
以下の新規パッケージがインストールされます:
  node-browserify-lite node-pend{a} 
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
...
$ jake build
jake aborted.
Error: Cannot find module 'browserify'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
(See full trace by running task with --trace)
  • Debianパッケージのnpmを入れてみて、npmでbrowserifyを入れてみます
$ sudo aptitude install npm
以下の新規パッケージがインストールされます:
  gyp{a} libc-ares-dev{a} libjs-node-uuid{a} libv8-3.14-dev{a} 
  node-abbrev{a} node-ansi{a} node-ansi-color-table{a} node-archy{a} 
  node-block-stream{a} node-combined-stream{a} node-cookie-jar{a} 
  node-delayed-stream{a} node-forever-agent{a} node-form-data{a} 
  node-fstream{a} node-fstream-ignore{a} node-github-url-from-git{a} 
  node-graceful-fs{a} node-gyp{a} node-ini{a} node-json-stringify-safe{a} 
  node-lockfile{a} node-mime{a} node-mkdirp{a} node-mute-stream{a} 
  node-node-uuid{a} node-nopt{a} node-normalize-package-data{a} 
  node-npmlog{a} node-osenv{a} node-qs{a} node-read{a} 
  node-read-package-json{a} node-request{a} node-retry{a} node-rimraf{a} 
  node-semver{a} node-sha{a} node-slide{a} node-tar{a} node-tunnel-agent{a} 
  node-underscore{a} node-which{a} nodejs-dev{a} npm 
更新: 0 個、新規インストール: 45 個、削除: 0 個、保留: 0 個。
$ npm install browserify
npm ERR! notarget No compatible version found: browserify@'./node_shrinkwrap/browserify-13.1.0.tgz'

諦めて、この状態で、サーバーを起動してみますが、Firefoxでアクセスすると画面が真っ白でした。 以下のようなエラーが出ており、bundle.jsが生成できていません。

wsd-07737-03 00:00:09.591516 [ client_req_hdl ] FileServerRequestHandler: File not found: /home/eno/LibreOffice_code/online//loleaflet/dist/bundle.js

そこで「(。ゝω・)ノ*:゚・☆ npmを更新したら動かなくなった」を参考にして、上記の手順のように、npmをnpmでアップデートさせる方法で対応しました。

今年のLibreOfficeイベントを振り返る(2015)

今年も日本でのLibreOfficeイベントはいろいろありました。どんなイベントがあったのかを振り返って、今後の方向を考えてみたいと思います。

この記事は、LibreOfficeアドベントカレンダーの2日目です。1日目は小笠原さんのLibreOffice Conference 2015 Aarhus 裏リポートでした。 f:id:shinji_enoki:20150711164814j:plain(第10回関西LibreOffice勉強会の様子)

今年のイベントサマリ

日本でのLibreOfficeコミュニティ関連イベントの一覧はこちらにありますので集計してみます。今年12月に予定しているものもカウントすると46回でした。意外に多かったです。(Wikiの一覧に記載忘れや計算ミスがあれば教えてください。※12/23に関東オフ、浜名湖と関西のhackfestを1回ずつ追記)

種類 内容 合計
勉強会 浜名湖2回、関西2回、九州1回 5
オフラインミーティング 関東2回 2
Hackfest 関東3回、名古屋1回、浜名湖1、関西5回(分野別だと、もくもく会1、翻訳1、バグハンティング7、開発1) 10
OSSイベントへの出展・セミナー OSC12回、KOF1回、姫路1回、和歌山1回 15
LibreOfficeの日 関西12回 12
その他 Document Freedom Day 2015 Tokyo、NVDAワールド 2015 東京 2
  • 日本でのミニカンファレンスは今年中に間に合わず、来年1/9(土)に向けて準備中です。

勉強会やオフラインミーティングは、主催側が関東は小笠原さん、浜名湖が杉本さん(+直也さんと石川さんも最近サポートされてます)、関西は私(大釜さんなど、何人かの方が助けてくださってます)といいだしっぺが3人しか動けなかったので、やや少なめだったと思います。

Hackfestは去年ごろから取り組みはじめ、今年は増やす方向で考えていましたが、だいたい狙い通りでした。参加者は少なめですが、作業に直結しているのでLibreOfficeそのものへの貢献度は最も高いイベントです。

オープンソースカンファレンスなどは結構出ていたことがわかります。日本語チームメンバーの大森さんが、ブースコンテナを毎回送ってくださるので、ノートPCだけ持っていけばいいのは非常に助かっています。もう少し各地でイベントに出てくださる方が増えて、負担を分担できればという気もしています。

個人的にはLibreOfficeの日など小さなものも含め主担当22回、ブースなどの参加10回など、合計で34回に参加していたようです。イベントをやりすぎた感もありましたが、効果面を考えると、コミュニティビルディングの種まき段階のものも多くて、まだまだという印象でした。 日程調整しつつも流れてしまった徳島勉強会も来年には復活させたいと考えています。

f:id:shinji_enoki:20150726145603j:plainLibreOffice Hackfest(翻訳査読スプリント) 2015-07-26 in 東京の様子)

イベントの種類と目的

個人的には、それぞれのイベントの概要と・目的を以下のように考えています。

  • 勉強会/オフラインミーティング
    • 平日夜もしくは、休日午後に集まってスピーカーを立てるセミナースタイルが多い。懇親会セットのケースが多い
    • ノウハウや情報の交換
    • 公開スライドによる情報の蓄積
    • 地域のユーザーコミュニティの形成。そこへ行けば聞ける場所に
  • Hackfest
    • 休日に集まって一緒にコミュニティの作業を行う
    • ベータ版やリリース候補をテストするバグハンティングが中心だったが、開発向けも初めて挑戦。翻訳査読を一気に片付けるスプリントも実施した
    • 新しい人や普段やっていない活動に取り組みたい人をフォローする
    • ノウハウを互いに伝授
    • コミュニケーションの場
    • 作業効率アップ、モチベーションの維持
  • オープンソースカンファレンスなどOSSイベント
    • 各地でのオープンソースイベントへブース出展やセミナーを行う
    • 他のOSSコミュニティの人たちと交流する
    • OSSに興味ある人たちへLibreOfficeをアピール・情報提供
    • LibreOfficeメンバ同士の交流
  • LibreOfficeの日
    • 毎月第3水曜日にコワーキングスペースに行く日を決めて、集まる場にする
    • 出入り自由(各自でコワーキング利用料を負担)でゆるい感じ
    • 地域のLibreOfficeコミュニティの形成。LibreOfficeに興味がある人が定期的に集まれる場にする
  • LibreOffice mini conference
    • 日本でのLibreOfficeに興味がある人が集まって交流と情報交換をする

振り返り

今年のイベントをKPTで振り返ってみます。コミュニティ全体としてですが、主催としての感想も混ざっています。

Keep(よかったこと、次も続けること)

  • かなりの数のイベントができた
  • hackfest系は、実際に作業を進める試みはある程度機能した
    • 作業するモチベーションにつながったり、やったことない人をフォローできたり、バグ確認など連携してやりやすかった
  • 関西のLibreOfficeの日はようやく認知されて、来てくれる人がちらほら出てきた

Problem(課題になったこと)

  • コミュニティのアクティビティはそこそこ安定しているものの、活性化にまでは至らなかった
  • イベントを主催側を担当する人は増えなかった
  • イベントレポートが出来ないことが多かった(私の担当イベントについて)

Try(次に挑戦すること)

  • hackfest系を増やす。定期開催化も進める
  • イベントの企画から他の人を巻き込んで進める
  • イベントレポートは、超簡単なものを当日or翌日に書く

アクティビティとしては確保できた反面、新しくイベントを担ってくれる人を見つけること、イベントの効果を高めることが来年のテーマとして考えています。

来年は、どのくらいのペースで出来るかわかりませんが、ボチボチやっていければと思います。興味を持たれたイベントがあればご参加いただけるとうれしいです。スタッフ側やスピーカー側でのご参加も大歓迎です!

明日のアドベントカレンダーは荒川さんの「CSVを扱うならExcelよりもCalcで」です。よろしくお願いします。

f:id:shinji_enoki:20150822175433j:plain(初の開発向けとなった関西LibreOffice HackFest 2015-08-22の様子) f:id:shinji_enoki:20151114135346j:plainオープンソースカンファレンス徳島でのLibreOfficeブース)

関西LibreOffice HackFest 2015-08-22を開催しました

2015年8月22日(土)に関西LibreOffice HackFest 2015-08-22LibreOffice日本語チームとして行いました。開催側の立場で、何をやったかを書いておきます。すぐ忘れてしまうので自分向けと、同様のイベントを企画する人向けのメモです。

LibreOfficeではプロジェクトの規模に対して開発者が少いことが課題の1つです。ちょっとしたパッチを書くにも、ビルドが面倒だったり、ソースコードのどこから読めばいいかわかりにくい、というハードルがあります。そこで開発に参加したい人向けに、ビルドやソースコードを読むイベントをやってみました。 f:id:shinji_enoki:20150822175433j:plain

ターゲットと企画の方向

ニッチな企画ですので、参加したい人がいるかをまず確認しました。参加したいといってくれた日本語チームメンバーでもある近藤さんを1人目のターゲットとして企画しました。 関西LibreOffice勉強会や毎月第三水曜日にJUSOコワーキングで行なっているLibreOfficeの日というイベントに来てくれるメンバでも、ビルドで止まっている方も2−3人いらしたので、ターゲットとして想定しました。

メンター

1人では乗り越えられないところを、経験者にフォローしてもらうイベントですので、メンターが大事です。日本では、LibreOfficeのパッチを書いている人はあまりいません。その中で、イベントに出てくれそうな安部さん、八木さんに相談して2人体制でいくことになりました。安部さんは遠方でしたのでSkype参加、八木さんが現地参加というフォーメーションです。 今回、八木さんは急遽都合が悪くなり、最終的には安部さんにSkypeでフォローいただきました。

会場探し

ビルドをするので長時間確保する必要があります。またソースコードのダウンロードなども想定されるので電源や回線が安定している必要があります。一方、参加者は10名を超えることはなさそうでしたので、サイズは気にしませんでした。腰を落ち着けて長時間使えるところ、電源とWifiが充実しているところ、という条件で探しました。

今回は、GMOクラウド大阪支社さんに協力いただき、GMOインターネットグループ 大阪オフィス内の会議室をお借りすることができました。Wifiも高速で安定していて、電源、プロジェクターなど設備が素晴らしく、助かりました。ありがとうございました。

当初は隣の広い「GMO Yours大阪」を押さえていただいていたのですが、振り替えて欲しいということで会議室スペースになりました。結果的には、会議室スペースの方がやりやすかったです。

企業の会議室はファシリティが素晴らしかったり、無料でお借りできる反面、ビルの入退室に制限があったり、社員の方に休日に出ていただく必要があります。 今回の会場は、フロアまでは上がれるものの、そこから先のドアは社員の方に開けていただく必要があります。途中で参加された1名の方からConnpass経由で連絡があったのですが、当初気が付かずに見逃すところでした。安部さんが気がついてくださって、事なきを得ました。前日夕方に携帯電話番号を伝えるメッセージを送っていたのですが、それ以降に申込される方もいらっしゃるので、次回以降も気をつける必要がありそうです。 なお、普段からコミュニティに出てこられるエンジニアの方に相談して開けていただきましたので、LibreOfficeのビルドも挑戦されていました。

f:id:shinji_enoki:20150822175525j:plain (部屋の外から会場の風景も撮ってみました。)

企画のつめ

毎週水曜日の夜に行なっている、日本語チームの定例チャットミーティングで進め方を相談しました。メンター側の安部さん、参加側の近藤さん、関東でHackfest開催されている小笠原さんがいらしたので、話が早かったです。私自身は開発者ではないこともあり、どのようにすればいいか最初はイメージしにくかったのですが、各自で取り組んでもらって詰まったところをフォローする形にしました。

申込ページ作成と告知

ConnpassのLibreOffice日本語チームのイベントとして立てました。ニーズを確認するために申込時に何をやるつもりかをアンケートを取っておいたので、大体どのようになりそうか想定できました。

告知はLibreOfficeの日本のメーリングリスト、関西LibreOffice勉強会メーリングリストFacebookイベント、Twttierの日本語チームアカウントでのツイートで行いました。また、興味ありそうな方にはお会いした際に口頭でお誘いしていました。 当初想定したターゲットの方が3名くらい来ていただければOKと考えていましたが、知っていれば行きたかったのに、というのは避けたかったのですが、なかなかリーチするのは難しいです。 Facebookイベントはどの程度認知されたかはわかりますので便利でした。初めましての方も1名いらして、Connpassで知ったとのことでした。

準備

Skypeアカウントを確認すること、Skype用にノートPCを1台確保しました。また、前日に個人的にビルドを試してみました。 隣の大きなスペースは他のイベントでお借りしたことがあり、ある程度会場の状況はわかっていましたので、下見はしませんでした。

参加者

最終的には現地で7名、Skypeでの安部さんを含めて7名でした。

当日スケジュール

ざっくりしたスケジュールしか考えていませんでしたが、結果的には以下のような流れになりました。

  • 14:00 会場に入ってセッテング
  • 14:30 自己紹介/今日やること発表
  • 14:35 安部さんのレクチャープレゼン
  • 14:50 各自作業開始(ビルドをしてエラーが出ると安部さんに聞く)
  • 17:00 買い出し、休憩
  • 17:?? 作業に戻る
  • 18:35 安部さんのコードリーディングプレゼン+質疑応答
  • 19:05 振り返り
  • 19:30 ビルド待ち、情報交換、ディスカッション
  • 20:00 終了。その後晩御飯行く

f:id:shinji_enoki:20150822170848j:plain (17時すぎ、疲れてきたので栄養分を補給してるところ)

やることを確認すると、みなさんまずはビルドをするという方ばかりでした。 1人で2台-3台持ってこられている方が多くて、複数台で違う環境でビルドなどされていました。

ビルドの様子

Ubuntu 14.04のみがノーエラーでビルド完了まで行けました。 それ以外は途中で止まって試行錯誤しており、ビルドが時間内におわらず時間切れというパターンが多かったです。マシンスペックにもよりますが最初にビルドするには3-4時間はかかります。

Linux Mintは必要なパッケージが多くて、ビルド以前のautogen.shをクリアしきれなかったようです。

やってみてのあれこれ

現場にいれば、すぐにノートPCを覗きこめて便利なのですが、今回はリモート先のメンターに対して、ログをWebやDropboxへアップしてIRCでURLを伝えるという形でしたので、ひと手間かかりました。

Skypeはトラブルを覚悟していましたが、 1度回線が切れたくらいで安定していました。Skypeに繋いだマシンをプロジェクターで映しっぱなしにしておきました。お互いにビデオを流しっぱなしで様子がわかる状況でした。 PCはThinkPadのT430を使い、マイクとスピーカーなしでもほぼ問題なかったです。カメラはPC付属でなくWebカメラで会場の様子が相手に見えるようにしました。

画面共有を使ってプレゼンしてもらったのですが、プロジェクターの性能がいいこともあってクリアでした。 f:id:shinji_enoki:20150822183734j:plain

安部さんからビルドの話とコードリーディングの話を2回プレゼンいただいて、イメージをつかむのに良かったように思います。2度めの後はみんなビルド中ということもあり、質問大会にしました。

うまく進んだ人、進めなかった人もありますが、全体としてはナレッジが大分共有できたように思います。 まだ、解決できなかった人もいますし、次回も企画したいと考えています。

振り返りKPT

Keep

  • やったことなかったが、開催できてよかった
  • 思ったよりもニーズがあった
  • わいわいやって楽しかった
  • 集まってやると、エラーが出ても心が折れにくい
  • 回線が安定していたのがよかった
  • Skype経由でもある程度はできるということがわかった
  • 運営に特化したので、技術的でない部分のフォローが出来た
  • メンター2名体制だったので、1名が来られないトラブルでもイベントは成立できた
  • 2台マシンを持っていったのでSkype用と作業用に分けれた
  • 参加者が複数台持ってきてくれて複数環境でやれた

Problem

  • ビルドまでいけたのが1人だけだった
  • git cloneするのに時間が取られた makeは成功していなくても、そこまで終わっていると早かった
  • すばやくフォローするには、現場にいるメンターが欲しい
  • 事前にこまめな連絡をしきれなかった
  • 当初IRCに入るのを忘れていた
  • ビルドの時間待ち時間をもう少し有効に使えたかも

Try

  • 出来れば同じ会場をお願いする
  • 会場で参加できるメンターも確保する
  • 手順を送っておいて、git cloneまで済んでいる人を増やす
  • ソースコードリーディングの次の一歩を。手を動かしてソース読んでいくのもよいかも