Why Get Into Open Source - Hear from Real Open Sourcers

Posted by Naveen Bala at 11:02PM Sep 30, 2008

Add to Google Email AddThis Social Bookmark Button

In Open Source - Whats in it for Me, we looked at the MIT & Boston Consulting study on the motivations to contribute to Free/Open Source projects. Lets hear from "real" people who are actively involved in different open source projects.

The open sourcers we talked to got started in many different ways... brian d foy started with a real need and now is an author and an expert, Dougal started in open source as a hobby and converted it into a paying career, Derrick contributes in his free time, Colin got a job because of his involvement in open source, Alan's company supports his open source project, and Angela started in Google code camp and now her day job is very similar to her open source work.

Here is a brief introduction of our panel of Open Sourcers....

brian d foy, publisher and editor of The Perl Review, co-author of books on Perl including Learning Perl and Intermediate Perl, founder of Perl Mongers, and a veteran of the Iraq War. His website.

Alan Williamson, author of Java Servlets, Java Server Programming J2ee 1.2, is a veteran of Java. He was the editor-in-chief of Java Developer before founding LinuxWorld. Alan has contributed to multiple Apache projects, maintains open source projects - MailCatcher, Blackbadger and is currently the chairman of the steering committee of OpenBlueDragon, an open source Java CFML runtime engine. Here is his list of impressive achievements.

Colin Walters, has been hacking on projects for over 9 years, started in Emacs, became a Debian developer, moved to GNOME and then was hired by RedHat to do more development in GNOME. He was involved in the Debian Desktop subproject that aimed to simplify Desktop Linux. Colin is based out of Cambridge MA. Read his Whence world domination? where he analyzes how to increase the use of GNOME and Free Software in general on the desktop. His Blog.

Angela Byron, got her start in the Drupal community as a student in the Google Summer of Code 2005 program. Angela currently sits on the board of Drupal. Her contibutions includes coding and reviewing patches for both Drupal core and contributed modules, large-scale developer documentation efforts, user support on forums and IRC, and the occasional graphic or two. She is now working as a senior web architect for Lullabot, providing consulting and training for Drupal and other open source software. Her Blog.

Derrick Devine, works as a Server Administrator for Wayne Memorial Hospital. He started MyPCLinuxOS in 2006, a community project for PCLinuxOS. Derrick believes that improvements in documentation, processes, and user interfaces can make Linux more attractive to new users. He is the webmaster for 4 major websites in the open source world and he has recently joined the developer ranks for PCLinuxOS. He also helps develop Foresight Linux on the KDE team there. His Yet Another Linux blog chronicles his desktop Linux learning experience and provides tips and tricks to the community.

Dougal Campbell
a developer in Wordpress project, is actually Ernest MacDougal Campbell III, who lives in Canton, GA. Dougal is listed as "Developer Emeritus" in the wordpress project and his latest speaking engagement was at Birmingham Wordcamp on the topic "The Future of Wordpress". He has contributed various plugins - Spammer TarPit, HeadMeta, and the Text Filter Suite.  He is married with 3 kids and a dog. You can follow his Geek Ramblings here


Q: What was your motivation to Contribute?

 brian d foy on Perl:

I started using it when I was doing physics and needed to process the output of simulations. I didn't have to shop around because there really wasn't another tool that could handle that at the time (although now there are several options). I was getting my work done orders of magnitude faster than the people around me, even after only knowing Perl for a month.


Alan on MailCatcher, Blackbadger, OpenBlueDragon:

What a wonderful question, motivation.  I suspect if you were to ask a number of people you would get different answers.  For me, it was part guilt, part altruism.   Being a software engineer, you have to do pretty well NOT to hit up against open source software at some point and once you discover the power and energy it has to offer, you do feel you want to give back.

OpenBlueDragon was a different motivation though.  That is a project we open sourced ourselves after nearly 10 years of development.   We believed that if given the tools people can do so much more.

 Colin on Gnome:

The ability to change and improve the computing experience.  With proprietary desktops you're largely stuck with what you get

 Angela on Drupal:

I've been into open source for a long, long time and made a few posters for the folks at http://www.spreadfirefox.com/, which is a massive community marketing site for the Firefox web browser. Being a web geek, the first thing I do when I visit a site is "view source" to see what's going on under the hood. When I saw the site was running Drupal, I tucked that away for future reference.

A few months later, Google announced the Summer of Code program and Drupal was one of the organizations to apply to. Since Drupal was enabling such an awesome grassroots community, and in doing further research was also used to power political activism sites, it felt like something I wanted to be a part of. :)

 Derrick on Linux:

Originally, I wanted to get Solaris functions onto a computer that I could use at home.  This is circa 1995 and I was compiling eggdrop bots for IRC at college and wanted to continue to tweak and compile at home.  Slackware allowed me to do that.  From that moment on, I was hooked on Linux.

Dougal on Wordpress:

The short answer is the usual one for why many people become in Open Source projects: to scratch an itch. The WordPress project started up right around the same time that I was looking for a better framework for my own site. Somehow, I crossed Matt Mullenweg's radar, and he asked me if I'd like to help out. I jumped in and I was able to make some contributions to the codebase that I'm still pretty proud of.

The long answer is a a bit of a history lesson, so hope you don't mind my rambling...

Several years ago, before there even *was* a WordPress, I had a website up that was just a jumbled up mess. Nothing was organized, and you sometimes couldn't even tell what the newest items on the page were.  However, I had also created another website that was more of a weblog, dedicted to collecting anti-spam information for customers of the ISP that I worked for. That site was driven by PHP and MySQL and had various sections for different types of information (news, FAQ, glossary, etc.). I eventually decided that I wanted to organize my own home page in a similar way. But I had never gotten around to making a back-end interface for my anti-spam site -- I just used phpMyAdmin to enter items directly into my database.

So, I decided that I could either write a backend for my existing system, or try to see what blog software other people had created. There were a few options available such as Movable Type, PhpNuke, b2, and a handful of others.  I really liked b2, because it had a good existing feature set, and I could see that the author had already put some thought into security, and the code was broken down into small, useful functions. However, the the author of b2, Michel Valdrighi, had pretty much abandoned the project due to time constraints. There were a couple of forks, like b2 Evolution, and I began to look at those. It was right around this time that Matt Mullenweg contacted me and told me that he was going to take over b2 development with Michel's blessing, and asked if I wanted to join in the project. At first, I respectfully declined, because I had become very busy at work, and I didn't want to promise to help with something and then not have time to actually do anything. But I kept tabs on the new project, which was soon officially named WordPress.

A couple of months went by, and things eased up at work, so I contacted Matt and asked if he still wanted my help. He asked what I'd like to work on, and I offered to clean up some of the RSS support and add MetaWeblog API support, since I already had familiarity with those from my work on MyPhpBlog. Later, I extended the system with support for the Movable Type API, added Conditional GET support for feeds, and developed the original Custom Fields (AKA "post meta") functionality, among other things. Over time, I became busy again, and eventually dropped out of active development. I'm now listed as a "Developer Emeritus" for the project.

Even though I'm no longer a primary member of the WordPress team, I obviously still keep my finger on the pulse. I'm working as an independent web developer, and the majority of the projects I work on involve custom development for WordPress-driven web sites. So WordPress development for me went from a personal hobby to a paying career.

 
Q: What do you most like about working in your project?

 brian d foy:

The most amazing part of Perl is the community. People are constantly surprised that Perl people know each other and talk to each other. The community mostly self-organizes and supports each other in a way I haven't experienced or seen in other programming language communities. I regularly talk to and meet people from around the world.

 Alan:

The sense of putting a little bit back.  Whether its helping someone solve a problem, or contributing hard code, the feeling is the same.  I am a big believer in the 'barter' system; not everything needs to be distilled down to how many dollars or pounds its going to cost.   If i need help setting up a web server today, then maybe in return I can help someone setup a database server tomorrow.  Its all about all pulling together for the common good.

 Colin: 

When we create something that has an impact.

 Angela:

Definitely working within the community. The Drupal community is fantastic: filled with smart people from all over the world who are really supportive and enthusiastic about helping newcomers to get involved. I learn something new from them every single day, and meet new friends, too!  :)


Derrick:

I like the fact that I can work with so many others who are just as passionate about the software as I am.  My strong point isn't coding. I'm fairly good at documentation.  My real strong point is in managing people and resources (communities).  Using this skill really pulls teams together to work toward a common goal and I love doing this on a daily basis with my favorite distribution, PCLinuxOS

 Dougal:

I like the fact that it is so flexible. Most people think of WordPress as "weblog" software, but you can create themes and plugins for it that will make it suit just about any kind of website. I've literaly had dozens of people ask me, "I want a website that does [X]. Can WordPress do that?" And I've never had to say "no".

Q: How is it different from your day job?

 brian d foy:

My day job is Perl. I work for Stonehenge Consulting Services (www.stonehenge.com) as a Perl trainer and writer, and I publish The Perl Review (www.theperlreview.com). Most of my job is working with the Perl community to get something done.

 Alan: Not that different to tell you the truth.

 Colin: It is my day job!

 Angela:

I actually work extensively with Drupal for my day job, so in some ways they're pretty much the same. The company I work for, Lullabot, is a Drupal consulting company. So in a typical week, I might be helping a client with a particularly gnarly Drupal bug and submitting a patch to fix it, or doing on-site Drupal training for a large company's development team, or writing documentation that sums up research for a client and sharing it with both them and the larger community, or developing a new Drupal community module that one of our clients needs. It's a pretty sweet gig

 Derrick:

It isn't much different :)  I get to work with Linux every single day at rPath, Inc.  I'm a technical writer there so while I don't get to do the community stuff, I do get to work with Linux daily.

 Dougal:

I have the good fortune that it *is* a good portion of my day job! Since working with Crowd Favorite, most of the projects I have are WordPress sites. In fact, I think I only had one project that hasn't involved WP (the early prototype work for Addictomatic). And I've had one other project that is indirectly related to WP (a perl program which extracts content from web pages for import into WordPress). The rest of my projects have all been for sites that use WordPress extensively.


 Q: What kind of people can get invloved in your project? How does one get started?
 

 brian d foy:

Anyone - Perl is for everyone (although everyone might not be for Perl). In my Perl classes, I always see a range of people and what they want to accomplish. Perl is good for the "accidental programmer" who just needs to process some data, but can also build large enterprise systems.

It's very easy to get started. Most systems come with Perl, so many people might already have it. For Windows, people can download and install Strawberry Perl  or ActivePerl which both come with everything you need to get started. To start learning Perl on their own, people can start with _Learning Perl_ (by Randal Schwartz, Tom Phoenix, and I), start reading Perlmonks.org and Use.perl.org, and just trying things. There are several Perl mailing lists (lists.perl.org) that cover general and targeted discussions of almost any Perl topics.

People can also try attending a Perl event, such as a workshop or a conference, which often have low-cost Perl classes. There's a list of all Perl events on The Perl Review Community Calendar. People can also look for a local Perl Mongers group to meet Perl people who might be able to help them.

To get started in the community, just start talking to people and doing cool things. Nothing gets done without someone doing it, and there's plenty of non-technical work, such as organizing a workshop, designing a web site, or something else. Every little bit helps, and I've seen people start with a small project end up organizing the most important Perl conferences.

 Alan:

Everyone from all sorts.  Merely subscribing to the mailing list and reading and you are already contributing.  Answer or help in an email thread and boom, you've just contributed.  It really is that easy. After that, its just like learning to swim, you keep wading deeper into the pool as your comfort and time permits.

 Colin:

Anyone - from high school students to professionals.  The Google Summer of Code project has been very helpful in getting new people to jump through the process hoops and start contributing.
The best bet is to pick a particular area of interest - this could be improving translations into your language, or low level technical work to reduce memory usage, or it could be small improvements to your favorite application (say Inkscape).  Once you've decided what is interesting, find the mailing list and see who's involved and how it works.  After you get in touch with the right people, you should be set.

 Angela:

Drupal, like most open source projects, always as tons of stuff to do, for pretty much any skill set. If you're a developer, you can create your own modules or extend some of the existing ones, or even work on core itself. If you're a designer, you can create themes, promotional materials, icons, and other graphics. If you're a good communicator, you can help out with marketing, documentation, and user support. And if you're new, providing usability feedback and flagging documentation bugs are really useful things anyone can provide.

Drupal has a "jump-off" page for ways that you can get involved at http://drupal.org/contribute.

 Derrick:

The kind of people I most often see are those that are comfortable with computers in general.  These people do more than just surf the web and email...they often times are curious at what more they can do. In order to get started, I recommend trying out a LiveCD of Linux. It's the quickest and easiest way to "try out" Linux without doing any damage to your system at all.  PCLinuxOS is a live CD.  Live CD's do not install on your hard disk but run entirely in system RAM and off a compressed filesystem on a CD.  It's a great way to see what Linux can do.

 Dougal:

Just about anybody with a little time and motivation can get involved in some way. Even if you aren't a programmer who can create code, or a designer who can make themes, there are other ways to be involved. There is the Codex, which is the wiki that holds a great repository of documentation about WordPress. Since the WordPress system itself is constantly moving forward, there is a need to keep the wiki up-to-date.

Anyone who is multilingual can contribute translation work. One can participate in the support forums. You can set up a test install of the bleeding-edge WordPress code and file bug reports on anything that doesn't appear to work just right. Or you might just find a new and interesting way to take advantage of an existing feature, and write up some instructions for how others can do the same thing.

I am always running across people who have invented some novel way of accomplishing something in WordPress and saying, "why didn't I think of that?"

 Q: What should be the expectations when one gets started on a open source project?

brian d foy:

I think it's best not to have expectations. The way to stay sane in programming (in any language) is to adapt to what you are doing rather than making it adapt to you. The other side isn't going to change. People get out of Perl what they put into it, so with a little bit of work, people will be able to do quite a bit.

Alan:

None.  I think its important to understand that the whole premise of open source in many respects is karma.  What goes around comes around. You will get out of it what you put into it.

For graduates coming into the software world straight from university and college, the best thing they could do is to get involved in an open source project.

It illustrates to an employer that you can work in a team environment, you can contribute, you can listen and offer views, and if need, you can actually code.   Many companies will hire straight from open source projects, not even looking for a resume.   Nothing speaks louder than experience, and with an open source project, its more than a line in a resume, employers can go and see for themselves just exactly what sort of person you are.  In the software world, gone are the days where you "no industry experience" is a problem.  Any student can remove that barrier from their future career by simply getting involved.

Colin:

It is actually a fairly large project, but even small contributions can make a difference and you will find the project to generally be welcoming.

 Angela:

The Drupal community has grown by leaps and bounds the past few years, so someone coming into it new might be overwhelmed trying to make their voice heard among the chorus of others. But try not to get discouraged. If you keep helping out a little bit here and a little bit there, you'll find yourself getting recognized as one of the "doers" in the community, and then all sorts of doors open up for you.

 Derrick:

First of all, people should not expect it to be like Windows.  Most often it isn't.  Second of all, people shouldn't expect everything to "Just work".  When I go to install Windows XP on my system, I have to download around 20 different drivers and spend about 1.5 hours tweaking my system before I'm able to get an install that is worth anything to me.  Likewise, when installing Linux, I often have to spend about the same amount of time working with Linux to get it where I need to be.

Not everyone knows how to do that with Linux.  So the most important thing they need to do is have patience and use http://google.com/linux as much as possible for their answers.

 Dougal:

I would say that you should expect to get out of it what you put into it. WordPress has grown into a really malleable framework for web sites. It would be really easy to install WordPress, use it as a plain old weblog, and think that's all there is too it. If you start researching the available custom themes and plugins, you can create a very unique web site without having to be a programmer, yourself. All it takes is a little research and planning.

And if you know how to program in PHP (or have the time to learn), you'll find that's generally pretty easy to create plugins  of your own.  When you look through the core code, you'll almost always find that there are helper functions there to let you easily retrieve, display, and modify any of the information in the system. In some ways it's almost like building with LEGO blocks -- there's bound to be a piece in there that's just the right size and shape for what you want to make.

 

 Conclusion:

I thank brian d foy, Alan, Collin, Angela, Derrick and Dougal for sharing their insights, tips and advice. I wish you all to continue the good work you are doing in your projects.

For the rest of us, here are some pointers -

  • Everyone can participate and contribute to open source projects, not just developers. Just find one which is closest to your heart, contact the team lead and offer your help
  • Whatever your motivation, be it "to scratch an itch", guilt, altruism, an ability to improve and change, activism or good old fashioned resume padding, does not matter. All that matters is that you contribute what you can, to a project you love.

 If you already contribute or if you are thinking of becoming part of an open source project, take our survey and tell us your motivation.

Invite Your Comments

Comments:


Post a Comment:
Comments are closed for this entry.

RECENT STORIES

Mobile Apps - How To Develop Apps And Get Paid For It.

Going Green, Green Jobs - Are We Already In A Green Economy?

Resources for Green Jobs.

Super Bowl Ads

6 Great Executive Resume Writing Tips

Ring in the New Year with a GREAT Job Interview

IT Security - What it Takes to be successful

Meet the IT Security Experts

IT Security - Need a Degree, Certification or Background?

IT Security - Technical or Management


Archives

More Jobs in OdinJobsNetwork
Contributors
Carl Williams
Naveen Bala