Gave a talk at Shifting to FOSS 2015 by NSBM Free & open Source Communities about How to Work with Communities and What are the advantages for starters.
1. COMMUNITYC O N N E C T – C O N T R I B U T E - C O L L A B O R A T E
R U W A N R A N G A N A T H
Dell Power Ambassador / Mozilla Sri Lanka Community event Organizer / Open-Source enthus
2. AUDIENCE VS. COMMUNITY
• one-way.
• Not interactive.
• Not social.
• Passively watches or reads.
• Doesn’t participate. Or
• share with others
• Two-way conversation.
• A living, breathing thing.
• Extremely interactive.
• *Social.
• Share
3. WHAT IS COMMUNITY WORK?
• being involved in groups or associations
• being a volunteer or unpaid worker
• being involved in a non-profit, not-for-profit, or charitable organization or
association
• doing public interest or public benefit work
• doing work for a “cause” or a “calling”.
5. • “I’m not a very good programmer.”
• “I don’t have much time to put into it.”
• “I don’t know what project to work on.”
6. BUT , REMEMBER…
• Projects need contributions from everyone of all skills and levels of
expertise.
• The smallest of contributions is still more than none.
• The best project to start working on is one that you use already.
8. START LISTENING
• Join a mailing list
– lists.mozilla.org / lists.fedoraproject.org
• Follow a blog
– planet.gnome.org / planet.mozilla.org
• Join an IRC channel
– https://wiki.mozilla.org/IRC
9. WORK WITH TICKETS
• Diagnose a bug
– Is it repeatable?
– Can you create a set of steps to cause the problem repeatedly?
– Can you narrow down the problem,
– such as only happening on one browser but not another, or one distro but not another?
• Close fixed bugs
– Years old tickets / Change log /
code isn’t the only way to contribute
10. WORKING WITH CODE
– All experience levels can help with the code in the project
– Each project has its own workflow,
– Responsible Coding structure
• Test a beta or release candidate
– download, build, and test the software
Fix a bug Write a test
Silence a compiler warning Add a comment
11. WORK WITH DOCUMENTATION
• Newbie ? Awesome !!!
• Create an example
– Installation
– How to … (consider creating a screen-capture)
12. WORK WITH COMMUNITY
• Answer a question
– Reputation.
– Community Recognition
• Write a blog post
– Experience and Problem solving .
– Job Hunting
• Improve a website
– GFX , Web Design etc ..
• Localization
13. SOME PLACE TO START
• https://github.com/explore
• https://github.com/showcases
• http://stackoverflow.com/
• Foss.nsbm.lk/forum
For many projects, the mailing list is the main conduit of communication about the development of the project
Blogs maintained by core developers often give information about what’s coming up in future releases
Many open source projects have dedicated Internet relay chat (IRC) channels where developers and users hang out to discuss problems and development.
If a user reported, “The software doesn’t work when I do X,” spend some time to figure out the specifics of what goes into that problem.
Is it repeatable?
Can you create a set of steps to cause the problem repeatedly?
Can you narrow down the problem,
such as only happening on one browser but not another, or one distro but not another?
Even if you don’t know what causes the problem, the effort you put into narrowing down the circumstances makes it easier for someone else to fix it. Whatever you discover, add it to the ticket in the bug system for all to see
Each project has its own workflow, so ask about how to do it before you set out to submit code.
Whenever you modify code, make sure that you act as a responsible member of the community and keep your code style to match the rest of the codebase.
but it’s rude to submit a code change that doesn’t match the existing standards. It’s the same as saying “I don’t like your style, and I think mine is better, so you should do it my way.”
Any project that’s designed to run on multiple platforms can have all sorts of portability problems. When a release approaches and a beta or release candidate is published, the project leader hopes that it will be tested by many different people on many different platforms. You can be one of those people and help ensure that the package works on your platform.
There is no project that has too many how-to examples. Whether it’s a web API, a library of routines
if he’s asking a question where you could easily throw back a quick “RTFM,” pays off down the road in getting another active member of the community. Everyone starts out somewhere, and projects need a constant inflow of people if they’re to stay vital.
If you’ve got a blog, write about your experiences with the project that you’re using. How you sloved it.
Hunting Jobs Experience with Blogs
http://mozilla.locamotion.org/