YAPC::Asia 2012 CPANに恩返ししよう

45
CPANに恩返ししよう *** Giving back to CPAN *** YAPC::Asia 2012 Satoshi Azuma

description

YAPC::Asia 2012 で発表したときのスライドです。

Transcript of YAPC::Asia 2012 CPANに恩返ししよう

Page 1: YAPC::Asia 2012 CPANに恩返ししよう

CPANに恩返ししよう*** Giving back to CPAN ***

YAPC::Asia 2012

Satoshi Azuma

Page 2: YAPC::Asia 2012 CPANに恩返ししよう

Who?● 東 聡志

● Satoshi Azuma● @ytnobody● Born in Hakodate,

Hokkaido, Japan● Perl: about 10 years● Linux: about 11 years● Love motorbike!● Love perl!

Page 3: YAPC::Asia 2012 CPANに恩返ししよう

まさか、皆が皆

Perl Hacker じゃないよね?

Page 4: YAPC::Asia 2012 CPANに恩返ししよう

専らCPANモジュールを使っている人

主な対象

Page 5: YAPC::Asia 2012 CPANに恩返ししよう

真新しい話はありません

Page 6: YAPC::Asia 2012 CPANに恩返ししよう

ある程度Perlを弄ってきた人なら

ほぼやっている事ばかり

Page 7: YAPC::Asia 2012 CPANに恩返ししよう

恩返しとは?

Page 8: YAPC::Asia 2012 CPANに恩返ししよう

 おん‐がえし〔‐がへし〕【恩返し】  [名](スル)受けた恩に報いること。報恩。

「世話になった人に―する」 

By goo国語辞書

恩返しとは

Page 9: YAPC::Asia 2012 CPANに恩返ししよう

なぜ恩返しするのか?

Page 10: YAPC::Asia 2012 CPANに恩返ししよう

まず考えてほしい

Page 11: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールは

本当にいつも完璧か?

Page 12: YAPC::Asia 2012 CPANに恩返ししよう

モジュールのインストール時

CPANモジュールは本当にいつも完璧か

Page 13: YAPC::Asia 2012 CPANに恩返ししよう

テストに失敗する

CPANモジュールは本当にいつも完璧か

Page 14: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールは本当にいつも完璧か

● CPAN Dependencies● CPANからリンク

● 環境を指定– 依存性一覧– インストール成功率

Page 15: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールは本当にいつも完璧か

「あまり意味は無い(チョウ訳)」とはあるが

「テスト完全成功率(チョウ訳)」があって、しかもそれが100%ではない物が存在する。

Page 16: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールは本当にいつも完璧か

CPANは「いつも完璧」などではないし

使う側がCPANにそれを求めるのもお門違い

Page 17: YAPC::Asia 2012 CPANに恩返ししよう

ドキュメント通りに動作しない

CPANモジュールは本当にいつも完璧か

Page 18: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールは本当にいつも完璧か

SYNOPSISが無い

Page 19: YAPC::Asia 2012 CPANに恩返ししよう

などなど・・・

CPANモジュールは本当にいつも完璧か

Page 20: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールはいつも完璧なんかじゃない

CPAN Authorも人の子。

過ちに気づかない事もあれば

怠惰に負けることもしばしば

Page 21: YAPC::Asia 2012 CPANに恩返ししよう

CPANモジュールはいつも完璧なんかじゃない

「これだからPerlは」

と切り捨てるのは簡単

だがそれはちっとも建設的ではない

Page 22: YAPC::Asia 2012 CPANに恩返ししよう

プログラマたる者、常に建設的であれ。

じゃあどうする

Page 23: YAPC::Asia 2012 CPANに恩返ししよう

ここはひとつ、こう考えてみてはどうか。

考え方を変えよう

Page 24: YAPC::Asia 2012 CPANに恩返ししよう

俺が困ることは

他の誰かが困るはず

考え方を変えよう

Page 25: YAPC::Asia 2012 CPANに恩返ししよう

普段はお世話になっているのだから

ここで恩を返しておくか

考え方を変えよう

Page 26: YAPC::Asia 2012 CPANに恩返ししよう

結果的に「恩返し」することは

他の誰か(と未来の自分)の手助けをするということ

どんな小さなことでもいい

Page 27: YAPC::Asia 2012 CPANに恩返ししよう

じゃあ、CPANに

“恩返し”

した方がいいよね?

考え方、変わった?

Page 28: YAPC::Asia 2012 CPANに恩返ししよう

恩返しのための準備

Page 29: YAPC::Asia 2012 CPANに恩返ししよう

E-Mail● 様々なサービスのアカウントをとるために必須

● CPAN Author やPAUSE Adminへの*最後*のコンタクト手段

Page 30: YAPC::Asia 2012 CPANに恩返ししよう

Twitter● メールと並び必須。● タイムリーなやりとりに便利。

● 不具合らしきものにぶち当たったときに#perl あたりでぼやいてると、時折ヒントや解決策を教えてもらえたりするかも。

Page 31: YAPC::Asia 2012 CPANに恩返ししよう

Blog● ユースケースや問題解決方法の共有に。

● 広く問題解決方法を募る用途に。

● Google先生が拾ってくれるので、検索キーワードを意図して記事を書くと効果が高い。

Page 32: YAPC::Asia 2012 CPANに恩返ししよう

Github● 開発版のソースが置いてあるケースが度々ある。

● Issue(チケット)の発行を行うためにも、ぜひ登録しよう。

Page 33: YAPC::Asia 2012 CPANに恩返ししよう

PAUSE● CPAN Author になるためのアカウントだと思えば大体合ってる。

– CPANにモジュールを登録したり、CPANRTでIssueを登録したりするのに使う。

– アカウントを取得するのに外人さんとメールのやり取りする必要があったりする。

Page 34: YAPC::Asia 2012 CPANに恩返ししよう

恩返しするための方法

Page 35: YAPC::Asia 2012 CPANに恩返ししよう

ブログに記録を残す

● ありのままを書く● 現象● 処置● 結果● 周辺状況

– アップデート状況– 環境

Page 36: YAPC::Asia 2012 CPANに恩返ししよう

テストの失敗を報告する

● CPANRTやGithubにIssueを書く。● タイトルを簡潔に● 現象を明確に● ターミナルログを貼り付ける

● 大抵は英語。– 中学英語でもまあそれなりに意味を汲んでもらえる。英語への恐れが最大の敵。

Page 37: YAPC::Asia 2012 CPANに恩返ししよう

モジュールの使い方を書く

● どこに書くか● ブログ

– 自分の権限で書くことができる。

– 後々POD形式にできるように考慮を。

● Github– モジュールにPOD形式のドキュメントを追加する

– README.podを置いておくと、webページとして表示される。

● POD形式になれておく

Page 38: YAPC::Asia 2012 CPANに恩返ししよう

改善要望を出す

● CPANRTまたはGithubでIssueを書く● 改善してほしい項目を明らかに

● できればPatchかpullreqのほうが望ましい– でもコード書けないのなら、要望だけでも書いておこう。

● コードが書けないからという理由で黙る必要はない

Page 39: YAPC::Asia 2012 CPANに恩返ししよう

デザインの手助けをする

● デザインの心得があるなら。● ロゴ● ページデザイン● イメージキャラ

● Hackerと呼ばれる人たちは、意外とデザイン面に疎かったりすることが結構ある

↓このロゴ作った

Page 40: YAPC::Asia 2012 CPANに恩返ししよう

盃を交わす

● 勉強会(小さくてもOK)● Hachioji.pm● Niigata.pm● Perl入学式● Hokkaido.pm Casual● Perl Beginners

– ↑主宰をやっております

● お気に入りのモジュールを宣伝してこよう● 誰かのお気に入りモジュールを使ってみよう

Page 41: YAPC::Asia 2012 CPANに恩返ししよう

恩返しの次は

“恩送り”

Page 42: YAPC::Asia 2012 CPANに恩返ししよう

Githubに

モジュールをアップする

Page 43: YAPC::Asia 2012 CPANに恩返ししよう

CPANに

モジュールを公開する

Page 44: YAPC::Asia 2012 CPANに恩返ししよう

これであなたも

CPANに恩返し・恩送りできるかも

Page 45: YAPC::Asia 2012 CPANに恩返ししよう

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