Slide 1

Slide 1 text

OSS ͱ GitHub (Ծ) @amatsuda

Slide 2

Slide 2 text

self @amatsuda

Slide 3

Slide 3 text

@amatsuda name: Akira Matsuda Twitter: @a_matsuda

Slide 4

Slide 4 text

@amatsuda ౰࣌ͷGitHub͸ΞΧ΢ϯτ໊ʹ Ξϯεί΍ϋΠϑϯ͕࢖͑ͳ͔ͬ ͨ…

Slide 5

Slide 5 text

@amatsuda Ruby on Rails Ruby

Slide 6

Slide 6 text

୅ද࡞ rfd: amatsuda/rfd RubyͰ࡞ΒΕ͍ͯΔFDͬΆ͍ ϑΝΠϥʔ

Slide 7

Slide 7 text

Most Watched amatsuda/kaminari Railsͱ͔ϖʔδωʔγϣϯ͢Δ ϓϥάΠϯ

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

begin

Slide 10

Slide 10 text

ຊ೔ͷ͓୊

Slide 11

Slide 11 text

"OSS ͱ GitHub (Ծ)"

Slide 12

Slide 12 text

GitHub

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

ʮSocial Coding 3෦࡞ʯ RubyKaigi 2011 (2011/07) ʮ ͨͷ͍͠Railsʯ ͱͪ͗Rubyձٞ04 (2011/12) ʮΦϒδΣΫτࢦ޲ιʔγϟϧίʔσΟϯά εΫϦϓτݴޠRuby(Ծ)ʯ σϒαϛ2012 (2012/02) ʮSocial Codingͷੈքʯ

Slide 15

Slide 15 text

ͬ͘͟Γ·ͱΊ

Slide 16

Slide 16 text

GitHub says, "Code is about the people writing it." https://github.com/about

Slide 17

Slide 17 text

Matz says, ʮRubyΛΩϝΔͱؾ͍͍࣋ͪʯ RubyKaigi 2008ͷجௐߨԋʹͯ

Slide 18

Slide 18 text

Social Coding — Ruby RubyͰSocial CodingΛΩϝΔͱ ΈΜͳؾ͍͍࣋ͪʂ

Slide 19

Slide 19 text

GitHub says, "Code is about the people writing it." https://github.com/about

Slide 20

Slide 20 text

Code is about the people writing it. ιʔγϟϧίʔσΟϯά͸ ਓؒࢌՎοʂʂʂ

Slide 21

Slide 21 text

ιʔγϟϧίʔσΟϯάͷੈք ϓϩάϥϚʔʹͱͬͯҰ൪େࣄͳ΋ͷͰ͋Δ ʮιʔείʔυʯ Ͳ͔͜ͷاۀͷ΋ͷͰ͸ͳ͘ Ұ෦ͷίϛολʔͷ΋ͷͰ΋ͳ͘ ίϛϡχςΟͷڞ༗ࡒ࢈ͱͯ͠ ୭΋͕ฏ౳ʹಡΈॻ͖Ͱ͖ΔݖརΛ༗͢Δ

Slide 22

Slide 22 text

ιʔείʔυΛಡΈॻ͖͢Δ ݖརɾࣗ༝ ਓຽͷࣾձ΁ͷ௚઀ࢀՃ ίϛϡχςΟͷ͸͡·Γ

Slide 23

Slide 23 text

ʮίϛοτݖʯis dead ͔ͭͯ͸ಛݖ ࠓ΍୭΋͕ίϛολʔͱಉ͡ಓ۩ Λ࢖ͬͯιʔείʔυΛಡΈॻ͖ ͢ΔݖརΛ༗͢Δ

Slide 24

Slide 24 text

You can commit! ͦΕͰ΋ίϛοτΛ͠ͳ͍ͳΜ ͯɺࢀ੓ݖΛ΋Β͍ͬͯΔͷʹ બڍʹߦ͔ͳ͍Α͏ͳ΋ͷ

Slide 25

Slide 25 text

ιʔγϟϧίʔσΟϯά.is_a ࢢຽֵ໋ GitHub͕ඪᒗ͢Δ“ιʔγϟϧίʔσΟϯά”Ͱى ͬͨ͜͜ͱ͸ɺਓຽʹΑΔιʔείʔυॴ༗͕࣮ݱ ͠ɺίϛολ֊ڃʹΑΔΞϯγϟϯϨδʔϜ่͕յ ֵ໋ͨ͠ͳͷͩͱ͍͏͜ͱʹͳΓ·͢ɻ ιʔγϟϧίʔσΟϯάͱ͸ɺۙ୅࢙ʹͨͱ͍͑ͯ ͑͹ϑϥϯεֵ໋ʹඖఢ͢ΔΦʔϓϯιʔεքͷֵ ໋ͩͱɻ (by @knsmr) http://el.jibun.atmarkit.co.jp/rails/2012/02/21-8270.html

Slide 26

Slide 26 text

2012೥ͷ༧ݴ pullܕ͡Όͳͯ͘pushܕͷ௨஌ ΤσΟλ౷߹ͱ͔ pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β͍CIͷ ίϞσΟςΟԽ Ұ੪ϝϯς͠ͳ͍ϩόετͳGitHub WebΞϓϦͷ͍͍ՃݮͳೝূͰηΩϡϦςΟ͸ େৎ෉͔ʁ

Slide 27

Slide 27 text

…ͦͯ͠2014೥

Slide 28

Slide 28 text

2012೥ͷ༧ݴ pullܕ͡Όͳͯ͘pushܕͷ௨஌ => …ʁ ΤσΟλ౷߹ͱ͔ => Atom pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β͍CIͷί ϞσΟςΟԽ => ͦΕTravis CIͰͰ͖ΔΑ Ұ੪ϝϯς͠ͳ͍ϩόετͳGitHub => ·ͩ… WebΞϓϦͷ͍͍ՃݮͳೝূͰηΩϡϦςΟ͸େৎ ෉͔ʁ => Two-Factor Authentication

Slide 29

Slide 29 text

ຊ೔ͷ͓୊

Slide 30

Slide 30 text

"OSS ͱ GitHub (Ծ)"

Slide 31

Slide 31 text

OSS

Slide 32

Slide 32 text

OSS and me ৬ۀϓϩάϥϚʔ ࣗ෼ͷ࢓ࣄ্ͷ໰୊Λղܾ͢Δखஈ ଞਓͷ໰୊Λղܾ͢ΔOSS׆ಈ (=ʮOSSʹߩݙʯ)͸جຊతʹ͍ͯ͠ ·ͤΜ

Slide 33

Slide 33 text

๻ͷ஌͍ͬͯΔϓϩδΣΫτͨͪ Rails Ruby Kaminari

Slide 34

Slide 34 text

Rails ࠓ೥Ͱ10प೥ །ҰਆDHH 20ਓ͘Β͍(?)ͷίϛολʔ 3500ਓ+ͷʮίϯτϦϏϡʔλʔʯ

Slide 35

Slide 35 text

rails/rails GitHubͷਖ਼ࣜެ։ͱಉ࣌ʹެࣜϦϙδτ ϦΛGHʹҠߦ (2008೥4݄) ౰ॳ͸patchํ͚ࣜͩͬͨͲɺ͠͹Β͘ ͨ͠ΒPRʹҠߦ ਺ඦ݅ͨ·ͬͯͨIssue΋εΫϦϓτͰ Ұؾʹશ෦Ҡߦ

Slide 36

Slide 36 text

GitHub — Rails GitHubࣗମ͕RailsͰ࡞ΒΕ͍ͯΔ GHͰ࠷ॳʹϗετ͞Εͨେن໛ͳ OSSϓϩδΣΫτ RubyίϛϡχςΟͷ೤ڰతͳGit ϒʔϜΛݗҾ

Slide 37

Slide 37 text

RubyίϛϡχςΟͷ ೤ڰతͳGitϒʔϜΛݗҾ Git͕࢖͑ͳ͍ͱύον΋ॻ͚ͳ͍ʂ ओཁͳϓϥάΠϯྨ΋૬͍࣍ͰGHʹ Ҡߦɺͱ͍͏͔ɺҠߦ͠ͳ͔ͬͨ΋ͷ͸ ഇΕͨ ͜ͷͱ͖ɺWEB+DB Vol. 50ಛू2ͷਆGit هࣄ͸·ͩͳ͔ͬͨ…

Slide 38

Slide 38 text

RailsϓϥάΠϯͱGitHub RubyGems Bundler gem-src

Slide 39

Slide 39 text

Gem le source 'https://rubygems.org' gem 'rails', '4.1.1' gem 'action_args'

Slide 40

Slide 40 text

Gem le source 'https://rubygems.org' gem 'rails', '4.1.1' gem 'action_args', git: 'https:// github.com/asakusarb/ action_args.git'

Slide 41

Slide 41 text

Gem le source 'https://rubygems.org' gem 'rails', '4.1.1' gem 'action_args', github: 'asakusarb/action_args'

Slide 42

Slide 42 text

gem-src ͋Β͔͡Ί࢓ࠐΜͰ͓͘ͱɺΠϯ ετʔϧͨ͠gemͷιʔείʔυ ΛGH͔Βcloneͯ͘͠ΕΔɺιʔ γϟϧίʔμʔͷඞਢπʔϧ

Slide 43

Slide 43 text

amatsuda/gem-src Installation: % git clone https://github.com/amatsuda/gem-src.git ~/.rbenv/plugins/gem-src

Slide 44

Slide 44 text

How to patch Rails GitHubͰ΀ΔΓ ίϛολʔͷ୭͔͕ϨϏϡʔ ίϛολʔͷ୭͔͕Ϛʔδ

Slide 45

Slide 45 text

GitHub — Rails Pull RequestΛੵۃతʹ׻ܴ ࣹ޾৺ΛἤΔ(স) ίϛοτ਺ ϥϯΩϯάαΠτ(ެࣜ)

Slide 46

Slide 46 text

contributors.rubyonrails.org

Slide 47

Slide 47 text

github.com/rails organization Railsίϛολʔ͸શһorganizationͷ ϝϯόʔ ຊମҎ֎ͷgemͱ͔΋৭ʑஔ͍ͯ͋Δ ͷͰɺorganizationΛݟͯ΋୭͕Rails ίϛολʔͳͷ͔Α͘Θ͔Βͳ͍…

Slide 48

Slide 48 text

Ruby 20೥+ͷྺ࢙ །ҰਆMatz 3ਓͷϑϧλΠϜίϛολʔ ਺໊ͷ௒ΞΫςΟϒͳίϛολʔ ਺े໊ͷίϛολʔ ͨ·ʹ֎෦͔Βͷύον

Slide 49

Slide 49 text

ruby/ruby

Slide 50

Slide 50 text

GitHub — Ruby ? GitHubࣗମ͕RubyͰ࡞ΒΕͯ ͍Δ ϝΠϯϦϙδτϦ͸svn.ruby- lang.org GHʹϛϥʔ͕͋Δ

Slide 51

Slide 51 text

How to patch Ruby RedmineʹύονΛఴ෇͢Δ bugs.ruby-lang.org ίϛολʔͷ୭͔͕ίϛοτͯ͠ ͘ΕΔ

Slide 52

Slide 52 text

How to patch Ruby (2) GHʹ΀ΔΓ (ӡ͕Α͚Ε͹) ίϛολʔͷ୭͔͕ݟͯ͘ΕΔ ίϛολʔ͕patchܗࣜͷϑΝΠϧΛμ΢ϯ ϩʔυͯ͠git amͯ͠git-svnͰsvnϦϙδτϦ ʹίϛοτ ͠͹Β͘͢ΔͱGH্ͷϛϥʔʹ΋ಉظ͞ΕΔ

Slide 53

Slide 53 text

ͳͥRuby͸GHʹҠߦ͠ͳ͍ ͷ͔ʁ 20೥Ҏ্GHφγͰ΍ͬͯΔ͚Ͳίϛολʔ͸ ಛʹࠔͬͯͳ͍ Windowsαϙʔτ ʮࣗ༝ͳιϑτ΢ΣΞͷ։ൃϓϩηε͕ಛఆا ۀͷϓϩμΫτʹґଘ͢Δͷ͸NGͳͷͰ͸ʁʯ ϛϥʔ࡞͚ͬͨͲ୭΋׆༻ͯ͠ͳ͍͡ΌΜɻ

Slide 54

Slide 54 text

ͳͥRubyͷGHϛϥʔ͸ ྲྀߦΒͳ͍ͷ͔ʁ Rubyʹίϛοτͯ͠΋ίϛοτͷΫϨ δοτ͕࢒Βͳ͍ github.com/ruby/ruby/commitsʹ ΞΠίϯ͕ࡌΒͳ͍ ࣗ෼ͷGHϓϩϑΟʔϧʹ૲͕ੜ͑ͳ͍

Slide 55

Slide 55 text

github.com/ruby organization ruby-lang.orgͷI18nͷϝϯόʔ΋ ࠞͬͯ͡Δ ͷͰɺorganizationΛݟͯ΋୭͕ Rubyίϛολʔͳͷ͔Α͘Θ͔ Βͳ͍…

Slide 56

Slide 56 text

amatsuda/kaminari

Slide 57

Slide 57 text

How could this repo get 4000 stars? υΩϡϝϯτΛ͔ͬ͠Γॻ͍ͨ ʮίϛϡχςΟʯʹࢀՃͨ͠ ίϛϡχςΟͷ༑ਓ͕ͨͪ޿Ίͯ ͘Εͨ

Slide 58

Slide 58 text

υΩϡϝϯτΛ͔ͬ͠Γॻ͍ͨ README, Wiki ͱʹ͔͘ஸೡʹॻ͍ͨ ӳޡ͕ͪΐͬͱ͙Β͍ؒҧͬͯͯ ΋ɺւ֎ͷϢʔβʔ͕͙͢௚ͯ͠ ͘ΕΔ

Slide 59

Slide 59 text

ʮίϛϡχςΟʯʹࢀՃͨ͠ GitHub.is_a ίϛϡχςΟ Ͱ΋ɺGitHub͚ͩͩͱϦΞϧ͡Ό ͳ͍ ͍ͭ΋GitHubͰձͬͯΔΈΜͳʹ ϦΞϧͰ΋ձͬͯΈ͍ͨʂɹ

Slide 60

Slide 60 text

ϦΞϧͳίϛϡχςΟ Asakusa.rbΛઃཱ (2008೥) RubyConf, RailsConf, RubyKaigi ͳͲͷΧϯϑΝϨϯε

Slide 61

Slide 61 text

ΧϯϑΝϨϯεͱ͔ Kaminari࢖ͬͯΔΑʂ ͋Γ͕ͱ͏ʂ ͍ͬͯ͢͝ݴΘΕΔ

Slide 62

Slide 62 text

ϓϩϞʔγϣϯ Ruby on Ales ϥΠϒίʔσΟϯά

Slide 63

Slide 63 text

GitHub is not just a Code Hosting GitHub͸SNS GitHub͸ίϛϡχςΟ

Slide 64

Slide 64 text

GitHub͸ίϛϡχςΟ GitHubͷ͓͔͛Ͱੈքதʹ༑͕ͩͪ Ͱ͖ͨ ϛʔϋʔͳͷͰɺGitHub্Ͱ஌ͬͯΔਓ ʹϦΞϧͰձ͏ͷ͕΋͸΍झຯ GitHubϢʔβʔͷ࠷େͷָ͠Έ͸Χϯ ϑΝϨϯεʹࢀՃ͢Δ͜ͱ

Slide 65

Slide 65 text

εϐʔΧʔͱͯ͠΋ ݺ͹ΕΔΑ͏ʹ RailsConf (2014, γΧΰ) RubyConf India (2014, ΰΞ) RubyShift (2013, ΩΤϑ) Lone Star RubyConf (2013, ΦʔεςΟϯ) RedDot RubyConf (2013, γϯΨϙʔϧ) ...

Slide 66

Slide 66 text

ίϛϡχςΟͷ༑ਓ͕ͨͪ ޿Ίͯ͘Εͨ Twitter Ruby 5 RailsCasts

Slide 67

Slide 67 text

Α͔ͬͨ͜ͱ

Slide 68

Slide 68 text

ΞΠυϧ͔Β΀ΔΓʂ

Slide 69

Slide 69 text

ࣦഊͨ͜͠ͱ

Slide 70

Slide 70 text

໊લ ʮNokogiriʯʹ͋΍͔Δ ໊લ͸ࣦഊ :( ʮಡΈํ͕Θ͔Μͳ͍ʯʮҙຯ͕Θ͔Μͳ͍ʯ ʮεϖϧ͕Θ͔Μͳ͍ʯʮ֮͑ΒΕͳ͍ʯͱւ֎ ͷϢʔβʔʹΑ͘ݴΘΕΔ… Miyagawa͞Μʹஃ্ͰʮΩϥΩϥωʔϜʯͬͯ disΒΕΔ…

Slide 71

Slide 71 text

ڭ܇ υΩϡϝϯτ͕ͱͯ΋ॏཁ ίϛοτΛ͖Ε͍ʹ ໊લॏཁ

Slide 72

Slide 72 text

GitHub.is_a Community! GHͰਓͷͭͳ͕ΓΛ ϑΥϩʔ͢Δ͚ͩ͡Όͳͯ͘ɺ ࣮ࡍʹձͬͯΈΑ͏ʂ ΞΠίϯ͸ɺը૾ͱຊਓ͕Ұக͢ Δ΋ͷ͕๬·͍͠

Slide 73

Slide 73 text

Code! Code!! Code!!! ͱʹ͔͘ίʔυΛॻ͜͏ ຖ೔ίʔυΛॻ͜͏ ͳΜͰ΋͍͍͔ΒίʔυΛॻ͜͏ ૲Λ͍ͬͺ͍ੜ΍ͦ͏ GitHub͸ɺίʔυॻ͍ͯͳ͍ͤ͘ʹ੠͕ σΧ͍ਓͷԽ͚ͷൽ͕ണ͕ΕΔγεςϜ

Slide 74

Slide 74 text

GitHub — ʮ͋ͪΒଆʯͱʮͪ͜Βଆʯͷ ڥ໨͕ແ͍ੈք ίʔυͷԼͷฏ౳ ඞཁͳͷ͸ҰาΛ౿Έग़͢༐ؾ

Slide 75

Slide 75 text

Code is about the people writing it. ιʔγϟϧίʔσΟϯά͸ ਓؒࢌՎοʂʂʂ

Slide 76

Slide 76 text

Let's Social Codeοʂʂ ਓؒࢌՎ͸“༐ؾ”ͷࢌՎοʂʂ GitHubͷૉ੖Β͠͞͸༐ؾͷ ૉ੖Β͠͞ʂʂ

Slide 77

Slide 77 text

end