Community Participation

Originally published in Python Magazine Volume 2 Issue 8 , August, 2008

Our authors are having an impact through their participation in the global Python community, and we couldn’t be more proud to support them.

One of my main motivations for becoming involved with Python Magazine was to contribute back to the Python community that has provided so much help to me in the past. I’ve had access to innumerable open source programs and libraries, learned about algorithms and development techniques from some of the best programmers around, and received a good share of support in the form of bug reports and patches for my own projects. All of that came from the Python community, found first on Usenet, then mailing lists, and now blogs. In return for all I’ve received, I want to turn this magazine into a tool for exploring new ideas, promoting user group participation, and supporting Python-based projects with exposure and publicity. I’m very happy to say that, so far, those goals seem to be coming together quite well.

MTA and Python Magazine are committed to supporting user groups and encouraging active participation. I mentioned last month that we have been running a subscription promotion, tied to user group membership. The response has been excellent, with groups from all over the world signing up. We’re also providing a user group discount rate to PyWorks in November. There is an opportunity to do more to help encourage growth of these groups, though. The community needs to develop ways to exchange ideas for activities, presentations, and projects, and we will be working with group organizers to foster that sort of communication over the coming months. There is already a public accessible list of local user groups on the wiki, and a blog for publicizing group activities, but I’m interested in hearing from you about what sorts of support you think would be helpful. Are the biggest needs tools? Organizers? Or something else entirely?

Writing about Python and starting these sorts of discussions is not the only way contributors to the magazine participate in the community, of course.

Another of our missions is to publicize projects that are useful, especially when more participation may be needed. The June cover story by Grig Gheorghiu on Pybots is an excellent example. That article caused Glyph Lefkowitz to initiate a discussion on the python-dev mailing list about cleaning up the existing bots, and how to best handle feedback from failed builds. The consensus was to have project and individual bot maintainers report issues as they come up, distributing the work of monitoring the tests to those most interested in individual test cases. Check out the python-dev thread Community buildbots and Python release quality metrics for more details, especially if you are able to help by running or monitoring a bot of your own. I spent part of the last week setting up buildbot (the basis of the pybots project) at my day job to run our own internal tests. To my surprise, it has been a lot easier to configure than I thought it would be given the number of features it provides, and I already have a swiftly growing list of other tasks we want to automate with it.

Writing about Python and starting these sorts of discussions isn’t the only way contributors to the magazine participate in the community, of course. Most of us are programmers by day and contribute to open source projects in our free time. This month, Associate Editor Jesse Noller’s column recounts what he has learned about Python core development from his efforts to integrate the multiprocessing module (formerly known as processing) with the standard library. Long time subscribers will have noticed a recurring theme in our coverage of using threads vs. processes for parallelizing applications. We have discussed the topic in several forms over the past year, including explanations of the GIL and its impact as well as several techniques to overcome perceived limitations. Because of his background in massively parallel load testing Jesse has a lot experience in this area and he was an excellent advocate for PEP 371, “Addition of the multiprocessing package to the standard library”. His hard work has paid off now that the new module is included in the latest release of Python 2.6. Congratulations to Jesse and processing‘s original author Richard Oudkerk!

If you have suggestions for ways Python Magazine can help your local users group, or you just want to comment on or ask questions about an article or column you’ve seen in Python Magazine, post a note in the comments below.