* Re: [gentoo-user] Want to start open source development
2012-10-10 13:45 [gentoo-user] Want to start open source development karan garg
@ 2012-10-10 14:34 ` mindrunner
2012-10-10 14:49 ` [gentoo-user] " Grant Edwards
2012-10-13 21:09 ` [gentoo-user] " Gregory M. Turner
2 siblings, 0 replies; 6+ messages in thread
From: mindrunner @ 2012-10-10 14:34 UTC (permalink / raw
To: gentoo-user
Hi,
I think google can help you making the first steps. There are many
efforts to recruit new open source contributors.
You will find many documents like this:
http://teachingopensource.org/index.php/How_to_start_contributing_to_or_using_Open_Source_Software
or this
https://live.gnome.org/GnomeUniversity
or this
http://redmonk.com/dberkholz/2012/07/10/how-to-recruit-open-source-contributors/
But if you are as lazy as I am, you will just browse to you favourite
open source tool and begin evaluating the bugtracker.
Another way is to simply use your linux and the software on it. You WILL
find TONS of bugs, or missing features in it. Just implement and fix
them and then post your patches to upsteam! ;)
This is the way I do. :)
Happy coding! :D
On 10/10/2012 03:45 PM, karan garg wrote:
> Hi all,
>
> I have been an open-source enthusiast since 2010 and using Linux as my
> operating system for last 2 years. However, now I want to take an active
> part in open-source development and contribute to the society under an
> expert guidance. I am an RHCE and have a basic understanding of a fair
> few things like database, c, c++, ruby, shell scripting, etc. I would
> really consider it an honor if you would guide me.
>
> --
> Regards :)
> Karan
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [gentoo-user] Re: Want to start open source development
2012-10-10 13:45 [gentoo-user] Want to start open source development karan garg
2012-10-10 14:34 ` mindrunner
@ 2012-10-10 14:49 ` Grant Edwards
2012-10-10 16:30 ` karan garg
2012-10-13 21:09 ` [gentoo-user] " Gregory M. Turner
2 siblings, 1 reply; 6+ messages in thread
From: Grant Edwards @ 2012-10-10 14:49 UTC (permalink / raw
To: gentoo-user
On 2012-10-10, karan garg <karangarg31@gmail.com> wrote:
> I have been an open-source enthusiast since 2010 and using Linux as my
> operating system for last 2 years. However, now I want to take an active
> part in open-source development and contribute to the society under an
> expert guidance. I am an RHCE and have a basic understanding of a fair few
> things like database, c, c++, ruby, shell scripting, etc. I would really
> consider it an honor if you would guide me.
I always recommend that first you need to find something you _want_ to
do. Is there a program you use regularly that doesn't quite do what
you want it to?
In my opinion, it's easiest to start with adding a small feature or
improvement.
Once you've decided what you want to do, file an enhancement "bug"
with the project's bug tracker describing in detail what it is you
want to do. It's always nice to explain why they new feature is
useful and how you anticpate it will be used.
There will probably be some discussion in the bug-tracker or project
mailing list about whether the feature/improvement is a good idea and
how it might be done. Once there's some agreement, then add the
feature and submit the patch. There will probably be comments on the
patch, so try not to get defensive. After a few iterations getting
new feature tweaked and the coding style fixed, then somebody will
apply the patch and your name shows up in the ChangeLog file. :)
Alternatively you could try to fix an existing bug that's already been
reported, but that's usually more difficult:
* It will often take quite a bit of effort and knowlege to set up a
test that can duplicate the bug.
* Fixing a bug will often require a lot more knowlege of the
program's internals that will adding a new feature.
If you _can_ duplicate an existing bug that somebody else is working
on, simply offering to help test proposed fixes will usually be very
much appreciated and is a good way to learn more about the program and
its internals.
Working on documentation is also always very welcome:
* Expanding manual sections that are incomplete (adding simple,
useful examples is almost always welcome).
* Writing a tutorial showing how to use a program to accomplish a
complex task.
* Updating tutorials/examples that are out of date and show obsolete
usages.
* Translating documentation into a new language.
* Fixing formatting, grammar, and spelling errors.
--
Grant Edwards grant.b.edwards Yow! If our behavior is
at strict, we do not need fun!
gmail.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-user] Want to start open source development
2012-10-10 13:45 [gentoo-user] Want to start open source development karan garg
2012-10-10 14:34 ` mindrunner
2012-10-10 14:49 ` [gentoo-user] " Grant Edwards
@ 2012-10-13 21:09 ` Gregory M. Turner
2 siblings, 0 replies; 6+ messages in thread
From: Gregory M. Turner @ 2012-10-13 21:09 UTC (permalink / raw
To: gentoo-user
On 10/10/2012 6:45 AM, karan garg wrote:
> Hi all,
>
> I have been an open-source enthusiast since 2010 and using Linux as my
> operating system for last 2 years. However, now I want to take an active
> part in open-source development and contribute to the society under an
> expert guidance. I am an RHCE and have a basic understanding of a fair few
> things like database, c, c++, ruby, shell scripting, etc. I would really
> consider it an honor if you would guide me.
The biggest challenge to contributing to open source is often to
understand the social/cultural aspects. Lots of people have useful
patches and publish them somewhere, but "nothing happens" unless they
figure out how to interface with the relevant community, and present
their innovations in a way that meets that community's needs and standards.
There is also a question of "marketing" your improvements. Bear in mind
that every open source project wants to maintain some sense of
reliability and stability. So your contributions will be evaluated not
only on the merits of what they improve, but also what they might break,
how difficult they might be to maintain going forward, how consistent
your coding style is with the existing conventions, and so forth.
You'll need to explain why your patches are good/helpful. Don't expect
people to read them carefully enough to figure it out for themselves --
give them a clear summary of what you are up to and what are the merits.
Try not to undertake anything too ambitious. If you do have an
ambitious plan, split it into small phases so that people can evaluate
your work without being overwhelmed by it.
In general, expect your contributions to be met with skepticism,
especially the first few times you contribute. If people criticize your
work, try not to take it personally. Often people will say "I think
you're an idiot" when they mean "I think your code makes an idiotic
mistake", so, seriously, if you feel offended, think for a second "what
is this person really trying to tell me?"
Usually there is some way to answer their concerns by revising and
resubmitting your patches. Remember that (almost) every project is
somebody's "baby," which they spent a lot of time an effort creating.
They have every right to be a bit protective -- and of course sometimes
egos do get involved.
In general, most of the barriers you might encounter trying to make a
contribution at the office apply equally -- sometimes more than equally
-- to open source development.
However, if you stick to it, the rewards can be tremendous, both
"spiritually" and in the professional domain, where you will have
bragging rights, forever, if you manage to make a meaningful
contribution. By no means do I wish to discourage you -- in fact, I'd
say the best way to answer your question is to "just go for it."
You'll learn as you go, probably after a few embarrassing mistakes.
Keep a stiff upper-lip, be humble, and don't hurry too much, and you'll
do fine -- there's a reason so many people contribute to open-source: it
really is quite a rewarding endeavor.
-gmt
^ permalink raw reply [flat|nested] 6+ messages in thread