Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSS と GitHub
Search
Akira Matsuda
June 01, 2014
Programming
31
11k
OSS と GitHub
GtitHub Kaigi の講演 "OSS と GitHub (仮)"の発表スライド
http://githubkaigi.org/
Akira Matsuda
June 01, 2014
Tweet
Share
More Decks by Akira Matsuda
See All by Akira Matsuda
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
15
6.5k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
700
Rails 7.1をn倍速くした話
a_matsuda
11
13k
RubyKaigi 2022 After Talk
a_matsuda
0
480
Coming Soon…💎 / coming soon
a_matsuda
12
8.2k
Rails Performance Issues and Solutions
a_matsuda
9
37k
Extending Rails for Real World App Development
a_matsuda
9
7.7k
A RubyKaigi Talk
a_matsuda
8
2.6k
Ginza Rails 1
a_matsuda
6
1.3k
Other Decks in Programming
See All in Programming
フロントエンドのパフォーマンスチューニング
koukimiura
5
2.1k
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
260
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
15
6.6k
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
170
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
270
テスト駆動Kaggle
isax1015
1
650
GPUを計算資源として使おう!
primenumber
1
250
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
ニーリーにおけるプロダクトエンジニア
nealle
0
950
型で語るカタ
irof
0
710
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.8k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Raft: Consensus for Rubyists
vanstee
140
7k
Gamification - CAS2011
davidbonilla
81
5.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
BBQ
matthewcrist
89
9.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Transcript
OSS ͱ GitHub (Ծ) @amatsuda
self @amatsuda
@amatsuda name: Akira Matsuda Twitter: @a_matsuda
@amatsuda ࣌ͷGitHubΞΧϯτ໊ʹ ΞϯείϋΠϑϯ͕͑ͳ͔ͬ ͨ…
@amatsuda Ruby on Rails Ruby
ද࡞ rfd: amatsuda/rfd RubyͰ࡞ΒΕ͍ͯΔFDͬΆ͍ ϑΝΠϥʔ
Most Watched amatsuda/kaminari Railsͱ͔ϖʔδωʔγϣϯ͢Δ ϓϥάΠϯ
None
begin
ຊͷ͓
"OSS ͱ GitHub (Ծ)"
GitHub
None
ʮSocial Coding 3෦࡞ʯ RubyKaigi 2011 (2011/07) ʮ ͨͷ͍͠Railsʯ ͱͪ͗Rubyձٞ04 (2011/12)
ʮΦϒδΣΫτࢦιʔγϟϧίʔσΟϯά εΫϦϓτݴޠRuby(Ծ)ʯ σϒαϛ2012 (2012/02) ʮSocial Codingͷੈքʯ
ͬ͘͟Γ·ͱΊ
GitHub says, "Code is about the people writing it." https://github.com/about
Matz says, ʮRubyΛΩϝΔͱؾ͍͍࣋ͪʯ RubyKaigi 2008ͷجௐߨԋʹͯ
Social Coding — Ruby RubyͰSocial CodingΛΩϝΔͱ ΈΜͳؾ͍͍࣋ͪʂ
GitHub says, "Code is about the people writing it." https://github.com/about
Code is about the people writing it. ιʔγϟϧίʔσΟϯά ਓؒࢌՎοʂʂʂ
ιʔγϟϧίʔσΟϯάͷੈք ϓϩάϥϚʔʹͱͬͯҰ൪େࣄͳͷͰ͋Δ ʮιʔείʔυʯ Ͳ͔͜ͷاۀͷͷͰͳ͘ Ұ෦ͷίϛολʔͷͷͰͳ͘ ίϛϡχςΟͷڞ༗ࡒ࢈ͱͯ͠ ୭͕ฏʹಡΈॻ͖Ͱ͖ΔݖརΛ༗͢Δ
ιʔείʔυΛಡΈॻ͖͢Δ ݖརɾࣗ༝ ਓຽͷࣾձͷࢀՃ ίϛϡχςΟͷ͡·Γ
ʮίϛοτݖʯis dead ͔ͭͯಛݖ ࠓ୭͕ίϛολʔͱಉ͡ಓ۩ ΛͬͯιʔείʔυΛಡΈॻ͖ ͢ΔݖརΛ༗͢Δ
You can commit! ͦΕͰίϛοτΛ͠ͳ͍ͳΜ ͯɺࢀݖΛΒ͍ͬͯΔͷʹ બڍʹߦ͔ͳ͍Α͏ͳͷ
ιʔγϟϧίʔσΟϯά.is_a ࢢຽֵ໋ GitHub͕ඪᒗ͢Δ“ιʔγϟϧίʔσΟϯά”Ͱى ͬͨ͜͜ͱɺਓຽʹΑΔιʔείʔυॴ༗͕࣮ݱ ͠ɺίϛολ֊ڃʹΑΔΞϯγϟϯϨδʔϜ่͕յ ֵ໋ͨ͠ͳͷͩͱ͍͏͜ͱʹͳΓ·͢ɻ ιʔγϟϧίʔσΟϯάͱɺ࢙ۙʹͨͱ͍͑ͯ ͑ϑϥϯεֵ໋ʹඖఢ͢ΔΦʔϓϯιʔεքͷֵ ໋ͩͱɻ (by
@knsmr) http://el.jibun.atmarkit.co.jp/rails/2012/02/21-8270.html
2012ͷ༧ݴ pullܕ͡Όͳͯ͘pushܕͷ௨ ΤσΟλ౷߹ͱ͔ pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β͍CIͷ ίϞσΟςΟԽ Ұ੪ϝϯς͠ͳ͍ϩόετͳGitHub WebΞϓϦͷ͍͍ՃݮͳೝূͰηΩϡϦςΟ େৎ͔ʁ
…ͦͯ͠2014
2012ͷ༧ݴ pullܕ͡Όͳͯ͘pushܕͷ௨ => …ʁ ΤσΟλ౷߹ͱ͔ => Atom pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β͍CIͷί ϞσΟςΟԽ
=> ͦΕTravis CIͰͰ͖ΔΑ Ұ੪ϝϯς͠ͳ͍ϩόετͳGitHub => ·ͩ… WebΞϓϦͷ͍͍ՃݮͳೝূͰηΩϡϦςΟେৎ ͔ʁ => Two-Factor Authentication
ຊͷ͓
"OSS ͱ GitHub (Ծ)"
OSS
OSS and me ৬ۀϓϩάϥϚʔ ࣗͷࣄ্ͷΛղܾ͢Δखஈ ଞਓͷΛղܾ͢ΔOSS׆ಈ (=ʮOSSʹߩݙʯ)جຊతʹ͍ͯ͠ ·ͤΜ
ͷ͍ͬͯΔϓϩδΣΫτͨͪ Rails Ruby Kaminari
Rails ࠓͰ10प །ҰਆDHH 20ਓ͘Β͍(?)ͷίϛολʔ 3500ਓ+ͷʮίϯτϦϏϡʔλʔʯ
rails/rails GitHubͷਖ਼ࣜެ։ͱಉ࣌ʹެࣜϦϙδτ ϦΛGHʹҠߦ (20084݄) ॳpatchํ͚ࣜͩͬͨͲɺ͠Β͘ ͨ͠ΒPRʹҠߦ ඦ݅ͨ·ͬͯͨIssueεΫϦϓτͰ Ұؾʹશ෦Ҡߦ
GitHub — Rails GitHubࣗମ͕RailsͰ࡞ΒΕ͍ͯΔ GHͰ࠷ॳʹϗετ͞Εͨେنͳ OSSϓϩδΣΫτ RubyίϛϡχςΟͷڰతͳGit ϒʔϜΛݗҾ
RubyίϛϡχςΟͷ ڰతͳGitϒʔϜΛݗҾ Git͕͑ͳ͍ͱύονॻ͚ͳ͍ʂ ओཁͳϓϥάΠϯྨ૬͍࣍ͰGHʹ Ҡߦɺͱ͍͏͔ɺҠߦ͠ͳ͔ͬͨͷ ഇΕͨ ͜ͷͱ͖ɺWEB+DB Vol. 50ಛू2ͷਆGit هࣄ·ͩͳ͔ͬͨ…
RailsϓϥάΠϯͱGitHub RubyGems Bundler gem-src
Gem le source 'https://rubygems.org' gem 'rails', '4.1.1' gem 'action_args'
Gem le source 'https://rubygems.org' gem 'rails', '4.1.1' gem 'action_args', git:
'https:// github.com/asakusarb/ action_args.git'
Gem le source 'https://rubygems.org' gem 'rails', '4.1.1' gem 'action_args', github:
'asakusarb/action_args'
gem-src ͋Β͔͡ΊࠐΜͰ͓͘ͱɺΠϯ ετʔϧͨ͠gemͷιʔείʔυ ΛGH͔Βcloneͯ͘͠ΕΔɺιʔ γϟϧίʔμʔͷඞਢπʔϧ
amatsuda/gem-src Installation: % git clone https://github.com/amatsuda/gem-src.git ~/.rbenv/plugins/gem-src
How to patch Rails GitHubͰΔΓ ίϛολʔͷ୭͔͕ϨϏϡʔ ίϛολʔͷ୭͔͕Ϛʔδ
GitHub — Rails Pull RequestΛੵۃతʹܴ ࣹ৺ΛἤΔ(স) ίϛοτ ϥϯΩϯάαΠτ(ެࣜ)
contributors.rubyonrails.org
github.com/rails organization Railsίϛολʔશһorganizationͷ ϝϯόʔ ຊମҎ֎ͷgemͱ͔৭ʑஔ͍ͯ͋Δ ͷͰɺorganizationΛݟͯ୭͕Rails ίϛολʔͳͷ͔Α͘Θ͔Βͳ͍…
Ruby 20+ͷྺ࢙ །ҰਆMatz 3ਓͷϑϧλΠϜίϛολʔ ໊ͷΞΫςΟϒͳίϛολʔ े໊ͷίϛολʔ ͨ·ʹ֎෦͔Βͷύον
ruby/ruby
GitHub — Ruby ? GitHubࣗମ͕RubyͰ࡞ΒΕͯ ͍Δ ϝΠϯϦϙδτϦsvn.ruby- lang.org GHʹϛϥʔ͕͋Δ
How to patch Ruby RedmineʹύονΛఴ͢Δ bugs.ruby-lang.org ίϛολʔͷ୭͔͕ίϛοτͯ͠ ͘ΕΔ
How to patch Ruby (2) GHʹΔΓ (ӡ͕Α͚Ε) ίϛολʔͷ୭͔͕ݟͯ͘ΕΔ ίϛολʔ͕patchܗࣜͷϑΝΠϧΛμϯ ϩʔυͯ͠git
amͯ͠git-svnͰsvnϦϙδτϦ ʹίϛοτ ͠Β͘͢ΔͱGH্ͷϛϥʔʹಉظ͞ΕΔ
ͳͥRubyGHʹҠߦ͠ͳ͍ ͷ͔ʁ 20Ҏ্GHφγͰͬͯΔ͚Ͳίϛολʔ ಛʹࠔͬͯͳ͍ Windowsαϙʔτ ʮࣗ༝ͳιϑτΣΞͷ։ൃϓϩηε͕ಛఆا ۀͷϓϩμΫτʹґଘ͢ΔͷNGͳͷͰʁʯ ϛϥʔ࡞͚ͬͨͲ୭׆༻ͯ͠ͳ͍͡ΌΜɻ
ͳͥRubyͷGHϛϥʔ ྲྀߦΒͳ͍ͷ͔ʁ Rubyʹίϛοτͯ͠ίϛοτͷΫϨ δοτ͕Βͳ͍ github.com/ruby/ruby/commitsʹ ΞΠίϯ͕ࡌΒͳ͍ ࣗͷGHϓϩϑΟʔϧʹ͕ੜ͑ͳ͍
github.com/ruby organization ruby-lang.orgͷI18nͷϝϯόʔ ࠞͬͯ͡Δ ͷͰɺorganizationΛݟͯ୭͕ Rubyίϛολʔͳͷ͔Α͘Θ͔ Βͳ͍…
amatsuda/kaminari
How could this repo get 4000 stars? υΩϡϝϯτΛ͔ͬ͠Γॻ͍ͨ ʮίϛϡχςΟʯʹࢀՃͨ͠ ίϛϡχςΟͷ༑ਓ͕ͨͪΊͯ
͘Εͨ
υΩϡϝϯτΛ͔ͬ͠Γॻ͍ͨ README, Wiki ͱʹ͔͘ஸೡʹॻ͍ͨ ӳޡ͕ͪΐͬͱ͙Β͍ؒҧͬͯͯ ɺւ֎ͷϢʔβʔ͕͙ͯ͢͠ ͘ΕΔ
ʮίϛϡχςΟʯʹࢀՃͨ͠ GitHub.is_a ίϛϡχςΟ ͰɺGitHub͚ͩͩͱϦΞϧ͡Ό ͳ͍ ͍ͭGitHubͰձͬͯΔΈΜͳʹ ϦΞϧͰձͬͯΈ͍ͨʂɹ
ϦΞϧͳίϛϡχςΟ Asakusa.rbΛઃཱ (2008) RubyConf, RailsConf, RubyKaigi ͳͲͷΧϯϑΝϨϯε
ΧϯϑΝϨϯεͱ͔ KaminariͬͯΔΑʂ ͋Γ͕ͱ͏ʂ ͍ͬͯ͢͝ݴΘΕΔ
ϓϩϞʔγϣϯ Ruby on Ales ϥΠϒίʔσΟϯά
GitHub is not just a Code Hosting GitHubSNS GitHubίϛϡχςΟ
GitHubίϛϡχςΟ GitHubͷ͓͔͛Ͱੈքதʹ༑͕ͩͪ Ͱ͖ͨ ϛʔϋʔͳͷͰɺGitHub্ͰͬͯΔਓ ʹϦΞϧͰձ͏ͷ͕झຯ GitHubϢʔβʔͷ࠷େͷָ͠ΈΧϯ ϑΝϨϯεʹࢀՃ͢Δ͜ͱ
εϐʔΧʔͱͯ͠ ݺΕΔΑ͏ʹ RailsConf (2014, γΧΰ) RubyConf India (2014, ΰΞ) RubyShift
(2013, ΩΤϑ) Lone Star RubyConf (2013, ΦʔεςΟϯ) RedDot RubyConf (2013, γϯΨϙʔϧ) ...
ίϛϡχςΟͷ༑ਓ͕ͨͪ Ίͯ͘Εͨ Twitter Ruby 5 RailsCasts
Α͔ͬͨ͜ͱ
ΞΠυϧ͔ΒΔΓʂ
ࣦഊͨ͜͠ͱ
໊લ ʮNokogiriʯʹ͔͋Δ ໊લࣦഊ :( ʮಡΈํ͕Θ͔Μͳ͍ʯʮҙຯ͕Θ͔Μͳ͍ʯ ʮεϖϧ͕Θ͔Μͳ͍ʯʮ֮͑ΒΕͳ͍ʯͱւ֎ ͷϢʔβʔʹΑ͘ݴΘΕΔ… Miyagawa͞Μʹஃ্ͰʮΩϥΩϥωʔϜʯͬͯ disΒΕΔ…
ڭ܇ υΩϡϝϯτ͕ͱͯॏཁ ίϛοτΛ͖Ε͍ʹ ໊લॏཁ
GitHub.is_a Community! GHͰਓͷͭͳ͕ΓΛ ϑΥϩʔ͢Δ͚ͩ͡Όͳͯ͘ɺ ࣮ࡍʹձͬͯΈΑ͏ʂ ΞΠίϯɺը૾ͱຊਓ͕Ұக͢ Δͷ͕·͍͠
Code! Code!! Code!!! ͱʹ͔͘ίʔυΛॻ͜͏ ຖίʔυΛॻ͜͏ ͳΜͰ͍͍͔ΒίʔυΛॻ͜͏ Λ͍ͬͺ͍ੜͦ͏ GitHubɺίʔυॻ͍ͯͳ͍ͤ͘ʹ͕ σΧ͍ਓͷԽ͚ͷൽ͕ണ͕ΕΔγεςϜ
GitHub — ʮ͋ͪΒଆʯͱʮͪ͜Βଆʯͷ ڥ͕ແ͍ੈք ίʔυͷԼͷฏ ඞཁͳͷҰาΛ౿Έग़͢༐ؾ
Code is about the people writing it. ιʔγϟϧίʔσΟϯά ਓؒࢌՎοʂʂʂ
Let's Social Codeοʂʂ ਓؒࢌՎ“༐ؾ”ͷࢌՎοʂʂ GitHubͷૉΒ͠͞༐ؾͷ ૉΒ͠͞ʂʂ
end