Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Your first PR: contributing to open-source soft...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gareth Ellis
May 19, 2016
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Your first PR: contributing to open-source software
Lightning talk given to NomadPHP EU May 2016.
Gareth Ellis
May 19, 2016
More Decks by Gareth Ellis
See All by Gareth Ellis
Introduction to SOLID - PHP UK 2017
garethellis36
0
160
Introduction to SOLID - PHPOxford
garethellis36
0
170
Write more expressive tests with Hamcrest
garethellis36
0
67
Write more expressive tests with Hamcrest PHP
garethellis36
0
180
Other Decks in Technology
See All in Technology
AI時代のPRレビューにどう向き合うか?
kairim0
1
220
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
150
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
0
120
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
630
DGX Spark でどこまでハッキングができるのか?
kash1064
0
1.2k
WasmをRustにする
sansantech
PRO
0
220
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
自分で立ててみるLLMサービス
y_sera15
0
160
How to Design Configuration for Rails Applications
willnet
0
170
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
140
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
170
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
610
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.5k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Code Reviewing Like a Champion
maltzj
529
40k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
Transcript
Your first PR: contribu0ng to open-‐source projects Gareth Ellis
(@garethellis) Developer, Language Services, ICON plc For NomadPHP, May 2016
Who am I? • Developer, Language Services group,
ICON plc • Professional developer since 2013 • Co-‐founder/organizer PHPOxford • Occasional contributor to open-‐ source projects
Why should I contribute?
Give something back It’s the circle of life open-‐source
soZware
Self-‐improvement Exposure yourself to new codebases, techniques and pa]erns.
Fun! “It’s good for the soul” Nils Luxton
(@nilsluxton)
What can I contribute?
Iden0fy a project What do you use regularly that
could benefit from some improvements?
Types of contribu0on Submit an issue on Github
Answer a ques0on on StackOverflow Documenta0on Blog post Code!
Contribu0ng to source code Changes can be big or
small
Contribu0ng to source code The project may have already
iden0fied a gap – can you help?
How do I contribute?
Before you begin! Consider discussing what you want to
change with the project maintainers.
CONTRIBUTING.md Read the contribu0ng guidelines.
The process! 1. Fork 2. Clone 3.
Branch 4. Change 5. Commit 6. Push 7. Submit Pull Request 8. Review
Fork
Clone $ git clone
[email protected]
:garethellis36/cakephp.git $ cd cakephp
$ composer install
Clone (2) $ git remote add upstream
[email protected]
:cakephp/cakephp.git
Branch $ git checkout –b my-‐awesome-‐new-‐feature
Make your changes Follow contribu0on guidelines Write tests
as necessary
Commit and push $ git add src/Folder/AnotherFolder/ChangedFile.php $
git commit –m “Here’s a descrip0on of this awesome new feature” $ git push –u origin my-‐awesome-‐new-‐feature
Submit the Pull Request! Screenshot used with permission of
Rob Allen
Submit the Pull Request! (2) Screenshot used with permission
of Rob Allen
Review Discuss your PR with the project maintainers
Make changes if necessary To add changes to your PR, simply change, commit & push
Further reading: Find projects to contribute to:
h]ps://yourfirstpr.github.io/ h]p://issuehub.io/ h]p://up-‐for-‐grabs.net/ Joind.in: h]ps://joind.in/about h]ps://akrabat.com/the-‐beginners-‐guide-‐to-‐contribu0ng-‐to-‐a-‐github-‐project/ (Rob Allen) h]p://www.lornajane.net/posts/2015/code-‐reviews-‐before-‐you-‐even-‐run-‐the-‐code (Lorna Mitchell)
Thanks for listening. h]ps://joind.in/talk/c5551
[email protected]
@garethellis h]ps://blog.garr.co.uk