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.5k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
760
Rails 7.1をn倍速くした話
a_matsuda
11
13k
RubyKaigi 2022 After Talk
a_matsuda
0
510
Coming Soon…💎 / coming soon
a_matsuda
12
8.4k
Rails Performance Issues and Solutions
a_matsuda
9
39k
Extending Rails for Real World App Development
a_matsuda
9
8k
A RubyKaigi Talk
a_matsuda
8
2.7k
Ginza Rails 1
a_matsuda
6
1.4k
Other Decks in Programming
See All in Programming
Apache Iceberg V3 and migration to V3
tomtanaka
0
140
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
MUSUBIXとは
nahisaho
0
130
CSC307 Lecture 06
javiergs
PRO
0
680
Grafana:建立系統全知視角的捷徑
blueswen
0
320
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
高速開発のためのコード整理術
sutetotanuki
1
380
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
160
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
AI時代の認知負荷との向き合い方
optfit
0
140
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
100
Joys of Absence: A Defence of Solitary Play
codingconduct
1
280
Skip the Path - Find Your Career Trail
mkilby
0
52
How to build a perfect <img>
jonoalderson
1
4.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
80
Optimizing for Happiness
mojombo
379
71k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Building Applications with DynamoDB
mza
96
6.9k
How to Ace a Technical Interview
jacobian
281
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
300
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