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
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
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
4.1k
What the customer really needed
kawaguti
PRO
3
210
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
340
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
0
120
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
190
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
100
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
170
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
5
320
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.3k
品質と信頼性を地続きにする
grimoh
2
790
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
The Spectacular Lies of Maps
axbom
PRO
1
1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Code Reviewing Like a Champion
maltzj
528
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Rails Girls Zürich Keynote
gr2m
96
14k
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