Being a Good Member of the Community
Disclaimer: I've been waiting, a long, long time to write a post like this. Passion may be present...
Those are the first two paragraphs from my in-progress memoir titled Memoirs of a
Geisha Walsha. All jokes aside, over the past five years, I've had a quite an experience with MooTools, Dojo, and Mozilla communities. I'm not the most talented developer in the world but I tend to fit in well with different communities. In working within each of those communities, I've seen what works, what doesn't, and what ... the hell. Here are a few thoughts on my experiences in these communities and how you can be an ideal member.
Don't Be an Asshole
The number one thing that brings a community down, and brings a member's credibility down, is being an asshole. You know the guy. His code is always better. His idea is always smarter. His opinion is always right. His mouth probably needs a punch, too. Being an asshole in a community is just about the worst thing you could do. You turn off other contributors, you alienate yourself from everyone else, and your opinions are instantly disregarded, even if they're good.
The biggest problem is that assholes don't recognize that they're assholes, and usually continue their rampage while loads of valuable community members leave.
Find a Role, Be Good at It
Finding your role in a community is the best way to establish yourself. Whether your strengths are documenting, providing general IRC or mailing list help, fixing bugs, creating new functionality, or creating plugins, you're an important part of the community.
No one of those roles is any more important!
Being good at and taking on a specific role provides stability within the community and positions you as a point person for other people. Other community members with the same skill set will look up to you and you'll be able to help them grow.
Include, Don't Exclude
This simple rule takes on a number of different meanings:
- Don't exclude known members of other communities; don't be adversarial
- Don't exclude members of your own community that are known for different roles; let others dip their hands in all pots
- Don't exclude new people: every potential new member of the community has value
Exclusionary practices by any member of a community reflects poorly on all member of the community.
Keep tabs with, interact, and become a member of other similar communities. Doing so provides the opportunity to learn from other communities, take ideas from code or initiatives, and generally network with people of the same interests. You'll be surprised at the benefits of doing so, job opportunities being one of those benefits.
Working hard is especially important at the beginning. Showing other members of the community how hard you're willing to work is a great way to become accepted. This can't be stressed enough; effort is the number one source of appreciation in a community.
Those are my initial thoughts. Let me know if I'm off-base on any of these thoughts. Most importantly though: have a positive impact on your community. No one likes the guy that brings people down.