Analyze CPAN,Analyze Community                 Kenichi Ishigaki                    (@charsbar)      Fukuoka Perl Workshop ...
5年間続けてきたLTの裏話
発端
機械的に抽出できるように Lingua::JA::Romaji::Valid Acme::CPANAuthors::Japanese
5年間の軌跡
YAPC::Asia 2008   1 LUSHE (2004-)   2 ISHIGAKI (2005-)   3 TAKERU (2007-)   4 TYPESTER (2005-)   5 ZIGOROU (2005-)   6 BOK...
YAPC::Asia 2009   1 HIROSE (new) (2006-)   2 TOMITA (new) (2006-)   3 GJUJI (new) (2008-)   4 MIKI (new) (2007-)   5 LUSHE...
YAPC::Asia 2010   1 HIROSE   1 MORIYA (new) (2009-)   3 MIKI   4 SATOH (new) (2008-)   5 CHIBA (new) (2007-)   6 RINTARO (...
YAPC::Asia 2011   1 XAICRON (new) (2009-)   2 BAYASHI (new) (2008-)   3 MORIYA   4 SATOH   5 TOMITA   6 CHIBA   7 TYPESTER...
YAPC::Asia 2012   1 XAICRON   2 PAWAPAWA (new) (2011-)   3 BAYASHI   4 MORIYA   5 SATOH   6 MATTN (new) (2007-)   7 TOMITA...
10 YAMAMOTO    (new)
毎年新しい方を紹介できている
コミュニティは順調に成長… している?
別の視点からも 確認してみる
日本人のCPAN Authorは   増えている  2000: 17    2007: 193  2001: 25    2008: 222  2002: 30    2009: 249  2003: 44    2010: 274  2004...
新しい地域pmも続々と   1999: Kyoto.pm   1999: Tokyo.pm   2000: Kansai.pm   2003: Shibuya.pm   2007: Fukuoka.pm   2008: Yokohama.pm ...
2009: Okayama.pm2011: Hachioji.pm2011: Perl Beginners2012: Perl 入学式2012: Chiba.pm????: Namba.pm????: Nara.pm????: Okinawa....
一見順調
もう少し細かく見てみると…
新規CPAN Authors数(日本)60                                                        5150                                         ...
New CPAN Authors (Worldwide)1000        939 900                                                                           ...
日本人作者のリリース数2500                                                                                     2116                  ...
Num of Releases (Worldwide)25000                                                                                          ...
アクティブな作者数120                                                                      104                                     ...
Active Authors (Worldwide)1800                                                                                     1650   ...
リリース数とCPAN Authorになった年の関係(国内版)2500                                                                             782000     ...
アクティブな作者数とCPAN Authorになった年の関係(国内版)120100                                                               19     16          ...
結論は評価の仕方次第   すでに十分成長しただけ?   みんなが飛びつけるようなネタが枯渇?   BabyFacebook?   言語成分の減少?   そもそもCPAN Authorが増える必要は?
このような分析が必要な理由   どこに注力すべきかのヒントになる   イベントなどの見積もりがより正確に   外部への営業資料   求人・求職資料   モジュールの選定などのよすがにも
Mooseがどのくらい使われているかを   調べてみる
CPANTSの      データベース      を落としてくるhttp://cpants.charsbar.org/static/cpants_all.db.gz
スキーマを調べる$ sqlite3 cpants_all.dbsqlite> select * from sqlite_master;
データを見てみるsqlite> .mode linesqlite> select * from prereq limit 1;
カウントしてみるsqlite> selectcount(distinct(dist)) fromprereq where requires =Moose;
ユーザ数を調べてみるsqlite> select count(distinct(d.author))from prereq as p, dist as d wherep.requires = Moose and p.dist = d.id;
日本人のID一覧$ perl -MAcme::CPANAuthors -e print join ",", map{qq{"$_"}} Acme::CPANAuthors->new(Japanese)->id
日本人のユーザ数を  調べてみるsqlite> selectcount(distinct(d.author)) fromprereq as p, dist as d, author as awhere p.requires = Moose an...
Distributions That Required ...1000                                                                                       ...
Authors Who Required ...350                                                                                               ...
依存ディストリビューション数(国内版)90                                                    838070                                   6560    ...
依存作者数(国内版)45                                                    414035                                   33               ...
観測できること 海外ではすでに15%程度のモジュールが  Mooseを利用 海外ではアクティブユーザの2割がMoose  を利用 Mooseの重さに耐えられなくなってきた  ユーザはMooへ移行中 国内では完全に退潮、代替物への置き換 ...
情報源
CPAN http://cpanmetadb.org/ CPANDB
BackPAN
CPAN Testers http://devel.cpantesters.org/
CPANTS http://cpants.perl.org/
ORDB   ORDB::CPANUploads   ORDB::CPANMeta   ORDB::CPANRT   ORDB::CPANTS
metacpan API https://github.com/CPAN-API/cpan-api/wiki/Beta-API-docs
Acme::CPANAuthors
 YAPC / Act nntp.perl.org ATND
実装例   http://stats.cpantesters.org/   http://deps.cpantesters.org/   http://matrix.cpantesters.org/   http://changes.c...
注意すべきこと 個人情報の扱い 情報源の負荷 他言語との比較
Questions?
Thank you
Upcoming SlideShare
Loading in...5
×

Analyze CPAN, Analyze Community

1,145

Published on

Fukuoka Perl Workshop #22

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,145
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Analyze CPAN, Analyze Community

  1. 1. Analyze CPAN,Analyze Community Kenichi Ishigaki (@charsbar) Fukuoka Perl Workshop #22 Oct 13, 2012
  2. 2. 5年間続けてきたLTの裏話
  3. 3. 発端
  4. 4. 機械的に抽出できるように Lingua::JA::Romaji::Valid Acme::CPANAuthors::Japanese
  5. 5. 5年間の軌跡
  6. 6. YAPC::Asia 2008 1 LUSHE (2004-) 2 ISHIGAKI (2005-) 3 TAKERU (2007-) 4 TYPESTER (2005-) 5 ZIGOROU (2005-) 6 BOKUTIN (2007-) 7 HIO (2003-) 8 DMAKI (2003-) 9 NEKOKAK (2005-) 10 YAPPO (2005-)
  7. 7. YAPC::Asia 2009 1 HIROSE (new) (2006-) 2 TOMITA (new) (2006-) 3 GJUJI (new) (2008-) 4 MIKI (new) (2007-) 5 LUSHE 6 ISHIGAKI 7 TYPESTER 8 TAKERU 9 MASAKI (new) (2006-) 10 BOKUTIN 10 DANJOU (new) (2005-)
  8. 8. YAPC::Asia 2010 1 HIROSE 1 MORIYA (new) (2009-) 3 MIKI 4 SATOH (new) (2008-) 5 CHIBA (new) (2007-) 6 RINTARO (new) (2007-) 7 TOMITA 8 LUSHE 9 ISHIGAKI 10 TYPESTER
  9. 9. YAPC::Asia 2011 1 XAICRON (new) (2009-) 2 BAYASHI (new) (2008-) 3 MORIYA 4 SATOH 5 TOMITA 6 CHIBA 7 TYPESTER 8 MIKI 9 LUSHE 10 KAZEBURO (new) (2005-)
  10. 10. YAPC::Asia 2012 1 XAICRON 2 PAWAPAWA (new) (2011-) 3 BAYASHI 4 MORIYA 5 SATOH 6 MATTN (new) (2007-) 7 TOMITA 8 TYPESTER 9 CHIBA 10 YAMAMOTO (new) (2006-)
  11. 11. 10 YAMAMOTO (new)
  12. 12. 毎年新しい方を紹介できている
  13. 13. コミュニティは順調に成長… している?
  14. 14. 別の視点からも 確認してみる
  15. 15. 日本人のCPAN Authorは 増えている 2000: 17 2007: 193 2001: 25 2008: 222 2002: 30 2009: 249 2003: 44 2010: 274 2004: 58 2011: 294 2005: 101 2012: 311 2006: 152
  16. 16. 新しい地域pmも続々と 1999: Kyoto.pm 1999: Tokyo.pm 2000: Kansai.pm 2003: Shibuya.pm 2007: Fukuoka.pm 2008: Yokohama.pm 2009: Kushiro.pm 2010: Hokkaido.pm 2010: Nagoya.pm 2010: Kamakura.pm 2011: Sendai.pm 2011: Niigata.pm
  17. 17. 2009: Okayama.pm2011: Hachioji.pm2011: Perl Beginners2012: Perl 入学式2012: Chiba.pm????: Namba.pm????: Nara.pm????: Okinawa.pm????: Tachikawa.pm????: Kokusaitenjijoumae.pm
  18. 18. 一見順調
  19. 19. もう少し細かく見てみると…
  20. 20. 新規CPAN Authors数(日本)60 5150 43 414030 29 27 25 2020 17 14 14 1110 8 6 50 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  21. 21. New CPAN Authors (Worldwide)1000 939 900 798 785 800 776 784 778 745 758 727 717 700 647 616 591 600 500 398 400 300 200 100 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  22. 22. 日本人作者のリリース数2500 2116 20412000 1841 15581500 1147 1020 10201000 569 500 295 291 245 173 41 47 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  23. 23. Num of Releases (Worldwide)25000 22033 21734 2098720000 18464 1643515000 14482 12716 12356 11272 1006310000 7455 6961 5591 5000 3441 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  24. 24. アクティブな作者数120 104 102100 95 91 92 87 798060 5140 28 2620 17 17 8 9 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  25. 25. Active Authors (Worldwide)1800 1650 1667 16251600 1568 1501 14411400 1376 1298 1255 12011200 9901000 800 755 625 590 600 400 200 0 ~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  26. 26. リリース数とCPAN Authorになった年の関係(国内版)2500 782000 94 140 2012 (12/17) 64 2011 (14/20) 94 526 412 2010 (17/25) 122 2009 (19/27)1500 2008 (25/29) 247 53 119 86 351 2007 (33/41) 2006 (35/51) 164 196 45 67 2005 (36/43) 106 201 2004 (8/14)1000 54 163 843 2003 (12/14) 78 128 14 2002 (5/5) 674 74 339 639 782 2001 (8/8) 376 119 31 2000 (5/6) 80 500 ~2000 (8/11) 305 372 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  27. 27. アクティブな作者数とCPAN Authorになった年の関係(国内版)120100 19 16 2012 (12/17) 15 10 2011 (14/20) 12 2010 (17/25)80 15 29 12 2009 (19/27) 22 10 9 2008 (25/29) 8 2007 (33/41) 15 11 5 3260 2006 (35/51) 11 8 17 2005 (36/43) 16 10 8 2004 (8/14) 15 10 2003 (12/14) 13 740 2002 (5/5) 29 9 25 24 25 9 2001 (8/8) 23 2000 (5/6) 24 18 ~2000 (8/11)20 16 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
  28. 28. 結論は評価の仕方次第 すでに十分成長しただけ? みんなが飛びつけるようなネタが枯渇? BabyFacebook? 言語成分の減少? そもそもCPAN Authorが増える必要は?
  29. 29. このような分析が必要な理由 どこに注力すべきかのヒントになる イベントなどの見積もりがより正確に 外部への営業資料 求人・求職資料 モジュールの選定などのよすがにも
  30. 30. Mooseがどのくらい使われているかを 調べてみる
  31. 31. CPANTSの データベース を落としてくるhttp://cpants.charsbar.org/static/cpants_all.db.gz
  32. 32. スキーマを調べる$ sqlite3 cpants_all.dbsqlite> select * from sqlite_master;
  33. 33. データを見てみるsqlite> .mode linesqlite> select * from prereq limit 1;
  34. 34. カウントしてみるsqlite> selectcount(distinct(dist)) fromprereq where requires =Moose;
  35. 35. ユーザ数を調べてみるsqlite> select count(distinct(d.author))from prereq as p, dist as d wherep.requires = Moose and p.dist = d.id;
  36. 36. 日本人のID一覧$ perl -MAcme::CPANAuthors -e print join ",", map{qq{"$_"}} Acme::CPANAuthors->new(Japanese)->id
  37. 37. 日本人のユーザ数を 調べてみるsqlite> selectcount(distinct(d.author)) fromprereq as p, dist as d, author as awhere p.requires = Moose and p.dist= d.id and a.id = d.author anda.pauseid in (...);
  38. 38. Distributions That Required ...1000 918 900 854 800 703 700 614 600 Moose Mouse 500 Any::Moose Moo 400 Class::Accessor::Fast 283 294 300 260 236 188 200 164 154 111 116 103 100 103 87 100 67 65 74 54 52 58 18 24 4 0 2005 2006 2007 2008 2009 2010 2011 2012
  39. 39. Authors Who Required ...350 326300 285 269250 214200 Moose Mouse 160 Any::Moose 147 Moo150 127 129 Class::Accessor::Fast 121 96 100100 68 62 63 53 52 485150 40 40 29 29 24 14 12 3 0 2005 2006 2007 2008 2009 2010 2011 2012
  40. 40. 依存ディストリビューション数(国内版)90 838070 6560 5050 Moose Mouse 42 39 38 Any::Moose40 37 Class::Accessor::Fast 32 31 29 2830 27 26 21 2220 17 12 13 12 910 6 40 2005 2006 2007 2008 2009 2010 2011 2012
  41. 41. 依存作者数(国内版)45 414035 33 3030 2625 Moose Mouse 20 Any::Moose20 Class::Accessor::Fast 17 15 1515 14 13 12 10 1010 9 9 9 8 8 7 55 3 30 2005 2006 2007 2008 2009 2010 2011 2012
  42. 42. 観測できること 海外ではすでに15%程度のモジュールが Mooseを利用 海外ではアクティブユーザの2割がMoose を利用 Mooseの重さに耐えられなくなってきた ユーザはMooへ移行中 国内では完全に退潮、代替物への置き換 えもあまり進んでいない
  43. 43. 情報源
  44. 44. CPAN http://cpanmetadb.org/ CPANDB
  45. 45. BackPAN
  46. 46. CPAN Testers http://devel.cpantesters.org/
  47. 47. CPANTS http://cpants.perl.org/
  48. 48. ORDB ORDB::CPANUploads ORDB::CPANMeta ORDB::CPANRT ORDB::CPANTS
  49. 49. metacpan API https://github.com/CPAN-API/cpan-api/wiki/Beta-API-docs
  50. 50. Acme::CPANAuthors
  51. 51.  YAPC / Act nntp.perl.org ATND
  52. 52. 実装例 http://stats.cpantesters.org/ http://deps.cpantesters.org/ http://matrix.cpantesters.org/ http://changes.cpanhq.org/ http://ali.as/top100/ http://acme.cpanauthors.org/ http://cpants.perl.org/
  53. 53. 注意すべきこと 個人情報の扱い 情報源の負荷 他言語との比較
  54. 54. Questions?
  55. 55. Thank you
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×