analyze cpan, analyze community

Post on 23-Jun-2015

1.143 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Fukuoka Perl Workshop #22

TRANSCRIPT

Analyze CPAN,

Analyze Community

Kenichi Ishigaki

(@charsbar)

Fukuoka Perl Workshop #22

Oct 13, 2012

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 BOKUTIN (2007-)

7 HIO (2003-)

8 DMAKI (2003-)

9 NEKOKAK (2005-)

10 YAPPO (2005-)

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-)

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

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-)

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-)

10 YAMAMOTO

(new)

毎年新しい方を紹介できている

コミュニティは順調に成長…

している?

別の視点からも確認してみる

日本人のCPAN Authorは増えている

2000: 17

2001: 25

2002: 30

2003: 44

2004: 58

2005: 101

2006: 152

2007: 193

2008: 222

2009: 249

2010: 274

2011: 294

2012: 311

新しい地域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

2009: Okayama.pm

2011: Hachioji.pm

2011: Perl Beginners

2012: Perl 入学式

2012: Chiba.pm

????: Namba.pm

????: Nara.pm

????: Okinawa.pm

????: Tachikawa.pm

????: Kokusaitenjijoumae.pm

一見順調

もう少し細かく見てみると…

11

6

8

5

14 14

43

51

41

29

27

25

20

17

0

10

20

30

40

50

60

~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

新規CPAN Authors数(日本)

939

398

591

647

776 784

727

778 745

717

798 785 758

616

0

100

200

300

400

500

600

700

800

900

1000

~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

New CPAN Authors (Worldwide)

41 47

245 295 291

173

569

1020

1147

1558

2041 2116

1841

1020

0

500

1000

1500

2000

2500

~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

日本人作者のリリース数

6961

3441

5591

7455

10063

11272

12356 12716

14482

18464

20987

22033 21734

16435

0

5000

10000

15000

20000

25000

~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

Num of Releases (Worldwide)

8 9

17 17

26 28

51

79

91

104 102

95 92

87

0

20

40

60

80

100

120

~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

アクティブな作者数

625 590

755

990

1201 1255

1298

1376

1441

1568

1625 1650 1667

1501

0

200

400

600

800

1000

1200

1400

1600

1800

~2000 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

Active Authors (Worldwide)

305

376 339 639

674

843

782

372

163 78

106

196

86

67

80

201

164

119

53

45

31

247

526 412

351

119

94 140

122

74

78

94

14

64

128

54

0

500

1000

1500

2000

2500

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

リリース数とCPAN Authorになった年の関係(国内版)

2012 (12/17)

2011 (14/20)

2010 (17/25)

2009 (19/27)

2008 (25/29)

2007 (33/41)

2006 (35/51)

2005 (36/43)

2004 (8/14)

2003 (12/14)

2002 (5/5)

2001 (8/8)

2000 (5/6)

~2000 (8/11)

29 25 24 25

23

24 18 16

32

16 17

15

13

9 9

29 22

15

10

10

7

19

15

11

11

8

16

10

8

8

15

12

5

10

9

12

0

20

40

60

80

100

120

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

アクティブな作者数とCPAN Authorになった年の関係(国内版)

2012 (12/17)

2011 (14/20)

2010 (17/25)

2009 (19/27)

2008 (25/29)

2007 (33/41)

2006 (35/51)

2005 (36/43)

2004 (8/14)

2003 (12/14)

2002 (5/5)

2001 (8/8)

2000 (5/6)

~2000 (8/11)

結論は評価の仕方次第

すでに十分成長しただけ?

みんなが飛びつけるようなネタが枯渇?

BabyFacebook?

言語成分の減少?

そもそもCPAN Authorが増える必要は?

このような分析が必要な理由

どこに注力すべきかのヒントになる

イベントなどの見積もりがより正確に

外部への営業資料

求人・求職資料

モジュールの選定などのよすがにも

Mooseがどのくらい使われているかを調べてみる

CPANTSの

データベースを落としてくる

http://cpants.charsbar.org/static/cpants_all.db.gz

スキーマを調べる

$ sqlite3 cpants_all.db

sqlite> select * from sqlite_master;

データを見てみる

sqlite> .mode line

sqlite> select * from prereq limit 1;

カウントしてみる

sqlite> select

count(distinct(dist)) from

prereq where requires =

'Moose';

ユーザ数を調べてみる

sqlite> select count(distinct(d.author))

from prereq as p, dist as d where

p.requires = 'Moose' and p.dist = d.id;

日本人のID一覧

$ perl -MAcme::CPANAuthors -e 'print join ",", map

{qq{"$_"}} Acme::CPANAuthors->new('Japanese')->id'

日本人のユーザ数を調べてみる

sqlite> select

count(distinct(d.author)) from

prereq as p, dist as d, author as a

where p.requires = 'Moose' and p.dist

= d.id and a.id = d.author and

a.pauseid in (...);

18

67

283

614

854

918

703

24 54 65

103

58

100 111

74

4

52

116 103

154

236

294

260

188 164

87

0

100

200

300

400

500

600

700

800

900

1000

2005 2006 2007 2008 2009 2010 2011 2012

Distributions That Required ...

Moose

Mouse

Any::Moose

Moo

Class::Accessor::Fast

14

29

100

214

285

326

269

12

29

40

52

40

53 63

48

3

24

51

62

96

127

147

160

129 121

68

0

50

100

150

200

250

300

350

2005 2006 2007 2008 2009 2010 2011 2012

Authors Who Required ...

Moose

Mouse

Any::Moose

Moo

Class::Accessor::Fast

42

32

21

12

6 4

29

26 27

17

39

28

22

13

9

37

65

83

50

38

31

12

0

10

20

30

40

50

60

70

80

90

2005 2006 2007 2008 2009 2010 2011 2012

依存ディストリビューション数(国内版)

Moose

Mouse

Any::Moose

Class::Accessor::Fast

15 14

9

7

3 3

9

12

10

8

15

13

10

8

5

20

33

41

30

26

17

9

0

5

10

15

20

25

30

35

40

45

2005 2006 2007 2008 2009 2010 2011 2012

依存作者数(国内版)

Moose

Mouse

Any::Moose

Class::Accessor::Fast

観測できること

海外ではすでに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.cpanhq.org/

http://ali.as/top100/

http://acme.cpanauthors.org/

http://cpants.perl.org/

注意すべきこと

個人情報の扱い

情報源の負荷

他言語との比較

Questions?

Thank you

top related