DrupalCamp Twin Cities 2011 began with a keynote by Angie Byron, known in the Drupal community as @webchick. If you’re not familiar with her awesomeness, here is a bit about her:
Angie is on the Board of Directors for the Drupal Association, and the core maintainer for the just-released Drupal 7. Known simply as "webchick" on drupal.org, she led Drupal’s participation in Google Summer of Code and Google’s Highly Open Participation (GHOP) programs, and guided Lullabot’s collaboration on O’Reilly’s first Drupal book, Using Drupal.
A sought-after lecturer on a variety of topics, especially women in Open Source, she is the featured cover story of April’s Linux Journal.
Her topic for the keynote was "Getting involved in the Drupal Community." The room was packed: even her mom came! She’s a native Minnesotan and grew up in Rochester. So it’s no wonder that she is awesome.
Here’s a bit of what she had to say:
Topics to cover:
- Facts/statistics about the Drupal community
- How to get involved
- Why to get involved
- How to be effective in your contributions
- How to avoid getting the smackdown from angry German developers when you first start to get involved
- Where are we going?
She then led off with a great picture of a giant roomful of Drupal folks. The number one feature of Drupal is the community.
The Drupal community doubles in size with each release. A graph is pretty much logarithmic. There are over 200 local user groups, including four right in the Twin Cities.
Working with the Drupal community is like herding cats: there are thousands of individuals, each scratching their own itches. The trick is how to get people to work together on awesome projects.
Drupal is a do-ocracy: things don’t get done unless people actually do it. There’s no secret cabal of people doing Drupal: we are all responsible for helping to make Drupal what it is. We might not always know what we’re doing, but we have fun doing it!
Drupal has a great community philosophy for people are open and sharing about the cool things they know.
It is easy to be scared about getting involved, like a frightened kitty.
Angie talked about her background. She is a huge geek: her first computer was a VIC-20 and first installed Linux in 1995. Debian fit on seven floppy disks.
She is fiercely passionate about the free software movement since learning its name. All these cool people working together on creating great things. She has actively (and loudly) advocated open source alternatives to friends, family and faculty.
But her first open source contribution was on 2005, one decade after herobsession began. Thought all those other contributors were better than her. Google Summer of Code helped her get involved. That’s where she discovered most people had no idea what they are doing at all!
Her goal is to make sure we don’t have that experence: that we get involved.
Who are contributors?
Contributors are just people who say:
- That’s dumb
- I want to see it fixed
- I can do something about it
People who fit all three of those things power open source. Qualification three does not need to mean you are an expert coder!
People think you must be Albert Einstein smart to contribute to open source. But open source operates on the wisdom of crowds, each of us contributing what we know.
How are improvements made?
This is what people think happens:
Gina the Genius has an idea. She open up emacs. Everybody says that’s amazing, and bam! This amazing thing is now part of Drupal.
Instead, this is what happens:
- Edwina the End User is frustrated about something. She files a bug report in the issue queue.
- Paula the Programer runs into the same issue and finds the issue in the queue. She writes a fix and marks it as Needs Review.
- Tatiana the Tester comes along and says: WTF! This needs work.
- Paula does take two. Needs Review.
- Wendy the poor soul stuck on Windows XP complains that it breaks in IE6. Also, mind your spelling. Needs Work.
- Tatiana says, wow! Much better! Marks it as Reviewed and Tested.
So, if we all do a little bit, cool things happen. Contributions include:
- User support
- QA testing
- Etc, etc.
Coding is just one part of contributions.
People believe things have to be perfect. Make an effort. It might not be perfect. But others will jump in and help. Trying to be perfect removes the opportunity to interact with the community. Sloppy Sam gets to interact more than Perfectionist Pete and learn from others.
Fail early, fail often and fail in public.
There is no "they" out there that creates Drupal.Only "us." And you are part of us.
We need more people to participate. 99.63% downloaded Drupal. 0.32% registered an account. Only 0.05% did something with their account. The people who participate don’t even show up on a piece chart.
How to get started
If you have installed Drupal, you know enough to help people install Drupal. There are 53000 people posting install support requests.
Try to answer one support request a day.
If you know how to use Views or CCK or Organic groups, awesome! Try to make progress on one issue per day. Each time we help someone with Views is one less thing Earl Miles, Views maintainer, has to help with.
If you tried to do something new and found documentation lacking, you can help. Document as you go. Just edit the documentation. Nobody owns the documentation. Help improve it. If you don’t know what you’re doing, that’s great: you can explain things to people who don’t know what they’re doing far better than those who are experts and have forgotten what is hard for newbies.
Don’t have time? Make the time. Everybody is busy. But if we each help, the community is better, and we can more easily take over the world.
Why make the time? The secret to Drupal success is to be one of the 0.05% who helps.
Helping gives other people more incentive to help you. Maintainers of big modules have a time management issue and don’t have too much time to help with support issues: if they recognize you for your contributions, they are more likely to help you.
Helping others also helps you to learn faster. In the long run, this saves time and money.
If you are active in the community, this will help get you more business. If you are a business owner, this will help you attract better people. Become an expert on something, and people will turn to you.
Being involved keeps your finger on the pulse of Drupal. You will know if something is happening that you disagree with. You develop a stronger voice in the community.
How to help effectively
Find places to jump in. Go to Getting Involved on drupal.org. Check out community initiatives.
Seek out the do-ers. Look up maintainers for the modules and themes that you are interested in. Find volunteer coordinators for things like documentation. Get in touch with them.
Where no one’s doing something, step up. Better to ask for forgiveness than permission. There are revisions. If you can break something, it can be fixed.
Get on IRC at http://drupal.org/irc. This is more personal than the issue queues. There are three channels: #drupal for general chit-chat, #drupal-contribute to find out how you can contribute to Drupal and #drupal-support for hand-holding as you are working on things. If you want to help people, jump in at #drupal-support! There will be things you know that can help others.
Remember that we’re all human. Sometimes we have bad days. There may be people who seem like jerks, but remember, they still love Drupal. They may not know how to effectively contribute, but they can learn how to do so.
So where are we going?
Drupal 7 has launched! So now work begins on Drupal 8. Lots of exciting challenges:
- Handle staging between dev sites and production sites, so you don’t have to redo all your work when you go live.
- Integrating HTML5
- Much, much more.
Check out the community initiatives to find where you can help.
Drupal 7 has exciting things happening. Views has a new interface for Drupal 7. The Media module helps with integration of media with content. Lots of other things.
We get decided what will be happening. Get involved and you can shape the future!
Q and A
When people are uncivil, how we do lead them towards civility?
Drinking with them may help, but Angie tries to reach out to people, find out what they are coming from, what their frustration is and help point them in the right direction. She sees herself as a router, connecting people with what will help them succeed. Rarely, people get banned from drupal.org, but that’s a very last resort. There are no magic bullets, but if you help cultivate civility, civility will come.
How do you deal with an angry programmer, if you have a support request and don’t use the right terminology or ask the right question?
Developers sometimes get frustrating when people don’t read their documentation or have to deal with the same thing over and over. If they get mad, try not to take things personally. Maybe they are just having a bad idea. Try to be helpful and suggest something that will make things clearer or work more smoothly. If they know you are there to help, it flips the way an issue is viewed. People view open source as free support. If developers feel people are abusing their time, it gets frustrating. Just try to help and things will work better. Explain your thought process, so they can see where you are coming from. It also helps if you show to developer that going to them is not the first thing you’ve tried in order to get help.
Good tip that if you are a developer, put your documentation in the drupal.org handbook, rather than just in the readme.txt. Makes dealing with support requests easier, since you can link to documentation and ask people to edit it if it makes sense.
How do we deal with differences between communities for Drupal, Joomla! and WordPress?
Nobody is working on collaboration between the various communities: needs somebody to lead that effort. Interested? Step up!
I feel a lot more empowered to get involved with the Drupal community after this keynote. I still feel like I need to learn how to work with Git and how to do patches in order to be more helpful, but I feel more encouraged to head out on that path now. Thanks, Angie!