SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Introduction to
 Contribution
  WordCamp Orange Country 2012




Mike Schroder (DH-Shredder)
@GetSource - http://www.getsource.net
Who Am I?

•   Mike Schroder, a.k.a DH-Shredder, a.k.a. @GetSource

•   Third Culture Kid, enjoy Coffee & Sailing

•   WordPress Core and Plugin Contributor

•   Happy DreamHost Employee
If you haven’t read ...

•   http://codex.wordpress.org/Contributing_to_WordPress


•   Andrew Nacin’s in-progress handbook:
    •   http://nacin.com/projects/core-contributor-handbook/
Who Contributes?
•   Theme Review Team    •   Polyglots

•   Plugin Review Team   •   .org Systems

•   Core Code            •   Mobile Applications

•   UI/UX Group          •   Documentation

•   Support Forums

•   Accessibility
I’m going to focus on
      Core Code
    contribution.
Core Team?
Contributors.
Contributors.
OKAY.

How can I get on this list
    of AWESOME?
Your First Contribution
Release Cycle

•   http://wpdevel.wordpress.com

•   foreach ($releases as $release)

    •   Planning

    •   Development Cycles/Sprints

    •   Beta

    •   RC
Planning:
Choose the Scope.
Development Cycles:
     Teamwork.
Beta:
No More Features.
Release Candidate:
 Just the Regressions.
Okay. I understand
 the release cycle.
   What’s next?
Start Small.
Look for a Need.
“If it’s not on Trac, it
        doesn’t exist.”
-Pretty much the entire Core Team.

http://core.trac.wordpress.org
Reports are your friend.
•   http://core.trac.wordpress.org/report

•   Next Major Release:
    http://core.trac.wordpress.org/report/6

•   Needs Patch:
    http://core.trac.wordpress.org/report/16

•   Has Patch, Needs Testing:
    http://core.trac.wordpress.org/report/13

•   View Tickets -> Custom Query (i.e. needs-refresh)
Okay. I found a bug.
            Now What?
•   Get the WordPress.org source from trunk.

•   http://codex.wordpress.org/SVN
    •   svn co http://core.svn.wordpress.org/trunk/

•   https://github.com/WordPress/WordPress
Apply the Patch, if any.
•   Right-click on patch download link, copy URL

•   From root of trunk:
    •   wget http://core.trac.wordpress.org/raw-attachment/
        ticket/20000/20000.diff
        (or curl -OL http://core ...)

    •   patch -p0 < 20000.diff
Now, create a patch.

•   Create all patches from the WordPress root within your
    trunk checkout.
    •   svn diff > bugNumber[.patchNumber].diff

    •   e.g. svn diff > 20000.2.diff
Attach a patch.

•   Attach it to the ticket.


•   Add a note to the ticket, so that everyone cc’d is
    notified.
No one has responded.
     What now?
Bother the crowd.
Learn to love IRC.
#wordpress-dev on FreeNode
Ask for help.
Ping those who are
handling your ticket!
Don’t rely on
 wp-hackers.
Twitter is your friend.
Be prepared for rejection.
Iteration is key.
It’s okay if someone else has a
           better idea.
Let’s work together to
make a better WordPress.
Any Questions?
    •   https://irclogs.wordpress.org/

    •   http://lists.automattic.com/

    •   http://core.trac.wordpress.org/

    •   http://codex.wordpress.org/Contributing_to_WordPress

    •   http://nacin.com/projects/core-contributor-handbook/

    •   http://aaron.jorb.in/blog/2010/03/commit-the-story-of-
        writing-a-wordpress-patch/

    •   http://patcheswelcome.wordpress.com/

Mike Schroder (DH-Shredder)
@GetSource - http://www.getsource.net

Weitere ähnliche Inhalte

Ähnlich wie Introduction to Contribution

Becoming A WordPress Beta Tester
Becoming A WordPress Beta TesterBecoming A WordPress Beta Tester
Becoming A WordPress Beta TesterKim Parsell
 
Intro to WordPress Plugins
Intro to WordPress PluginsIntro to WordPress Plugins
Intro to WordPress Pluginszamoose
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colomboSagara Gunathunga
 
How to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityHow to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityTim Donohue
 
Contributing to WordPress core - a primer
Contributing to WordPress core - a primerContributing to WordPress core - a primer
Contributing to WordPress core - a primerlessbloat
 
DNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleDNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleWill Strohl
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer DayKimihiko Kitase
 
WordPress intro
WordPress introWordPress intro
WordPress introdbnorth
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyDocker, Inc.
 
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from TwitterCreating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from TwitterChris Aniszczyk
 
Your first patch to OpenStack
Your first patch to OpenStackYour first patch to OpenStack
Your first patch to OpenStackopenstackindia
 
Your first patch to open stack
Your first patch to open stackYour first patch to open stack
Your first patch to open stackAkanksha Agrawal
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache UsergridDavid M. Johnson
 
What is quality code? From cruft to craft
What is quality code? From cruft to craftWhat is quality code? From cruft to craft
What is quality code? From cruft to craftNick DeNardis
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationNick Josevski
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
 
Contributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the CommunityContributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the CommunityZero Point Development
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and BeyondScott Taylor
 

Ähnlich wie Introduction to Contribution (20)

Becoming A WordPress Beta Tester
Becoming A WordPress Beta TesterBecoming A WordPress Beta Tester
Becoming A WordPress Beta Tester
 
Intro to WordPress Plugins
Intro to WordPress PluginsIntro to WordPress Plugins
Intro to WordPress Plugins
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colombo
 
How to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityHow to "Hack" the DSpace Community
How to "Hack" the DSpace Community
 
Contributing to WordPress core - a primer
Contributing to WordPress core - a primerContributing to WordPress core - a primer
Contributing to WordPress core - a primer
 
DNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleDNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made Simple
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
 
WordPress intro
WordPress introWordPress intro
WordPress intro
 
Learning to code
Learning to codeLearning to code
Learning to code
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from TwitterCreating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from Twitter
 
Your first patch to OpenStack
Your first patch to OpenStackYour first patch to OpenStack
Your first patch to OpenStack
 
Your first patch to open stack
Your first patch to open stackYour first patch to open stack
Your first patch to open stack
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
 
What is quality code? From cruft to craft
What is quality code? From cruft to craftWhat is quality code? From cruft to craft
What is quality code? From cruft to craft
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
Contributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the CommunityContributing Back to WordPress - Getting Involved in the Community
Contributing Back to WordPress - Getting Involved in the Community
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and Beyond
 

Kürzlich hochgeladen

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Kürzlich hochgeladen (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Introduction to Contribution

  • 1. Introduction to Contribution WordCamp Orange Country 2012 Mike Schroder (DH-Shredder) @GetSource - http://www.getsource.net
  • 2. Who Am I? • Mike Schroder, a.k.a DH-Shredder, a.k.a. @GetSource • Third Culture Kid, enjoy Coffee & Sailing • WordPress Core and Plugin Contributor • Happy DreamHost Employee
  • 3. If you haven’t read ... • http://codex.wordpress.org/Contributing_to_WordPress • Andrew Nacin’s in-progress handbook: • http://nacin.com/projects/core-contributor-handbook/
  • 4. Who Contributes? • Theme Review Team • Polyglots • Plugin Review Team • .org Systems • Core Code • Mobile Applications • UI/UX Group • Documentation • Support Forums • Accessibility
  • 5. I’m going to focus on Core Code contribution.
  • 9. OKAY. How can I get on this list of AWESOME?
  • 11. Release Cycle • http://wpdevel.wordpress.com • foreach ($releases as $release) • Planning • Development Cycles/Sprints • Beta • RC
  • 13. Development Cycles: Teamwork.
  • 15. Release Candidate: Just the Regressions.
  • 16. Okay. I understand the release cycle. What’s next?
  • 18. Look for a Need.
  • 19. “If it’s not on Trac, it doesn’t exist.” -Pretty much the entire Core Team. http://core.trac.wordpress.org
  • 20. Reports are your friend. • http://core.trac.wordpress.org/report • Next Major Release: http://core.trac.wordpress.org/report/6 • Needs Patch: http://core.trac.wordpress.org/report/16 • Has Patch, Needs Testing: http://core.trac.wordpress.org/report/13 • View Tickets -> Custom Query (i.e. needs-refresh)
  • 21.
  • 22. Okay. I found a bug. Now What? • Get the WordPress.org source from trunk. • http://codex.wordpress.org/SVN • svn co http://core.svn.wordpress.org/trunk/ • https://github.com/WordPress/WordPress
  • 23. Apply the Patch, if any. • Right-click on patch download link, copy URL • From root of trunk: • wget http://core.trac.wordpress.org/raw-attachment/ ticket/20000/20000.diff (or curl -OL http://core ...) • patch -p0 < 20000.diff
  • 24. Now, create a patch. • Create all patches from the WordPress root within your trunk checkout. • svn diff > bugNumber[.patchNumber].diff • e.g. svn diff > 20000.2.diff
  • 25. Attach a patch. • Attach it to the ticket. • Add a note to the ticket, so that everyone cc’d is notified.
  • 26. No one has responded. What now?
  • 28. Learn to love IRC. #wordpress-dev on FreeNode
  • 30. Ping those who are handling your ticket!
  • 31. Don’t rely on wp-hackers.
  • 32. Twitter is your friend.
  • 33. Be prepared for rejection.
  • 34. Iteration is key. It’s okay if someone else has a better idea.
  • 35. Let’s work together to make a better WordPress.
  • 36. Any Questions? • https://irclogs.wordpress.org/ • http://lists.automattic.com/ • http://core.trac.wordpress.org/ • http://codex.wordpress.org/Contributing_to_WordPress • http://nacin.com/projects/core-contributor-handbook/ • http://aaron.jorb.in/blog/2010/03/commit-the-story-of- writing-a-wordpress-patch/ • http://patcheswelcome.wordpress.com/ Mike Schroder (DH-Shredder) @GetSource - http://www.getsource.net