OSS と GitHub

OSS と GitHub

GtitHub Kaigi の講演 "OSS と GitHub (仮)"の発表スライド http://githubkaigi.org/

76a777ff80f30bd3b390e275cce625bc?s=128

Akira Matsuda

June 01, 2014
Tweet

Transcript

  1. OSS ͱ GitHub (Ծ) @amatsuda

  2. self @amatsuda

  3. @amatsuda name: Akira Matsuda Twitter: @a_matsuda

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

  5. @amatsuda Ruby on Rails Ruby

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

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

  8. None
  9. begin

  10. ຊ೔ͷ͓୊

  11. "OSS ͱ GitHub (Ծ)"

  12. GitHub

  13. None
  14. ʮSocial Coding 3෦࡞ʯ RubyKaigi 2011 (2011/07) ʮ ͨͷ͍͠Railsʯ ͱͪ͗Rubyձٞ04 (2011/12)

    ʮΦϒδΣΫτࢦ޲ιʔγϟϧίʔσΟϯά εΫϦϓτݴޠRuby(Ծ)ʯ σϒαϛ2012 (2012/02) ʮSocial Codingͷੈքʯ
  15. ͬ͘͟Γ·ͱΊ

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

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

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

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

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

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

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

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

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

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

    @knsmr) http://el.jibun.atmarkit.co.jp/rails/2012/02/21-8270.html
  26. 2012೥ͷ༧ݴ pullܕ͡Όͳͯ͘pushܕͷ௨஌ ΤσΟλ౷߹ͱ͔ pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β͍CIͷ ίϞσΟςΟԽ Ұ੪ϝϯς͠ͳ͍ϩόετͳGitHub WebΞϓϦͷ͍͍ՃݮͳೝূͰηΩϡϦςΟ͸ େৎ෉͔ʁ

  27. …ͦͯ͠2014೥

  28. 2012೥ͷ༧ݴ pullܕ͡Όͳͯ͘pushܕͷ௨஌ => …ʁ ΤσΟλ౷߹ͱ͔ => Atom pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β͍CIͷί ϞσΟςΟԽ

    => ͦΕTravis CIͰͰ͖ΔΑ Ұ੪ϝϯς͠ͳ͍ϩόετͳGitHub => ·ͩ… WebΞϓϦͷ͍͍ՃݮͳೝূͰηΩϡϦςΟ͸େৎ ෉͔ʁ => Two-Factor Authentication
  29. ຊ೔ͷ͓୊

  30. "OSS ͱ GitHub (Ծ)"

  31. OSS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  46. contributors.rubyonrails.org

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

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

  49. ruby/ruby

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

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

  52. How to patch Ruby (2) GHʹ΀ΔΓ (ӡ͕Α͚Ε͹) ίϛολʔͷ୭͔͕ݟͯ͘ΕΔ ίϛολʔ͕patchܗࣜͷϑΝΠϧΛμ΢ϯ ϩʔυͯ͠git

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

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

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

  56. amatsuda/kaminari

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

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

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

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

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

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

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

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

  65. εϐʔΧʔͱͯ͠΋ ݺ͹ΕΔΑ͏ʹ RailsConf (2014, γΧΰ) RubyConf India (2014, ΰΞ) RubyShift

    (2013, ΩΤϑ) Lone Star RubyConf (2013, ΦʔεςΟϯ) RedDot RubyConf (2013, γϯΨϙʔϧ) ...
  66. ίϛϡχςΟͷ༑ਓ͕ͨͪ ޿Ίͯ͘Εͨ Twitter Ruby 5 RailsCasts

  67. Α͔ͬͨ͜ͱ

  68. ΞΠυϧ͔Β΀ΔΓʂ

  69. ࣦഊͨ͜͠ͱ

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

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

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

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

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

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

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

  77. end