Contribute!
-
Upload
matthew-weier-ophinney -
Category
Technology
-
view
1.697 -
download
0
Transcript of Contribute!
Notebook
Contribute!
Matthew Weier O'PhinneyProject Lead, Zend Framework
Who are you?
Lead an open source project?
Contributed code to an OSS project?
Written or translated documentation for an OSS project?
Answered questions on an OSS mailing list, forum, or IRC channel?
Blogged solutions or tutorials regarding an OSS project?
Why contribute?
You've identified bugs using an OSS project and want them fixed upstream
You've created a feature you think fits an OSS project's goals
An OSS project has made your life easier, and you want to contribute back
Fame, fortune, glory!
It's fun!
You need karma
OSS is a meritocracy
Contributions earn you karmaWell, good contributions...
The Golden Rule...
Communication is the key to any good OSS project
Communication Channels
Mailing lists
IRC
Forums
Issue trackers
Wikis
Blogs
Mailing lists and forums
Ask questionsDon't be vague; the more detail the better
Don't abuse the list; try things first
Don't abuse those who take the time to help you
Answer questionsDon't denigrate those asking questions
Blog questions you answer often
BE NICE!
IRC
Freenode, Efnet, etc
Most projects have channels
Don't ask questions on channels marked for developers/contributors only
Don't paste large amounts of code in the channel; use pastebins
Don't be pushy
Ask questionsDon't do it often
Don't expect an answer
Keep it simple
Answer questionsDon't batch responses
Don't be afraid to link to other sources
Be nice!
Issue Reporting
The secret to good reporting:Document your expected results
Document your actual results
Provide the minimum code necessary to reproduce the results you report
Issue Reporting
Always pull from the active development branch before reportingVerify the bug still exists
Check with developersVerify 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
Creating a patch
Always create the patch from the root of the branchTypically from your checkout of trunk or the release branch you are using
Use the diff tool from the VCS system used by the projectsvn diff > /tmp/my_patch.diff
git log -p .. > /tmp/my_patch.diff
Testing a patch
Help out by testing patches uploaded by others
Typically from the branch root:patch -p0 < my_patch.diff
Write Documentation
Blog write tutorials, or blog solutions to problems you've encountered.
Wiki if the project uses a wiki for documentation, write documentation directly.
Learn Docbook many large projects use it. Just learn it.
Documentation isn't in your language? Translate it!
Other activities
Join your local user groupShare your knowledge
Learn from others
Collaborate
Bug hunts / test fest
Attend or speak at conferencesTravel and learn from others
Evangelize the projects you use
What are you waiting for?
Feedback: http://joind.in/593http://twitter.com/weierophinney