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
13
4.7k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
530
Rails 7.1をn倍速くした話
a_matsuda
11
12k
RubyKaigi 2022 After Talk
a_matsuda
0
410
Coming Soon…💎 / coming soon
a_matsuda
12
7.7k
Rails Performance Issues and Solutions
a_matsuda
9
35k
Extending Rails for Real World App Development
a_matsuda
9
7.4k
A RubyKaigi Talk
a_matsuda
8
2.3k
Ginza Rails 1
a_matsuda
6
1.2k
Other Decks in Programming
See All in Programming
イベント駆動で成長して委員会
happymana
1
340
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
200
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
2
130
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.8k
Jakarta EE meets AI
ivargrimstad
0
690
Click-free releases & the making of a CLI app
oheyadam
2
120
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.3k
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Done Done
chrislema
181
16k
Code Review Best Practice
trishagee
64
17k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Fireside Chat
paigeccino
34
3k
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