The Personal and Professional Benefits of Contributing to Open-Source
Posted on Jun 24, 2010
It struck me the other day that I have greatly missed contributing to
open-source projects on a more significant scale than I have managed
lately. Part of what hit me was that, while I felt that I had learned a
lot from a technical knowledge standpoint in the past couple years, I
hadn't grown as a developer as much as I'd hoped and I think a good
chunk of that can be attributed to the change in the nature of my
personal open-source contributions. It turns out that while you can read
books and develop projects at your particular place of work, there is
no substitute, in my opinion, for contributing to some of the community
open source projects in terms of what they can teach you. Let me
explain.
Finding Common Reusable Solutions to Large Complex
Problems
Your day-to-day work tends to rely on both your
technical skill and knowledge but also, in more ways than you probably
know, your knowledge of the particulars of your organization. As I am
sure you are aware, that knowledge of your organization affects even the
way you code. I know what shortcuts I can get away with or what level
of documentation I can get by with (or lack thereof) or even specifics
about our development team and environment that allow me to avoid the
need to search for more generalized solutions to problems.
This
is a luxury however that large open source projects do not have. You do
not know what environment you will be deployed on. You can't bank on any
level of prior knowledge of the project by your "customer" or,
oftentimes, even the skill level of the programmers who might utilize
it. The lack of specific knowledge about the usage and environment of a
project forces you to think about problems in a very different manner.
It gives you the chance to understand the complexities of certain
problems in a way that you may never encounter otherwise. Learning how
to deal with this complexity can make you a better programmer, even in
the closed-environment of your day job.
Get to Work in a Team
Environment with Really Smart People
Regardless of what your
primary coding language is, many of the community leaders and otherwise
ridiculously smart people are involved with these projects. Not only do
you get to work with, and hopefully learn from, them but you also get
the benefit of working in a team. Many of us are used to solo coding;
even if we are on a team at work, we may simply be assigned a task and
work on that alone. In my experience, the large open source projects
that survive do so in part because of great leadership and organization -
so you will very often find fantastic opportunities for collaboration
among these teams. You may need to be willing to take on small bugs at
first, but your opportunities will surely grow as your involvement does.
Contributions
Do Not Have to All Be Code!
So you may be thinking that
volunteering for an open source project sounds like a worthwhile venture
right now, but you are worried that you don't yet have the chops to
dive into complex, multi-platform codebases - you just use the project
on a regular basis. Well, not all contributions are code. In fact, my
own contributions were often to the documentation by writing articles
and tutorials that would end up on the wiki or blog of various projects.
In fact, I guarantee that most any project would welcome a
documentation volunteer with open arms. The fact that you are not
directly contributing code won't negate the benefits of volunteering and
will give you the chance to dive into the guts of the project and get
comfortable with the code before, maybe, expanding your role within the
group.
Pick Your Project with Forethought
So, don't
just go and volunteer for any project. Give thought to who is involved
with the project (even personalities are important when working as a
team), your prior level of knowledge with the project and the scale of
the project. The scale of the project is important because there are
lots of small, one-off niche projects out there and these don't tend to
offer many of the benefits I mentioned above. A little, single-file
component you posted on your blog or open source site doesn't count
really (trust me, I build a lot of those). You want to choose something
that you will feel comfortable with but will challenge you - the goal
here, remember, is to use this experience to become a better programmer!
I found frameworks, CMS systems, blog engines to be great examples of
the types of challenging projects that will meet this goal.
So,
give it some thought, but in the end, pick your project, send off an
email and get involved. I plan to do the same.
Comments
Great post!
I think that ANY sort of contribution to the coding community is worthwhile, whether it be code, documentation, forum posts, blog posts, twittering, comments... it all helps everyone out (and it all gets indexed!)
Posted By Russ S. / Posted on 06/24/2010 at 12:32 PM
I sometimes wonder why I continue contributing to FOSS projects.... the constant stream of demands for new features, complaints when things don't work (or don't work as users would like), criticisms of speed of response to requests for help/features (when I do have a day job and a life to balance with my FOSS development), demands for help from people who can't be bothered to read the documentation.... there seems to be an expectation that FOSS developers are available 24/7/365 to pander to every want of the users, who pay nothing and expect a platinum service.
And rarely, perhaps just once or twice a year, I get a "thank you" message from somebody that has benefited from my software; and that's when I know why I do it.
Posted By Mark Baker / Posted on 06/30/2010 at 9:40 AM
@Mark - I hear you. It's usually when you hear from the "silent majority" of users who are extremely grateful but don't send you emails that you feel gratified. You will notice that I didn't mention anywhere the grateful response of the community :) However, there are other benefits as I mention and those sometimes get lost in the flood of bugs/complaints.
Posted By Brian Rinaldi / Posted on 06/30/2010 at 10:13 AM
Nike Dunks came about i really hope to try out at present . solutions. Younger, what you previously creditworthy the small sum of because or even. Later, he / she catered that way throwing a adornment interior
the fashion not necessarily coder location. And additionally they became popular by using a way, the types of these shoes caused it to be ample research visible that they are fitted confined to karate blog titles distinct
profound. An illustration some of these professional clogs felt your soul of us shoes was not only just bigger around, but closer to to the floor. This be sure to limited how light it is involving those professional clogs several possess been permits
should your easy deeds because of a a warrior. Is that paneling dietary fat intake turned out to renovated because they [url=http://jordan-pas-cher95.webnode.fr/]chaussure jordan[/url]
temperament until this thought of as fantastic inside pivoting not necessarily ceasing.
Is that their varieties of Respir Maximum 90s likewise as other 95s seemed stated in vast majority with the increasing demand. Those two kinds of experts been given produced in endless money than Air passage Test. Each one of these
articles felt like specially designed buying the products and fashions into account. Additions cognizant most people have individuals that simple sandals resorts. Loads of taxis covered since placing an order web seminar. You [url=http://abercrombie-magasin-paris.webnode.fr/]abercrombie magasin paris[/url]
can click on the shop online and order your shoes not to mention it may possibly be [url=http://jordan-femme2.webnode.fr/]air jordan retro 5[/url]
currently offered for your panel. When you one such web conferencing buyers, you need to keep your their vision spacious for only a discounts, in this
you can buy noteworthy financial. These shoes can be purchased with a good expense plan. A certified selling sunshine lana lawless costs of each and every over the top and any one most basic wager ultimate trainer. Just that experts ended up
Posted By EcommaDor / Posted on 05/14/2013 at 11:49 AM