[Israel.pm] Talk proposal: Contributing to an open source (Perl) project
szabgab at gmail.com
Sun Jan 16 01:28:08 PST 2011
The following is a proposal for a series of talks for the upcoming Tel
Aviv Perl Mongers meetings.
Contributing to an open source (Perl) project (documentation, code,
bugs and other things)
In a recent poll conducted by Elizabeth Naramore people were asked
why they don't contribute to open source projects? The 3 most common
*) I don't have enough time
*) Not sure where or how to contribute
*) I'm not confident enough in my own skills
(Ran, thanks for the link)
In the presentations we'll try to overcome all 3 of the problems or at
least to lay down the foundations for this process.
Before helping people to contribute to Open Source projects probably
we'll need to
answer the question
Why to contribute?
Yes, really why?
How to contribute?
Originally I thought to have a single talk but as I was writing down
the items I need to talk about I see it is growing well beyond
a single talk. Hence I propose it to be a series of presentations.
The plan is that each presentation can be useful on its own and
that each presentation should give the audience the tools to
start doing something.
Both people who are relatively new to Perl and people who have
more experience in Perl but no experience in contributing
to open source projects.
Some of the items I thought about:
- Picking a project
While most of the talk is generic some aspects are more Perl specific.
For example when trying to get involved in a project one of the first
things you need to do is actually to look for an interesting project.
This can be almost automatic - pick a project you already use -
or this can be a more involved process: looking at various projects
and trying to find something interesting.
As we are mostly interested in Perl based projects I'd recommend
looking at modules on CPAN http://search.cpan.org/ including
full-blown applications http://padre.perlide.org/ (hint hint) or looking
at other Perl based applications listed
(if you don't find your favorite application there, please add it to the list.
It is a wiki after all).
- communicating with other developers
- mailing list
- web forum ???
- Wiki ???
For most of the applications helping with the documentation
requires a similar amount of communication and setup as it would
be for coding. On CPAN it is easier. You can create an account on
AnnoCPAN http://www.annocpan.org/ and start adding examples
- bug tracking systems
- Opening accounts
- Reporting bug
- Bug triage
- Version control system
- Git + GitHub
- there are others but they are less frequently used
(e.g. CVS, Mercurial, Bazaar)
- Creating and submitting a patch
(documentation or code)
- Creating and submitting a unit test
- Build systems
- How to find low hanging fruits?
This section will be about locating items in open source projects
that less experienced people can also help resolving but in order
to explain what is a "low hanging fruit" let me go back to my question
earlier: Why to contribute?
I think my aim in this set of presentations isn't to convince people it
is worth their time to contribute. It is to find the "low hanging fruit" who
already would like to contribute but has some other obstacles.
People who already know
- that they can improve their own skill a lot by contributing
- that it is a lot of joy to see the fruits of our labor to make
other people happy.
- People who already see the value in being active part of
- People who just want to "give back" something after they
received so much from other open source developers.
- People who would like to work on things they really enjoy -
and not only on things they get paid for.
Probably there are other items. I am just thinking aloud
what might be interesting and needed in such
a series of presentations?
What do you think?
ps. let me also refer you (again) to the document Shlomi wrote about the subject
More information about the Perl