public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] Want to start open source development
@ 2012-10-10 13:45 karan garg
  2012-10-10 14:34 ` mindrunner
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: karan garg @ 2012-10-10 13:45 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 438 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 479 bytes --]

^ 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 ` [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] Re: Want to start open source development
  2012-10-10 14:49 ` [gentoo-user] " Grant Edwards
@ 2012-10-10 16:30   ` karan garg
  2012-10-10 17:28     ` Matthew Finkel
  0 siblings, 1 reply; 6+ messages in thread
From: karan garg @ 2012-10-10 16:30 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 665 bytes --]

Thanks a lot for the feedback. But I am a bit scared as this is going to be
my first such experience. I have a basic knowledge about these languages,
and definitely even if I fall short of the required standards, I shall
learn them on the way, but it sort of is making me nervous.

Can you plz explain how the procedure works if i try to enhance a software
or fix a bug?
Like will i be provided with a particular task?
Or if i dont know something then i will be guided through that problem by
your advices?
Or I'l just be on my own except for where i get stuck and just be provided
with the resources?

My apologies for trying your patience.


-- 
Regards :)
Karan

[-- Attachment #2: Type: text/html, Size: 734 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-user] Re: Want to start open source development
  2012-10-10 16:30   ` karan garg
@ 2012-10-10 17:28     ` Matthew Finkel
  0 siblings, 0 replies; 6+ messages in thread
From: Matthew Finkel @ 2012-10-10 17:28 UTC (permalink / raw
  To: gentoo-user

On 10/10/2012 12:30 PM, karan garg wrote:
> Thanks a lot for the feedback. But I am a bit scared as this is going to
> be my first such experience. I have a basic knowledge about these
> languages, and definitely even if I fall short of the required
> standards, I shall learn them on the way, but it sort of is making me
> nervous.
> 
> Can you plz explain how the procedure works if i try to enhance a
> software or fix a bug?
> Like will i be provided with a particular task?
> Or if i dont know something then i will be guided through that problem
> by your advices?
> Or I'l just be on my own except for where i get stuck and just be
> provided with the resources?
> 
> My apologies for trying your patience.
> 
> 
> -- 
> Regards :)
> Karan
> 
Well, I suppose first and foremost, do you have a particular project in
mind to which you would like to contribute?

I understand being worried about potentially not knowing what you're
doing and becoming overwhelmed, but for a situation like this where you
*want* to volunteer to do something, at some point the "want" will
override the fear. You just need to find the correct project and task
that most appeals to you! :)

As for any guidance you may receive, it really depends on how you go
about getting involved. Many of the larger projects have guidelines that
you can follow to become comfortable with their specific coding style
and the way patches are accepted, etc, etc [1][2] and as long as you
read the pages carefully and try to adhere to their customs the main
devs will probably be more than happy to assist you along the way if you
need some clarification here and there.

If you're more interested in helping a smaller project, then their
process is generally less documented[3][4] and you'll find that you can
form a more close, one-on-one relationship with the devs (as long as
their not too overwhelmed with other things) and they'll also probably
be happy to help you, as needed.

Just be aware, if you want to help with the programming, then that's
awesome! However, just keep in mind that most devs would prefer not to
teach you the language the project is written in, so you most likely
will have a tough time at first while you're trying to understand the
codebase AND learn potentially foreign syntax and such. But if you're
determined to help out and contribute then the community will welcome
you with open arms. :)

And as a side note, some devs can be grumpy and difficult to work with,
but they are few and far between. On the vast majority of projects, the
devs have a TODO that will take them years to get through so any help is
usually appreciated and any additional features that will make their
project more useful/worthwhile are appreciated, too.

Summary/tl;dr Look for a Getting Started or Get Involved page on the
projects website. If you can't find one, see if there's a HACKING doc in
the project repository. If the project looks like something you want to
work on but you need help, contact the dev and let him/her/them know
your interested but need some help.

HTH

[1] http://www.libreoffice.org/get-involved/
[2] http://www.gnome.org/get-involved/
[3] https://github.com/ioerror/tlsdate/blob/master/HACKING
[4] https://github.com/memcached/memcached/blob/master/HACKING


^ 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

end of thread, other threads:[~2012-10-13 21:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-10 16:30   ` karan garg
2012-10-10 17:28     ` Matthew Finkel
2012-10-13 21:09 ` [gentoo-user] " Gregory M. Turner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox