榎 真治 (shinji.enoki@gmail.com)
LibreOffice 日本語チーム
in 第 28 回山陰 ITPro 勉強会
2015-10-17 This work is licensed under a Creative Commons
Attribution-ShareAlike 3.0 Unported License.
非開発者でもできる、
オープンソースプロジェクトに貢献する方法
2
自己紹介 : 榎真治(えのきしんじ)
● LibreOffice 日本語チームメンバー (2011- 現在 )
● The Document Foundation メンバー (2014/4- 現在 )
● フリーで LibreOffice のコンサル / サポート / トレーニング
● 神戸の会社と Linux クライアント(ハード込み)のサポートビジ
ネスやってます
他の OSS コミュニティは詳しくないので
違うところがあったらツッコミお願いします
3
今日できたらいいな、と思っていること
● OSS コミュニティへの貢献について、
– 今日からこれをやろう、面白そう!
– ちょっと詰まってたけど、こうやってみよう!
– こんなやり方もあるよ、という議論
4
アジェンダ
1.なんで OSS に貢献する?
2.何をやる?
3.どういう作戦でいく?
5
オープンソースにどのように関わってますか?
①もっぱらユーザーです
②たまにコミュニティ活動してます
③開発でないところで活動してます
④バリバリ開発してます
6
1.なんで OSS に貢献する?
2.何をやる?
3.どういう作戦でいく?
7
こんな意見あるかも?
●
別に私がやらなくても
●
時間とられる
●
面倒くさい
無理にやることではない
8
一方で、こんな意見もあるかも?
●
メチャメチャ楽しい!
●
人生変わった
●
充実している
宗教の勧誘じゃないですよ
9
モチベーションは、人それぞれ
●
やりがいの追求
●
成長できる
●
場としての魅力
●
ユーザーとしてよくしたい ...
みなさんのモチベーションは?
10
やりがいの追求
●
能力を活かすことができる
●
社会へのインパクトが大きい
●
やりたいことを、やりたいだけ、やりたい時にできる
11
成長できる
●
技術的、専門的なスキル
●
コミュニティ的な仕事の進め方
●
人間的な成長
持続性を意識しているコミュニティは
人を育てようとする
12
場としての魅力
●
コミュニティで認められることのうれしさ
●
同じ趣味嗜好の人と一緒に活動できる
●
居場所としての心地よさ
13
オープンソース + バザールモデルが大切な理由
●
プロプラなコミュニティでも活躍できることも
– ただし、肝心のコード部分がコミットできない
– 企業などが大事なところは決めてしまう
● OSS でもコミュニティがない場合も
– パッチを送っても取り込まれない
– そもそも活躍できる場がない
●
バザールモデルを採用している OSS なら
– 自分たちで物事を決められる
– すべての活動に、すきなだけコミットできる
14
1.なんで OSS に貢献する?
2.何をやる?
3.どういう作戦でいく?
15
OSS コミュニティでの主なタスク・カテゴリ
●
開発(コア、拡張機能)
●
QA (バグレポート、テスト)
●
L10N: ローカライゼーション(翻訳 / 言語ごとの機能開発)
●
ドキュメント
●
テンプレート
●
マーケティング
●
インフラ( Web 、ビルドサーバー)
●
ユーザーサポート( Q&A サイト、 ML)
●
イベント運営
●
コミュニティ運営
16
具体的なタスクがイメージできない場合は?
●
典型的なパターンはどの OSS でも同じ
– 詳しい説明があるプロジェクトを参考にする
– 別プロジェクトでもいいので、身近で OSS 活動している
人に聞いてみる
– メンターがいたり、何をやればいいか分かりやすいプロ
ジェクトでまず活動してみるのがオススメ
17
QA: バグレポート
●
使っていてバグに遭遇した時に、再現性があればレポー
トしておくとみんな幸せに
●
バグレポートしないと、開発者は気が付かないので修正
されない
●
バグがあるという情報だけでも、他のユーザーにとって
も有益
18
バグレポート
●
再現確認が大変なときには、 ML などで他のユーザーに
再現するかを聞いてみるのも手
●
レポート内容はシンプル
– 再現手順のステップ + 再現環境 + 問題点 / どうなると正
しいのか
– LibreOffice など GUI 系アプリではスクリーンショットを
貼り付けるのも有効な手段
– 再現するファイルを添付すれば一発で理解できることも
●
修正パッチがマージされたら、直っているかを確認して
報告する
19
バグトリアージ
● BTS(Bug Tracking System) に報告されたバグを再現確
認する
– 再現するなら未確認 -> 新規にステータスを変えてコメン
ト( LibreOffice のケース)
– 報告されたのが昔なら、今のバージョンで再現するか?
だけでも有益な情報
20
ナイトリー(デイリー)ビルドを使う
●
早い段階でバグを見つけられると、修正も早い
●
ナイトリーとよばれる開発の先端ビルドを使ってバグに
遭遇したら報告という手も
– ただし、不安定すぎる場合もある
– そこまでは、、という方はベータ版や RC 版がいいかも
21
翻訳: UI/Help
●
語学力ではなく、その分野の知識やそのソフトウェアを
知っているかがポイント
– 説明抜きに、ぱっと見て理解できるのが理想
– 同じジャンルのソフトがどう翻訳してるか
●
翻訳の一貫性
– 翻訳ガイドライン、既存の翻訳も参考に
– 違うプロジェクトの翻訳ガイドラインでも参考に
● Web システムを使うところもあれば、テキストのファ
イルを直接編集するところもある
22
ドキュメントの翻訳
●
翻訳すると価値の高いドキュメントが、手付かずになっ
ているケースは多い
●
リリースアナウンス、活動レポート、公式ブログ
●
ユーザーマニュアル
●
事例情報
23
ドキュメントの作成 / メンテナンス
●
主要機能の説明、リリースアナウンスにも、手が回って
いないプロジェクトもある
– これはないと困る、と思ったら貢献のチャンス
●
ドキュメントがあっても、メンテナンスが出来てないこ
とはもっと多い
●
Wiki の場合、少しずつ作成や翻訳をしていく手も
24
テンプレートの作成
●
他への影響が少ないため、とっつきやすい
●
このプレゼン・テンプレートは野方さん作
– LibreOffice のテンプレートコンテストで入選
– LibreOffice4.4 以降に同梱されて世界中に配布
25
情報発信: Web サイト /SNS
●
インフラを維持するタスクは重要
●
コンテンツの更新
● SNS などでこまめに情報を流すのも効果的
26
Q&A サイトの維持
●
質問 / 回答が集まるとナレッジ DB に
●
活発だと回答ももらいやすい
●
他の人にも役立つ質問をするのも貢献
– 自分で回答しておいて、ナレッジを置いておく
●
回答は手間がかかるけど大事
●
質問 / 回答を回すお世話係的な役割も
27
オフラインイベント
●
オフラインも重要
– コミュニケーション効率がよい
– 信頼関係を築く。一緒にご飯食べるとかだけでも
– イベントに来てくれた人をスカウト!とか
●
情報を共有できる場があると安心
– 困った時に相談できる
– 交流を広げる。コミュニティの活性化
– 勉強会資料など、まとまった情報を生み出せる
28
お金を出す、という貢献も
●
時間は有限なのでなかなか ...
●
資金があれば出来ることがいっぱい
29
1.なんで OSS に貢献する?
2.何をやる?
3.どういう作戦でいく?
30
何をやりたいかを明確にする
●
ゴールから逆算
●
使えるリソース / スキル
●
なにがあれば出来るか
一般論すぎますけど
31
個人的な例
●
誰でも自由に活躍できる社会を作りたい
●
オープンで自由なソフトウェアのエコシステムを発展さ
せたい
●
クライアントサイドでは、オフィスソフトが重要なので
LibreOffice (当時は OpenOffice.org )
●
コミュニティがうまくいくようにしたい
●
運営に近い部分にフォーカス
●
とりあえずイベントから攻める
32
いっぺんにやらない
●
出来るならやるのもあり ...
●
いきなりは大変
●
コミュニティのやり方とマッチしてないと、全部無駄と
いうケースも
●
コミュニティ側も大きなバッチサイズがくると大変
33
作戦をしっかり練る vs. 気の赴くまま
●
使える時間が少ないと作戦が大事に
●
作戦を悩むくらいなら、まずはやってみる
34
メンターを見つける
●
プロジェクトによっては手厚いメンターがいる
● Google Summer of Code などインターンシッププログ
ラムも
●
作業系ハッカソンがオススメ
– LibreOffice だと Hackfest と呼んでます
●
個人的なメンターに出会えたらいいですが
35
使うところからというのもあり
●
周りの人をフォロー
●
ブログなどで情報発信とか
36
ディスカッション?
37
参考図書:コミュニティ運営
●
アート・オブ・コミュニティ ―「貢献したい気持ち」を
繋げて成果を導くには
– http://www.oreilly.co.jp/books/9784873114958/
– Ubuntu のコミュニティマネージャだった Jono Bacon の
書籍。 Community Leadership Summit での議論も踏ま
えたもの
●
オープンソースソフトウェアの育て方
– http://producingoss.com/ja/
– Subversion プロジェクトの経験を元に Karl Fogel によっ
て書かれた実践的なドキュメント
38
参考資料
● LibreOffice コミュニティに不具合修正パッチを送って
みた(八木智文)
– http://www.slideshare.net/tomofumiyagi/libreoffice-sen
dingbugfixpatch
– 大きなプロダクトなのでいきなり開発は難しい中で、ビ
ルドから攻めていったお話
● No Sugar 〜私はどのようにして Rails 開発に貢献した
か〜(梶原 寿宣)
– http://www.slideshare.net/kennyj1976/20130831ruby05
– 限られた時間の中でどう貢献するかの作戦のお話
39
OSS コミュニティ活動を
楽しもう!

非開発者でもできる、オープンソースプロジェクトに貢献する方法