Your SlideShare is downloading. ×
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Contribute!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Contribute!

1,222

Published on

Presentation for the Dutch PHP Conference on the various ways to contribute to Open Source Software, how to develop karma in a community, and some rules to make your interactions with other developers …

Presentation for the Dutch PHP Conference on the various ways to contribute to Open Source Software, how to develop karma in a community, and some rules to make your interactions with other developers more fruitful.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,222
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Contribute! Matthew Weier O'Phinney Project Lead, Zend Framework
  • 2. Who are you?
    • Lead an open source project?
    • 3. Contributed code to an OSS project?
    • 4. Written or translated documentation for an OSS project?
    • 5. Answered questions on an OSS mailing list, forum, or IRC channel?
    • 6. Blogged solutions or tutorials regarding an OSS project?
  • 7. Why contribute?
    • You've identified bugs using an OSS project and want them fixed upstream
    • 8. You've created a feature you think fits an OSS project's goals
    • 9. An OSS project has made your life easier, and you want to contribute back
    • 10. Fame, fortune, glory!
    • 11. It's fun!
  • 12. You need karma
  • 13.
    • OSS is a meritocracy
    • 14. Contributions earn you karma
      • Well, good contributions...
  • 15. The Golden Rule...
  • 16. Communication is the key to any good OSS project
  • 17. Communication Channels
  • 24. Mailing lists and forums
    • Ask questions
      • Don't be vague; the more detail the better
      • 25. Don't abuse the list; try things first
      • 26. Don't abuse those who take the time to help you
    • Answer questions
      • Don't denigrate those asking questions
      • 27. Blog questions you answer often
    • BE NICE!
  • 28. IRC
    • Freenode, Efnet, etc
    • 29. Most projects have channels
    • 30. Don't ask questions on channels marked for developers/contributors only
    • 31. Don't paste large amounts of code in the channel; use pastebins
    • 32. Don't be pushy
  • 33. Twitter
    • Ask questions
      • Don't do it often
      • 34. Don't expect an answer
      • 35. Keep it simple
    • Answer questions
      • Don't batch responses
      • 36. Don't be afraid to link to other sources
    • Be nice!
  • 37. Issue Reporting
    • The secret to good reporting:
      • Document your expected results
      • 38. Document your actual results
      • 39. Provide the minimum code necessary to reproduce the results you report
  • 40. Issue Reporting
    • Always pull from the active development branch before reporting
      • Verify the bug still exists
    • Check with developers
      • Verify that the issue isn't actually by design or a misunderstanding on your part
    • If you reproduce case is greater than 20 statements... see if you can reproduce it in less
  • 41. Creating a patch
    • Always create the patch from the root of the branch
      • Typically from your checkout of trunk or the release branch you are using
    • Use the diff tool from the VCS system used by the project
      • svn diff > /tmp/my_patch.diff
      • 42. git log -p <r>..<r> > /tmp/my_patch.diff
  • 43. Testing a patch
    • Help out by testing patches uploaded by others
    • 44. Typically from the branch root:
      • patch -p0 < my_patch.diff
  • 45. Write Documentation
    • Blog – write tutorials, or blog solutions to problems you've encountered.
    • 46. Wiki – if the project uses a wiki for documentation, write documentation directly.
    • 47. Learn Docbook – many large projects use it. Just learn it.
    • 48. Documentation isn't in your language? Translate it!
  • 49. Other activities
    • Join your local user group
      • Share your knowledge
      • 50. Learn from others
      • 51. Collaborate
      • 52. Bug hunts / test fest
    • Attend or speak at conferences
      • Travel and learn from others
      • 53. Evangelize the projects you use
  • 54. What are you waiting for? Feedback: http://joind.in/593 http://twitter.com/weierophinney

×