As you no doubt already know, WordPress in its current form wouldn’t exist if it weren’t for the input of a huge number of developers all over the world, who happily sacrifice their hours to improve upon our favorite content management system.
But for every contributor, there are plenty of others who haven’t added to the ongoing development and support of WordPress. Some simply don’t want to, others feel that they aren’t suitably qualified, and others consider it to be too intimidating or complicated a process.
Today we’re featuring Eric Mann of Jumping Duck Media – a man who has contributed to every version of WordPress in the last two years. Despite that, he doesn’t consider himself a “tech guy”. I first came across Eric via this post on his blog, and was fascinated by his story.
Eric is a great example of how anyone can contribute to WordPress, should they want to.
Tell us a little about Jumping Duck Media, and your work with WordPress.
Jumping Duck Media was originally founded as a publishing company – I knew so many fantastic writers who’d been told over and over again they’d never publish, and I wanted to prove the world wrong. So I started a company, and started publishing books.
Once I got the print stuff off the ground, I saw a huge need for electronic publishing support among small businesses. I started using my existing platform to help clients publish on the Internet too, building blogs, websites, eCommerce gateways, and whatever else was needed to get them started.
WordPress wasn’t the first platform I used – I actually started my first site with a CMS called e107 – but it was the most flexible. If there was something I needed done, there was a hook or a filter so I could do it myself. Its extensibility was so powerful that I dumped my sites off the other system and rebuilt them using WordPress.
Every now and then I’d come across a client need that WordPress couldn’t fulfill either through the core or a plugin – so I’d write a patch and submit it. Most of my early patches were rejected because, well, they were really bad. Poor code, poor execution, or just a misunderstanding on my part of how the code was supposed to function. After a while, though, I got the hang of things.
I’ve been lucky enough to have a patch in every version of WordPress for the past two years. Some have been as trivial as trimming white space from option names (my first patch) to the scroll-to-top functionality in 3.4.
I do try to work with as many developers as I can – I’ve learned a lot over the past couple of years that I can share, but I’m also continuously learning from others in the WordPress community. I volunteer as a moderator on the WordPress Stack Exchange, I drop in on the forums on occasion, and I can be seen on IRC when I remember to turn on my client.
You mention on your About Page that when you ended an internship with a marketing agency in 2008 and looked to your future, you “didn’t understand computers”. What happened between then and now to get you to where you are?
I bought a book and dove in.
When I originally started Jumping Duck Media, it was a part-time publishing project. I was able to find a full-time job doing marketing and strategy for a local tech startup, and they eventually asked me to build out the company’s sales website. Apparently the fact that I had my own .com address meant I understood the Internet. So I stopped at a bookstore on the way home from work one day and picked up a how-to-build-a-website book.
I already knew WordPress as a user. I’d installed it using the one-click installer provided by my web host, but I had no idea how to write PHP. I learned a bit of HTML from the book I bought, and called an old friend from high school to get a crash course in dynamic web development. Keeping my day job depended on me learning how to cut it as a web developer, so I invested several sleepless nights and busy weekends reading books, Googling for samples, and trying to add code that wouldn’t crash my website.
So, honestly, I learned by doing.
You have created several free WordPress plugins. Which are your favorites, and why?
One of the first WordPress websites I worked with included a huge PDF library. The library itself was managed by a plugin called wp-publications-archive that allowed you to upload and manage your own non-post documents from within WordPress. It was fantastic! Until the original developers abandoned the project just after WordPress 2.1 was released. The release of WordPress 2.3 deprecated certain functionality the plugin needed, and it broke. So, I was stuck with a client project that depended on a plugin preventing me from upgrading WordPress.
Instead of just abandoning the project, I forked the plugin, fixed what was broken, and carried on. The plugin still carries the original authors’ copyrights and uses a bit of their code, but it’s evolved quite a bit from that early fork and I have several major updates planned for later this year, too.
I really like the contribution widget because of the number of other contributors who’ve worked on it. The design of the widget was based on the hard-coded “here’s what I’ve added to Core” lists I saw on my friends’ websites. I just made it dynamic. Then I threw it up on GitHub and asked for feedback. One developer tweaked the way I was handling internationalization. Another helped perfect the RegEx. Another offered German-language translation files.
Since its release, four other developers have directly contributed code to the widget project. Two other volunteers have helped with documentation and the creation of the Codex Contributions widget that comes bundled with the plugin.
What drives you as an avid WordPress contributor and champion of open source development?
I wouldn’t have a job today if it weren’t for open source and WordPress, so I do what I can to give back to the community as a way of saying, “thanks”. I also know that the work we’re doing now with WordPress will help train and inspire the next generation of web developers.
Many people are put off from contributing to WordPress due to the presupposition that it is a complicated endeavor. What advice would you give to them?
Well, they’re right. It is a complicated endeavor. But just because it’s complicated doesn’t mean it’s impossible. The best advice I can give to anyone who wants to get involved with WordPress is simply to get involved.
Attend the weekly dev chats on IRC so you can get to know the big players on the core team – and so they can get to know you. Drop in on the support forums when you get a chance and lend a hand. Look for bugs in release candidates and betas of new WordPress versions and post helpful Trac tickets. Write and submit patches on Trac. Write a plugin and release it. Write a theme and release it. Check out the community on the WordPress Answers Stack Exchange. Attend your local WordCamp and get to know other developers in the area.
But most importantly, always remember that you have something to contribute. Even if you’re just starting out as a developer, you are an important member of the WordPress community. Some of our best testers and documentation writers have never written a line of code. There is always someone out there who can learn from you and your experience, so don’t be afraid to get involved and contribute where you can.
Thank you Eric for taking the time to provide such insightful responses to my questions!
I think there is a lot that almost any WordPress user can take away from Eric’s experiences. First of all, you do not need to be a coding expert (or anything approaching such a thing) in order to contribute to WordPress. Secondly, it doesn’t take long at all to get to a level where you can contribute to the core and/or create your own plugins.
No one should feel obligated to contribute to WordPress. However, if you want to, the barriers of entry are essentially non-existent. I’ve lost count of the number of times developers have told me how open and welcoming the WordPress community is, so don’t be afraid to get involved!