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
7.3k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
750
Rails 7.1をn倍速くした話
a_matsuda
11
13k
RubyKaigi 2022 After Talk
a_matsuda
0
510
Coming Soon…💎 / coming soon
a_matsuda
12
8.3k
Rails Performance Issues and Solutions
a_matsuda
9
38k
Extending Rails for Real World App Development
a_matsuda
9
7.9k
A RubyKaigi Talk
a_matsuda
8
2.7k
Ginza Rails 1
a_matsuda
6
1.3k
Other Decks in Programming
See All in Programming
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
320
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
愛される翻訳の秘訣
kishikawakatsumi
3
360
Implementation Patterns
denyspoltorak
0
140
開発に寄りそう自動テストの実現
goyoki
2
1.6k
Patterns of Patterns
denyspoltorak
0
390
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
120
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
150
Vibe codingでおすすめの言語と開発手法
uyuki234
0
140
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
420
クラウドに依存しないS3を使った開発術
simesaba80
0
190
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
100
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
48k
Color Theory Basics | Prateek | Gurzu
gurzu
0
160
It's Worth the Effort
3n
187
29k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The browser strikes back
jonoalderson
0
240
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to make the Groovebox
asonas
2
1.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Embracing the Ebb and Flow
colly
88
4.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