Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo User (http://www.linux-archive.org/gentoo-user/)
-   -   Want to start open source development (http://www.linux-archive.org/gentoo-user/711210-want-start-open-source-development.html)

mindrunner 10-10-2012 02:34 PM

Want to start open source development
 
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
>

Grant Edwards 10-10-2012 02:49 PM

Want to start open source development
 
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

karan garg 10-10-2012 04:30 PM

Want to start open source development
 
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

Matthew Finkel 10-10-2012 05:28 PM

Want to start open source development
 
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

"Gregory M. Turner" 10-13-2012 09:09 PM

Want to start open source development
 
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


All times are GMT. The time now is 06:19 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.