finding-the-entrance



finding-the-entrance

0 0


finding-the-entrance

Finding the entrance: Why and how to get involved with the Drupal community

On Github alimac / finding-the-entrance

Finding the Entrance

Why and how to get involved in the Drupal community

DrupalCamp Montréal 2015

bit.ly/find-entrance

- Slides and speaker notes available

Alina Mackenzie

alimac

czaroxiejka

char • o • jay • ka

- System administrator and web developer based in Chicago - Learning organizations, automation and making open source friendly to beginners - Doing Drupal for ~4 years, active in the community for ~2 years - Where is the Drupal community?
- "Map of Online Communities" by Randall Munroe of XKCD - Slightly out of date (circa 2010) - Drupal and community have been around longer - ... where is it?
- Drupal community uses IRC for online chat - First search location: IRC Isles - No luck, and too close to Troll Bay
- Bay of Drama? Buzzword Bay? - Adrift in the Sea of Opinions

Isle of Drupal

- Found: Isle of Drupal - Landmarks, but no detail - Maps are static, need another approach

How is Drupal made?

- Maybe we can get a better picture of how community looks like, how it works by looking at how the project is built? - Ever wonder what goes into these files?

Code

- Download Drupal, unpack and open up in a text editor - Different kinds of code: PHP, HTML, CSS, Javascript - How did that code get there? - How do we change the code, and make Drupal even better?

Patch

- First let's think about what changes to code are: adding code, removing code - Changes are grouped together in a set. - Set of changes is packaged into a file ("patch")

- A patch is a plain text file - Lines added are marked with +, lines removed are marked with - - Patch is applied to the project codebase, transforming it - Where do patches come from?

Starting point

- Someone makes a feature request or reports a bug - Create a new issue on drupal.org

I mashed the button, but it didn't do anything.

- Not a great description of the problem, but it's a start - And maybe...

Me too!

- Someone comes along and adds a "Me too!" comment - Meetoos are great. Meetoos validate our pain. - What next?

Issue summary

- Original post serves as "issue summary" - Anyone can add words to the issue summary - Steps to reproduce, screenshots or screencasts - Finally...

A patch appears!

- Someone writes the first set of changes to the Drupal codebase that fix the problem - Maybe patch is incomplete - Maybe automated tests fail - But...

Second patch

- Someone else can build on the work done in the first patch - Process can be repeated, until the patch is ready to be reviewed

Review

- Reviewing is important to the process of making Drupal better - Does the patch fix the problem? - Post before and after screenshots - Check coding standards

Reviewed and tested by community

- RTBC - Drupal core committers review issues that reach RTBC status - They check the changes and commit, if everything looks OK - Issue creator, screenshot creator, patch contributors, reviewers all get commit mentions - Watch this process happen live at 2014 DrupalCamp NYC

Contributions

- Creating an issue, adding information, posting patches and reviewing are all valuable contributions - Invisible element: organizing the event - Let's bring the focus to the people that make the Drupal community - I asked a few people what they do in the community, why they do what they do, and how they got started.

Suzanne Kennedy Dergacheva

I get to meet new Drupal users, get them excited about Drupal and encourage them to get involved and contribute back to Drupal. Suzanne Kennedy Dergacheva pixelite

Pierre Buyle

For me, free software has always been about sharing, not code but knowledge and experiences. Pierre Buyle pbuyle

Trevor Kjorlien

I’ve really enjoyed getting up in front of an audience and trying to explain difficult concepts in simple ways. Trevor Kjorlien trevorkjorlien

Andrew Lindsay

It's given my career a focus and allowed me to do work that I believe in. Andrew Lindsay Mirabuck

Mike Gifford

The Internet changes so fast. If you don't have a lot of smart folks around you that you can trust, you're never going to be able to keep up. Mike Gifford mgifford

Kevin Thull

I used to be that shy guy in the corner, but community involvement has really grown my network and my confidence. I wouldn't trade that for anything. Kevin Thull kthull

- Meetup and camp organizer, print support for Drupal core mentoring - Many firsts: working in the issue queue, attending meetups and camps - Goal: affordable session recording kit - Shares non-Drupal expertise to fill gaps needed in organizing events

Kalpana Goel

It has not only helped me become a better developer but I have recognized hidden skills inside me which I wasn't aware of before. Kalpana Goel kgoel

- Tried different areas in span of about 3 years to find the right place: Drupal 8, Symfony - Contributes patches, reviews, mentors new contributors - Increased social circle and confidence

Karen Da Cruz

It has provided me with plenty of opportunities for growth, exquisite challenges and hard learned lessons. And I am not talking about tech alone! Karen Da Cruz kandra

- Co-organizer of Drupal Lima meetup: shares knowledge through workshops and talks - Introduced by a friend to open source: ability to build sustainable career path - Goal: increase women's participation in the tech community - Visibility converts into reputation, which gives opportunities to grow career-wise and as a person - Let's look at the Drupal island one more time

Sea routes

- Movement: Drupal community is part of intersecting communities - Communities around technologies like PHP - Topics: accessibility, multilingual, user experience, automation - Let's take a look at the many ways you can get involved

19

- 19 ways to "enter" the Drupal community - Not in any particular order - You might already be doing this stuff!

Support

- Do you like figuring things out? Working out a solution within constraints? - Support online: forums, chat. In person: at meetups, user groups - Providing support makes you smarter and trains your empathy

Usability testing

- Do you like to break things? Point out broken things? - Find and document bugs. You don't have to fix them! - Test and review patches: do they work?

Documentation

- "Documentation is worth its weight in code." - All about adding and removing words, like code - Goal: make things clear and easy to understand

Translate

- Do you know a language that's not English? - 100+ translations of Drupal - Fully translated: Ukrainian, Swedish, Spanish - (I'm still hoping someone will translate Drupal into Klingon)

Contribute to Drupal core

- Remember all the contributions that are made on issues? - Front-end or back-end: review code, write code - Always document code: lack of documentation is a bug!

Marketing

- Introduce Drupal to people who haven't heard of it - Tell someone about how Drupal helped you address your needs - Boost the signal on social networks

Core initiatives

- Interest areas that have strategic importance for the Drupal projects: configuration management, design, mobile, multi-lingual, web services - MAINTAINERS.txt

Attend events

- Check this one off the list: you are here and you are awesome - Even if you can't attend in person, watch recorded talks - Give feedback to presenters: "I really liked... I wish that..."

Give talks

- Great way to learn about a topic - 20 minute talk about Vagrant: spent many hours getting into the nuts and bolts of Vagrant - "I'm just a beginner": as a beginner at something, you are already an expert at being a beginner

Help organize events

- Putting on events like DrupalCamp Montréal is a tough but rewarding task - All kinds of skillsets are needed to organize events - Got spare time? Help organize DrupalCamp Montréal next year

Start a meetup

- Maybe there aren't any Drupal user groups in your area - Start your own! It can be hyperlocal: meetup at your workplace, school - Set up a regular time and place

Write blog posts

- Similar to giving talks, except the audience is not looking right at you - Describe a particularly frustrating experience and how you solved it - Blog posts are your personal documentation

Make a podcast

- Somewhere between giving a talk and writing a blog post - Several Drupal-related podcasts to listen to while you are driving or on a train - There is always room to make your own!

Build a module or theme

- Contributed projects are mini-Drupal projects - Important to sustain the core project - Release your custom code to the community - Get others to work on it, find bugs and make improvements

Donate

Drupal 8 Accelerate

- Drupal is free to use, it's open source - Working on open source is not free. It costs time (not spent with family, or working to support oneself) - Drupal 8 Accelerate fund supports work being done on Drupal 8 - Brings people together for critical sprints on important topics

Join Montréal Drupal Association

- Drupal association provides community grants and organizes DrupalCons - Europe, North America, South America, coming in 2016: Asia - Montréal: provide events, help and support to the Montreal Drupal community

Sponsor an event

- Meetups, camps, sprints all need sponsors - Doesn't always have to be money: offer event space? Buy snacks, coffee and tea, lunch? - Benefit: meet current and future developers, contributors, project managers, generalists, designers and learners

Become a mentor

- Takes place online and in person - Online mentoring every week on IRC chat - In person mentoring at events

Encourage others

- A story from DrupalCon Los Angeles - One of the most powerful things you can do is give encouragement to another person, and invite them to do something together

My story

- Went to DrupalCon Denver, Global Sprint Weekend, DrupalCon Portland - Overwhelming, feeling of inadequacy about making a meaningful contribution - Global Sprint Weekend 2014: asked about my goals ("what do you want to learn?"), autonomy in defining objectives was powerful - key benefit: learned to ask questions - what sustains me: being around accessibly smart and kind people

Tomorrow

When you develop an interest, it usually comes from an environment that de-dramatizes things. Because then you’re able to find your own entrance into it. Robyn

- Write down top three things about Drupal (or related technologies) that you are interested in, right now. - Pick a thing on the list. Maybe break it down into smaller parts, if needed - Learn it! And ask questions
Finding the Entrance Why and how to get involved in the Drupal community DrupalCamp Montréal 2015