350 likes | 413 Views
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
E N D
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 • 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
In a Nutshell • How to help? • Use • Document • Test • Patch • Improve
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 • You try it ==> you test it • It helps!!! • Free QA
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
Comments & Questions • What do you think? • Any comments? • Any additions?
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
Enjoy Using!!! Users Can Help Projects