Contributing to Python: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Jesstess
(Created page with "== Goal #1: practice navigating from the command line == Many of the tools of open source development are primarily used via the command line. Let's get some practice with na...")
 
imported>Jesstess
No edit summary
Line 1: Line 1:
Welcome! This page contains instructions for prospective OPW and Google Summer of Code interns, as well as anyone else interested in contributing to Python.
== Goal #1: practice navigating from the command line ==

= Part 1: environment setup =

== Goal #1: install an IRC client ==

IRC is a real-time chat protocol that open source projects often use to talk about the project and as a medium for users and developers to help each other.

* [[PyCon_intro_to_open_source/Windows IRC|Windows]]
* [[PyCon_intro_to_open_source/OSX IRC|OS X]]
* [[PyCon_intro_to_open_source/Linux IRC|Linux]]

== Goal #2: practice navigating from the command line ==


Many of the tools of open source development are primarily used via the command line. Let's get some practice with navigating the computer from the command line.
Many of the tools of open source development are primarily used via the command line. Let's get some practice with navigating the computer from the command line.
Line 7: Line 19:
* [[PyCon_intro_to_open_source/Linux command line|Linux]]
* [[PyCon_intro_to_open_source/Linux command line|Linux]]


== Goal #2: install a text editor ==
== Goal #3: install a text editor ==


We need a good text editor (not a word processor!) for editing Python code.
We need a good text editor (not a word processor!) for editing Python code.
Line 17: Line 29:
* [[PyCon_intro_to_open_source/Linux text editor|Linux]]
* [[PyCon_intro_to_open_source/Linux text editor|Linux]]


== Goal #3: install an IRC client ==
== Goal #4: Get familiar with the Python bug tracker ==


Python tracks bugs and features at http://bugs.python.org/.
IRC is a real-time chat protocol that open source projects often use to talk about the project and as a medium for users and developers to help each other.


Please familiarize yourself with how Python uses its bug tracker by exploring and finding answers to the following questions:
* [[PyCon_intro_to_open_source/Windows IRC|Windows]]

* [[PyCon_intro_to_open_source/OSX IRC|OS X]]
1. What is the oldest open Python ticket?
* [[PyCon_intro_to_open_source/Linux IRC|Linux]]
1. How many open issues need a patch?
1. How many "critical"-level open issues are there?

== Goal #5: Version control ==

Mercurial is the distributed version control system Python uses to manages changes to its code.

If you have not used Mercurial before, please go through this tutorial: http://hginit.com/

== Goal #6: creating patches ==

If you have not used diff and patch before, please go through the diff and patch training mission at:

http://openhatch.org/missions/diffpatch


== Goal #4: more IRC ==
= Part II: contributing to Python =


Join the Python core-mentorship mailing list and introduce yourself: https://mail.python.org/mailman/listinfo/core-mentorship.
* Skim http://www.irchelp.org/irchelp/irctutorial.html. Pay particular attention to:
Read the Python developer guide: http://docs.python.org/devguide/
** Sending private messages
Create an account on the Python bug tracker: http://bugs.python.org/
** joining and leaving a channel
Submit a patch for a Python bug (see the next section for help getting started)
* Send someone in <code>#pycon-tutorial</code> a private message
Let the core mentorship mailing list know that you've submitted your patch and are ready to work on your application. We'll craft an application together for a project that fits your background and interests and what you want to learn this summer!
* Join the <code>#pycon</code> channel
* Explore other channels like <code>#python</code> and <code>#django</code>. You can get a full list of Freenode's channels [http://irc.netsplit.de/channels/?net=freenode here]. What are some other interesting channels?

Revision as of 03:07, 5 March 2014

Welcome! This page contains instructions for prospective OPW and Google Summer of Code interns, as well as anyone else interested in contributing to Python.

Part 1: environment setup

Goal #1: install an IRC client

IRC is a real-time chat protocol that open source projects often use to talk about the project and as a medium for users and developers to help each other.

Goal #2: practice navigating from the command line

Many of the tools of open source development are primarily used via the command line. Let's get some practice with navigating the computer from the command line.

Goal #3: install a text editor

We need a good text editor (not a word processor!) for editing Python code.

If you already have a preferred text editor, skip this step.

Goal #4: Get familiar with the Python bug tracker

Python tracks bugs and features at http://bugs.python.org/.

Please familiarize yourself with how Python uses its bug tracker by exploring and finding answers to the following questions:

1. What is the oldest open Python ticket?
1. How many open issues need a patch?
1. How many "critical"-level open issues are there?

Goal #5: Version control

Mercurial is the distributed version control system Python uses to manages changes to its code.

If you have not used Mercurial before, please go through this tutorial: http://hginit.com/

Goal #6: creating patches

If you have not used diff and patch before, please go through the diff and patch training mission at:

http://openhatch.org/missions/diffpatch

Part II: contributing to Python

Join the Python core-mentorship mailing list and introduce yourself: https://mail.python.org/mailman/listinfo/core-mentorship. Read the Python developer guide: http://docs.python.org/devguide/ Create an account on the Python bug tracker: http://bugs.python.org/ Submit a patch for a Python bug (see the next section for help getting started) Let the core mentorship mailing list know that you've submitted your patch and are ready to work on your application. We'll craft an application together for a project that fits your background and interests and what you want to learn this summer!