Wed, 05 Dec 2007
Coming up with GHOP tasks at your Python Interest Group meetings
If anyone is having a Python Interest Group meeting this month, please consider devoting 15-30 minutes to coming up with random task ideas for the Google Highly Open Participation Contest.
Briefly,
- tasks must involve Python and Open Source;
- non-core pet projects are welcome;
- building screencasts, updating documentation, and adding unit tests are all fine activities;
- please be specific: no "find and fix 5 bugs", but rather "fix THESE 5 bugs";
- don't worry about difficult tasks;
- and you're welcome to judge the task's completion yourself.
(I'm going to try this at our Thursday meeting of the SoCal PIGgies.)
Please feel free to ping me or otherwise ask me to give you some examples of tasks, or go take a look at the tasks for yourself.
--titus
posted at: 00:03 | path: /dec-07 | 1 comments
Thu, 29 Nov 2007
Google Highly Open Participation Contest, Day 1
Here are some factoids about the GHOP/Python project, from the end of the first 30 hours.
Of 63 tasks, 32 remain unclaimed.
26 tasks have been claimed by students and are being worked on; some of those are nearing completion.
5 have already been completed: all three Rosetta Code tasks (which has made Python the language with the most rosetta code examples!), a translation of Crunchy into Estonian (!?), and some new (and helpful!) example code for the ConfigParser docs.
Projecting this activity level into the future, I predict that our current tasks will be exhausted within two weeks, and even if we fill up to 102 tasks (the maximum) those will be completed by sometime in mid December.
So, I asked Leslie Hawthorn (Google) if we could increase our task limit to 200, and she agreed. I will soon be sending solicitations out to specific projects asking for task suggestions and mentors. I would welcome tasks from other projects, too, so please consider sending them to us!
Incidentally, one complaint I saw on slashdot is that there aren't enough "good" coding tasks. Now, I can't speak for the Python community, but if I were you I wouldn't take that kind of abuse...
--titus
p.s. As you can tell I'm excited about all of this, largely because it's been surprisingly good fun. The students are all very interested and motivated, and it's a pleasure to interact with them. Plus, stuff's actually getting done!
p.p.s. Some of the current mentors (Doug Hellmann, Georg Brandl, Andre Roberge) are real machines, but we could use some help interacting with the participants... hint hint.
posted at: 02:59 | path: /nov-07 | 0 comments
Wed, 28 Nov 2007
Thoughts on Getting Contributors Involved
In trying to pull together ~50 tasks for the initial Python part of the Google Highly Open Participation Contest, I ran into some interesting issues.
First: it is not easy to find "easy" or "intro" tasks for projects.
I sent out a lot of e-mails and posted a blog request (well, two) for help, without specifying exactly why I wanted some intro projects. I got a number of suggestions from people. One friend suggested working on pygame, pug, and pgu; another friend pointed me towards the Django "projects for new people" page; someone else pointed me at the "undocumented modules" page for Python. None of the pages provided much in the way of entry points for people who were relatively new to the project in question, much less those new to Python; most of the entries were out of date anyway.
This is the reason why there are a bunch of pyblosxom tasks in the Python GHOP list: Will Guaraldi suggested plugin testing, which is perfect for a 2-3 day project. The Rosetta Code stuff that Michael Mol suggested also seemed perfect to me.
Providing a bunch of small, explicit tasks is a great way to suck people in.
Second: task lists quickly become outdated.
Check out the Django "intro tasks" page and then look at the tracker entries; they're either done, or still being argued about. Either way, I didn't know where to start in suggesting a task to a student.
Task lists bitrot as quickly as anything else.
Third: how you ask for help matters.
Compare http://ivory.idyll.org/blog/nov-07/new-to-python-projects.html to http://ivory.idyll.org/blog/nov-07/hidden-gems-in-stdlib.html.
I failed to give specifics or limit the problem domain in the first post, and I slowly got a very mixed bag full of wildly varying tasks; I later found out that it got picked up by Reddit, which is the only reason I got anything at all. In the second post, I asked people for opinions (which they're always happy to give!) and I narrowed the problem domain substantially. I still had to pick through the resulting module suggestions, but it gave me a place to start.
People love giving off-the-cuff opinions on specific domains.
Fourth: people have a tough time coming up with specific tasks.
The composition of Python's GHOP task list is largely the product of what I myself could write up easily; Crunchy features quite heavily because Andre Roberge was very responsive and wrote up a bunch of good, specific tasks. I couldn't figure out a good set of topic domains for screencasts, so there are relatively few screencast tasks -- even though screencasts are a great task idea for this kind of project.
Saying "pick a module, any module, and work on it", or "screencast something", doesn't help new contributors very much.
Fifth: there seems to be a lot of low-hanging fruit in the stdlib.
See http://ivory.idyll.org/blog/nov-07/hidden-gems-in-stdlib.html for a bunch of comments on where the stdlib needs work.
This is the reason why I ended up dragging Doug Hellmann into the GHOP project: his Python Module of the Week posts are excellent introductions to modules that may be a bit inaccessible otherwise.
The stdlib could use some love.
--titus
posted at: 22:35 | path: /nov-07 | 0 comments
The Google Highly Open Participation Contest proceedeth...
Based on the current "burn" rate of Python's task list for the Google Highly Open Participation Contest, I would estimate that we will need more tasks within at most two weeks. The current mentors are certainly capable of coming up with more tasks, but we would welcome input and ideas from the community -- and we are fine with you submitting tasks to fix problems with your own project. In fact, we darn well encourage it!
So please, check out the New Task Guidelines and get involved!
There's an upper limit of 102 tasks, so we could use ~40 more.
cheers, --titus
posted at: 13:18 | path: /nov-07 | 0 comments
Tue, 27 Nov 2007
Python and the Google Highly Open Participation Contest
I'm happy to announce that the Python Software Foundation is part of a new Google Open Source program, the Highly Open Participation Contest. This contest is an effort by Google to engage pre-college students in open source programming: Google is offering prizes and awards for completing a variety of tasks for several organizations.
You can read the official announcement of the PSF's involvement over on the Python Software Foundation blog (in a bit), or read about the overall Google Highly Open Participation Contest at the official announcement. Python's GHOP project page is here.
Ten organizations were invited to take part in this pilot: they are Plone, SilverStripe, Moodle, the Apache Software Foundation, Python, Joomla!, Mono, GNOME, Drupal, and MoinMoin. (Note that Plone and MoinMoin are both written in Python, so I think Python has a very good representation!)
On a more sober note, it is clear to me that this is Google's latest foray in their continuing efforts to gain control of the world and Do Evil. What could be more diabolical than paying young students to work on other people's projects?? Google's perfidy knows no bounds.
Seriously, I'm very enthusiastic about this contest. I have no idea how it's going to turn out, but I think the Python GHOP team put together a great list of tasks and I'm looking forward to the results.
How can I help?
YOU can help in two ways: suggest more tasks, and help mentor participants. Instructions for doing both are available on the project Wiki under NewTaskGuidelines and MentorPage. (If you know eligible programmers, you might also point them at the Google Code project -- there are some cherries ripe to be picked ;).
Who is to blame?
About two dozen people came up with the initial task ideas, including some who had no idea to what they were contributing ;). This includes Brett Cannon, Collin Winter, Michal Kwiatkowski, Georg Brandl, Grig Gheorghiu, Greg Wilson, Terry Peppers, Shannon Behrens, Michael Carter, Phil Hassey, and Michael Mol. The blog comments on my blog for the two posts Projects for people new to Python? and Hidden Gems in stdlib were very helpful as well!
A group of five people actually wrote up most of the tasks and checked them over for obvious inanities: Will Guaraldi, Andre Roberge, Doug Hellmann, Georg Brandl, and me. This same group is largely responsible for the Google Code project pages.
Andre Roberge, Doug Helmann, Georg Brandl, Grig Gheorghiu, Steve Holden and I are the current "project mentors". Won't you join us?
Leslie Hawthorn at Google did an amazing job of coordinating everyone. She deserves a great big heap o' thanks from the entire Python community!
--titus
posted at: 20:49 | path: /nov-07 | 1 comments