Why Contribute To Open Source?
Bloggers debate the benefits of participating in the open source community.
Why contribute to open source? This question has been blogged
about extensively and, recently, by Brian Rinaldi, who attempts to
answer this question in his latest blog post.
His first argument, is that the subtle differences between open
source projects and projects in a developer’s day-to-day
employment, create a unique set of challenges. He states that in
general, day-to-day work, the developer is usually coding for a
specific situation. Therefore, the developer is aware of how much
documentation they must provide, the environment their solution
will be deployed in, how much prior knowledge their end-users
possess, and which short-cuts are acceptable in the development
process. However, in open source projects many of these factors are
unknown. This necessitates a higher level of documentation, and
sometimes forces the developer to spell out things they would
otherwise take for granted as shared knowledge.
“It gives you the chance to understand the complexities of
certain problems in a way that you may never encounter otherwise,”
Another big plus for Rinaldi is the sense of community that
exists between open source developers. In his experience, coding is
often a solitary pursuit, where even if you work as a team you are
often assigned an individual task. Open source presents a rare
opportunity to collaborate with new people. He warns that this may
be a slow process, with you beginning your open source career as a
bug-fixer, but that “your opportunities will surely grow as your
involvement does.” With the public nature of the Bugzillas, project
proposals, roadmaps, discussion boards and mailing lists that make
up the open source community, it’s difficult to argue that open
source doesn’t encourage collaboration and input.
Meanwhile, others see a more ethical side to the ‘why contribute to open
source’ debate. Ahmed Saeed cites Sun’s slogan of “Change (Y)our
world” as summarising, for him, what open source is all about.
“It’s about making You better and making The World better,” he
states, explaining that in contributing to open source you are
giving back to the community in general, whilst also making the
individual developer’s life easier, by supplying them with bug
fixes and patches to make their day-to-day work run smoother.
But what if all that sounds good, but you aren’t a coding whizz?
Thankfully, the benefits of participating in the open source
community aren’t restricted to code masters: coding ability isn’t a
prerequisite. There are non-coding opportunities, in the form of
writing project wikis, tutorials and general documentation duties.
Rinaldi describes this as a great starting point for getting to
know an open source project from the inside-out, before testing the
coding waters. This was seen in practice recently with the
documentation for e4, which was co-written with students from the
University of Manitoba. The students conducted one hour long
telephone interviews with e4 developers, and then wrote the
documentation based on what they’d just discovered.
“This was one of if not the first time the Eclipse foundation
has received community contributions that are not code based,”
reads the project wiki. “We have shown it can be done!”