how users can help a project?
DESCRIPTION
Samisa Abeysinghe. How Users Can Help a Project?. Who Am I?. Samisa Abeysinghe ASF Member WS PMC Projects Started with Apache Axis/C++ Now with Apache Axis2/C and related projects Work Director, Engineering, WSO2 Inc. Why this Title?. I've seen many types of users - PowerPoint PPT PresentationTRANSCRIPT
Who Am I?
• Samisa Abeysinghe – ASF Member
• WS PMC
– Projects• Started with Apache Axis/C++• Now with Apache Axis2/C and related
projects
– Work• Director, Engineering, WSO2 Inc.
Why this Title?
• I've seen many types of users– Helpful, Encouraging, Educating,
Inspiring, Demanding– And few
• Painful
• And I have noted– Rise in enterprise users
• In a hurry• Little understanding on how OSS work
Use it
• And you will run into problems– Ask questions
• On user list please
• And that helps!!!– Someone will answer it– Mail archive becomes a doc– BTW, you too could have used that doc
Use it – Asking
• Right questions, the right way– Ask : Are there leaks with httpd module?– And not: There are leaks, and you guys
are not fixing it?
• Because, more often than not, developers know their code
Use it - Experiances
• Share your unpleasant experiences– Tell us, not others
• How it helps– Improve usability
• Bridge developer – user mind gap
– Because, more often than not we can fix it
• Your platform, setup, use case could be unique
• May be no one tried it ever before• May be no one thought about it
Use it - Report
• Report problems– Raise Jiras
• Provide ample info – tips to reproduce, logs, symptoms
• Know what to provide – each project is unique
– Axis2/C ==> WSDL, messages captured
• How it helps– Fix bugs– Enhancements
Use it – Help Others
• Help others– You faced the same– And you know the fix/workaround
• How it helps– Take off developer burden– Project maturity milestone
Use it – Advocate
• Advocate the project – Blogs
• NOTE: solutions to the blog, problems to the list
• Share the pleasant experiences
– Articles, tutorials
• How it helps– Spread the good word– Developer satisfaction
Document it
• “It's not documented, and I spent this amount of time to figure that out”– Now you know it, please contribute
• And it helps!!!– The next user will benefit
Document it - Review
• You read the current docs– Found errors
• Point them out
– Have suggestions• Let us know
• How it helps– QA the docs
Document it – Fill in Gaps
• You can help fill– It is in natural language, simpler than
code– Help Translate ==> Often only in English
• How it helps– Fix docs faster– Wider adoption ==> Break the language
barrier
Document it - Comments
• Doc comments and code comments– Review them– Help fix them– Again in natural language
• How it helps– Improved code quality– Wider code understanding
Document it - email2doc
• The solutions are in the mail archive– Pick them up– Note them down– Send it in
• How it helps– Time saved for next users
• And developers
Test it – Add
• What you just tested may not have ever been tested before– Contribute your test
• No not your code– IP concerns
• But your test
• How it helps– Wider test coverage– Better problem isolation
Test it – Improve
• Use existing tests– And fill in the missing ones– Often success cases are tested
• Could fill in the failure cases
• How it helps– Improve code coverage
Test it – Heterogeneous
• You may have access to heterogeneous platforms– Interop testing, platform testing
• How it helps– Improve interop and portability
Test it – Tools
• You may have access to tools– We often use open source tools
• valgrind, gdb, ab
– Contribute findings form your tools• Performance, load, memory leaks
• How it helps– Improved quality
Patch it
• Your chance to give it back– And it is not complex
• It Helps!!!– Overall feature improvements– Community spirit
Patch it – Fix
• You found it, you fixed it– Send it to us– Code, docs, build, ...
• How it helps– It is mutually benefiting
• Others can use it• You need not patch next release
Patch it – Issues
• Browse the bug tracker– Sometimes there are simple, trivial ones– You can contribute
• How it helps– Faster fix cycle– You can have it in next release
Patch it – Ideas
• Not sure how to fix, but have an idea– Let us know
• How it helps– More minds, better solutions
Patch it – Test
• Test others patches– See if it works for you– Patching often delayed due to need for
testing
• How it helps– Speed up fix cycle
Patch it – Reproduce
• Some issues are non issues– See if you can re-produce
• Let us know if you can or cannot
– That verifies that it is an issue
• How it helps– Still more QA– Faster fix cycle
Develop it
• New features, modules, samples, docs, tests– Look for abstractions, extension points
• How it helps– Feature enhancements
Develop it – Features
• You already developed a new feature– Give it back– Customizations ==> competitive
advantage• Not give back?• But you already downloaded it
– Downloaded bulk of competitive advantage– Why not upload few? :)
• How it helps– Comprehensive project
Develop it – Porting
• Fixed bunch of stuff– Can contribue– And more importantly continued testing
• Developers may not have access to that platform
• How it helps– Portability
Develop it – Enhancements
• You can be an expert– Performance, memory leaks, language
features, best practices– Review current code and even docs
• Help fix
• How it helps– Superior code, things done right
Develop it – Wish Lists
• You have new requirements/wish lists– Discuss
• On dev list
– Get to know how to do that– Walk the extra mile
• Sometimes discussions go dead• Help implement it• Keep it alive
• How it helps– Feature nirvana
Summary
• You can help– Use
• Ask, share experiences, report, help others, advocate
– Document• Review, fill, comments, emal2docs
– Test• Add, improve, heterogeneous, tools
– Patch• Fixes, trivial issues, ideas, test, reproduce
– Improve • Features, porting, enhancements, wishlist
Links
• Mailing lists• http://www.nabble.com/Apache-f90.html• http://mail-archives.apache.org/mod_mbox/
• This presentation• http://people.apache.org/~samisa/
• A summary• http://www.bloglines.com/blog/samisa?id=62