Finding the Entrance
Why and how to get involved in the Drupal community
DrupalCamp Montréal 2015
- Slides and speaker notes availableAlina 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 OpinionsIsle of Drupal
- Found: Isle of Drupal
- Landmarks, but no detail
- Maps are static, need another approachHow 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 reviewedReview
- Reviewing is important to the process of making Drupal better
- Does the patch fix the problem?
- Post before and after screenshots
- Check coding standardsReviewed 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 NYCContributions
- 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 eventsKalpana 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 confidenceKaren 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 timeSea 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 involved19
- 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 empathyUsability 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 understandTranslate
- 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 networksCore initiatives
- Interest areas that have strategic importance for the Drupal projects:
configuration management, design, mobile, multi-lingual, web services
- MAINTAINERS.txtAttend 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 beginnerHelp 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 yearStart 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 placeWrite 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 documentationMake 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 improvementsDonate
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 topicsJoin 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 communitySponsor 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 learnersBecome a mentor
- Takes place online and in person
- Online mentoring every week on IRC chat
- In person mentoring at eventsEncourage 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 togetherMy 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 peopleTomorrow
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