Mon, 14 Sep 2009
More GHOP -- conference call on Friday
As I wrote over the weekend, the Google Highly Open Participation contest (intended to get high-school students involved in open source work) may be run again this winter. I say "may", because quite a bit of work needs to be done on the GHOP hosting app, Melange.
We in the Python community are in a uniquely Good position to help out with this: Melange is written in Python, on Google AppEngine, using Django. It would be great were a horde of Django experts to descend upon Melange to offer their help. Melange also could use some help testing; any testing experts out there that want to donate their time?
If you want to get involved, please attend the IRC meeting on 18th of September 18:00 UTC on #melange.
thanks!
--titus
posted at: 06:49 | path: /sep-09 | 0 comments
Fri, 11 Sep 2009
GHOP to run again; HELP.
The contest formally known as GHOP is going to run again this fall, and we need your help.
Yes, you. YOU, over there in the corner. Stop avoiding this post!
GHOP, for those of you who don't remember or weren't around 2 years ago, was the very successful pilot sister program to the Google Summer of Code that involved 13+ yro students from countries around the world (excepting only the Axis of Evil) in open source work. Nearly 400 students (!) participated and there was much rejoicing. (Summary post here, and all of my blog posts on Python's GHOP here.)
The good news was that GHOP was a big success from the perspective of many people: unlike the GSoC, which requires a substantial time investment from the mentor, and is only intended for coding work, GHOP involved byte-sized chunks of work in all areas (docs, testing, etc.) and rewarded both students and mentors for even a little bit of participation. In a signal of GHOP's success, by the end of the contest coming up with new Python-based tasks was easy -- people were literally throwing them at me, because they saw the rate at which existing tasks were being completed! I know that GvR was happy with the doc patches that made it into Python, and Andre Roberge gives GHOPpers a fair bit of credit for their contributions to Crunchy; there are a number of other success stories, too, including when Kumar told me that a task was too big and open-ended and then a 13 year old took the task and aced it, proving that I am not always wrong to ignore Kumar.
The bad news was that running GHOP was an immense amount of work, largely because of a lousy infrastructure -- Google Code isn't intended for this kind of thing, but we had to use something Google-hosted because it was a contest.
So what did Google do? They created the Melange project to help provide infrastructure for the GSoC and the GHOP both. It was used for the GSoC this last summer, and despite its rough edges, it worked out quite well.
Now Google is running GHOP again, and they're aiming to start December 7th. Unfortunately, in order to make that happen, they need a LOT of help on Melange.
Where do YOU come in?
Well, presumably you're a Python coder. You may be an expert in testing. You might be a Django nutcase. You're probably a Web developer (and odds are you've written your own Web framework, too, but never mind).
And guess what Melange is written in?
That's right, the best language on Earth (or at least a reasonable facsimile of it) -- Python.
You already know the language.
You already know how to use it in anger, to make the computer do your bidding.
Why not put your skillz to use?
I will be hitting up specific people and specific lists once we know when the IRC meeting to discuss Melange development is. Why not save yourself the aggravation of feeling guilt when you get my e-mail in a few days, and just sign up the Melange dev list right now?
---
Seriously, GHOP was awesome last time and we got a lot done for quite a few different Python projects. This time, we're older, more experienced, and better prepared to take advantage of GHOP. Join us, and you will become more powerful than you can possibly imagine!
You can find a list of areas where Melange devs feel they need help right here. I look forward to seeing YOU working on them!
--titus
posted at: 20:41 | path: /sep-09 | 1 comments
Tue, 04 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: 23:40 | 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:28 | 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:34 | path: /nov-07 | 0 comments