On Love, Open Source, and Community
I often tell people that I have the best job in the world. Yes, it comes with it’s pitfalls. We work hard, we play harder. But it’s not the people, the parties, the exotic locales, the wardrobe of conference t-shirts, and bookshelves full of swag that make it so amazing. I love this job, because it lets me love the things that are important to me the most that I can.
Over the last 3 years since joining Engine Yard (I celebrated my 3rd anniversary at PHPNW on October 4th) I have been enabled to spend the majority of my time interacting with the PHP community in some way or another—be that in person, as a speaker, a blogger, an author, an open source contributor, an IRC participant, or through twitter.
I’m sure that some of the people who will read this know that I emigrated from UK to the US—this means that my biological family is some 3500 miles (5600km) from me most of the time. This last week, at PHPNW, my mum made the drive from Leicester to Manchester (some 2.5hrs) to come see me—and it was great, of course. But I was just as excited to see my PHP Family. My PHPamily if you will.
My PHPamily encompasses the wider PHP community, as well as the friends I know on a personal basis within that community. These are the people I share my hopes, dreams, fears, and worries with. That I share the best, and worst, moments of my life with. From losing my first wife, to adopting my son. These are the the people I learn from, socialize with, mentor, and grow with—they are my peers.
In my role as Community Engineer, I have tried my best to use my love for the community—which has grown beyond just PHP, to a much larger community, encompassing all developers—to help and guide Engine Yard in ways that benefit us. This means fighting for the community, getting resources to support it, and placing the health of the community above all else. My role is to act as a voice of the community within Engine Yard.
I have never met a community engineer (or developer advocate, or whatever title you want to give it) who didn’t love their community. It is definitely a labor of love.
In addition to being able to pursue my love for PHP and it’s community, two other things have become near and dear to my heart: PHPWomen, and Prompt. Both of these have the same overall goal in mind: make our community healthier. In the case of PHPWomen, by making it more welcoming and inclusive of women. And in the case of Prompt, by tackling a health issue that is prevalent in our field, and needs to be discussed more often.
Every project I’ve worked on that has been meaningful to me in some way has come from a place of love. Love for my craft, love of problem solving, love for the people who’s life I help improve, and love for my family, the community. I know this is a common story. People often volunteer their time to effect change and to make the world a better place.
The last 18 months as a Community Engineer have allowed me to see the best parts of our community. It has also hurt me on two occasions. In both instances, I was hurt because someone attacked something I care about and am personally invested in.
We have to remember that every time we interact with other people, we have an impact on their emotional state. While some people say “attack the code, not the person”, it’s often hard to separate ourselves from the things we pour our hearts into, so it’s good to be understanding and sensitive to this. Empathy is one of the most important skills in open source, as well as in life.
Jenny Wong spoke passionately at PHPNW about the divide between the WordPress and PHP communities. Volker Dusch in his keynote said:
Every time you make fun of a WordPress developer, a [different type of] developer can make fun of you.
They’re both right. The PHP people are poking fun at the WordPress developers. The Go folks are making fun of the Ruby people (those same people they were just months before), and everyone is laughing at the .NET crowd.
A lot of us work in open source because we love what we’re doing. This can mean regularly working on things for long hours—often thankless, and usually unpaid—sacrificing time with our family, friends, and those we love, to make our world better. From the outside, this behaviour might seem absurd, but but we do this to effect change, to make the world a better place, for ourselves, our community, and the population at large.
And while constructive criticism is a vital tool, thoughtless trash talk can be very damaging—to individuals and the community. It’s important that we show compassion for our commonalities, rather than disdain and bad feelings about the minor differences that divide us:
The way you love it, and the way that you find other people who love it the way you do is what makes being a nerd awesome.
— Wil Wheaton on Why it’s awesome to be a nerd
Being hostile to others is the number one way of turning people off from contributing to your project. It creates a perception of us-vs-them that implicitly excludes anyone not already invested in the project. Needless to say, this only hurts your project in the long run. And it contributes to a larger feeling that open source is unwelcoming to newcommers.
By being welcoming to outsiders, and by sharing our love—as well as our code—with other projects, we all benefit. And this is on everyone. We all bear a responsibility to make our community productive, healthy, safe, and fun.
We have so much to learn from each other. We can do so much to improve our lives, and others, by just listening to each other and being respectful of other ideas — no matter their source. To grow as a developer, you should be reaching outside of your comfort zone and seeking out pre-existing solutions in other languages. I’m not saying you should be using those projects, but the true value of open source is the free sharing of ideas.
I love you all. You in particular, for making it all the way down here. Obviously community is important to you too, so thank you for being part of it.
Share your thoughts with @engineyard on Twitter