how users can help a project?

35
How Users Can Help a Project? Samisa Abeysinghe

Upload: kristen-mccullough

Post on 01-Jan-2016

26 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

How Users Can Help a Project?

Samisa Abeysinghe

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

Users Can Help Projects

Enjoy Using!!!