[ Team LiB ] |
29.1 Layers of CommunityIn this section, we will discuss the various layers of the community, from the core of very serious programmers who implement the official Python interpreter, out through the Python Software Foundation, special interest groups and user groups, and out to the broad spectrum of participants, which is known as "python-list." You'll probably find that you belong in one or more of these neighborhoods, and may want to visit some of the neighborhoods you don't yet know. Regardless of where you choose to settle, welcome to our community! 29.1.1 The CoreUnlike many language communities, the Python world has a very clear center. This center has grown over the years, with Guido van Rossum as the permanent core, surrounded physically by a trusty cohort called "Pythonlabs," and surrounded virtually by the "python-dev group." Pythonlabs consists of a few key Python developers(Tim Peters, Barry Warsaw, Jeremy Hylton, and Fred Drake) who were recruited by Guido to work with him on Python and Python-related projects, first at BeOpen.com, and then at Zope Corporation. Along with Guido, they have generally been the ones making the most radical changes to the Python internals, although there have been some notable exceptions from other contributors. Python is too big for so few people to manage and grow as fast as its users would like (especially as Python is only a part-time job, even for Guido). A supporting cast, generally referred to as the python-dev crowd after the mailing list that anchors the discussions, is available to help in design discussions, implementing, testing, and, most of all, arguing (all in good faith, though). To most Python users, however, the work of Pythonlabs and Python-dev is gratefully acknowledged but somewhat mysterious. Many more people live in one of the outer layers of Pythondom, either virtual or physical (or, hopefully, both). We'll get back to the technically "deep" layers later—it's far more reasonable to learn about a community from the tourism bureau than from the city planning committee, however. 29.1.2 Local User GroupsWhile most Python-related communications occur on the Internet, it's nice to ground the names with faces and accents, and to get a feel for the real-world personalities behind the online personas. There are two great ways to do that, each with their own benefits: user groups and conferences. You may have a local Python or Zope user group in your neighborhood. There is a list at http://www.python.org/UserGroups.html, but check with your local computer society, Linux users group or other such organization for possibly more up-to-date information. If there isn't one yet, chances are quite good that there is pent-up demand for it, and they're easy to organize. It's a great occasion to learn more about Python, find out who else is using Python locally (which can be helpful at resume-passing time), and meet people with whom you share at least one interest. Both of the authors visit local user groups on a regular basis. 29.1.3 Conferences and WorkshopsWhether or not you partake in an occasional beer with local Pythoneers, we encourage you to go to Python conferences. There are several regular conferences, all worth attending. The oldest conference, the International Python Conference (IPC), is now part of the O'Reilly Open Source Convention (OSCON) (see http://conferences.oreillynet.com for information). IPC has grown over the years from a very small informal gathering to a large, very well attended meeting where Python experts, enthusiasts and novices from around the world come to mingle. For many, it is the only occasion to talk to their Python acquaintances in real life, and it's well worth it. A new conference, PyCon, has recently been started. Meant to complement the track at OSCON, it is a low-cost, hacker's conference, emphasizing technical discussions and foregoing the more commercial aspects of trade shows such as an exhibit hall and fancy lunches. When not writing this chapter, I (David) am helping to plan the second PyCon event, which promises to have very high-quality presentations. Both of the two conferences mentioned are based in the U.S. An alternative for some is to head to Europe for some of the Python conferences there: EuroPython (http://www.europython.org), and the Python UK Conference (http://www.python-uk.org). More conferences may have sprung up to accommodate the crowds. See http://www.python.org/workshops/ for updates. 29.1.4 Where to Get HelpAs easy as Python is to learn, no book or website can give all the answers. If you have a Python-related question, there are a few avenues for free and paid support. Information about all of the mailing lists mentioned below, including how to subscribe, is available at http://www.python.org/psa/MailingLists.html. 29.1.4.1 Python-helpShould you have a Python question that you can't get an answer for through the usual means, you can send an email to Python-help@python.org. Your email will be sent to a set of volunteers around the world who will do their best to answer you. Be as detailed as possible in your questions, copy and paste your code and the errors you get into your email (as opposed to often confusing paraphrases), and be patient as you await an answer. You'll find python-help can be quite a useful resource. 29.1.4.2 Python-tutorWhile python-help provides one-on-one help, python-tutor is a mailing list for people who are looking for help in the early stages of learning about Python or even learning about programming by using Python. It's a friendly list where no question is deemed too basic and still is fairly low-volume. See http://www.python.org/psa/MailingLists.html#tutor for details. 29.1.4.3 Python-listPython-list is the commons of Python development. It's available either as a mailing list or as the Usenet newsgroup comp.lang.python. Over the years it's grown to be a very popular destination, with thousands of messages a month. Conversations tend to be about Python, although some interesting excursions through the oddest topics do occur. It's a good place to hang out on the net with like minded folk. Python-list defines the public face of the Python community to a large extent. 29.1.5 Special Interest GroupsAll of the resources mentioned thus far have been generalist resources. Two kinds of more focused discussion groups also need to be mentioned. The first and most essential one is the discussion around the implementation of the language itself, on a list called python-dev. Additionally, some specialized topics naturally lead to long-term discussions, which can get quite technical but still remain within a well-defined domain. Typical examples of this kind of special interest group are the discussions aimed at defining specialized libraries that should be added to Python, such as those for scientific processing, database interfaces, XML or Unicode support. People interested in working on such areas typically form a special interest group(s) mailing list to coordinate their activities, get access to an area of http://www.python.org to publicize their results, and, when they have reached internal agreement, lobby the greater Python community (and Guido in particular) for inclusion of a particular functionality (as the Numeric SIG did for some syntactic changes) or just to report an agreement (as the Database SIG did to announce the definition of the DB-API standard). These days, many satellite discussions occur in other mailing lists that aren't "official" SIGs, although those tend to not feed back to the language core quite as much. Information about SIGs is always available at http://www.python.org/sigs. 29.1.6 python-devApart from those few "physical" conversations that happen in the Reston, VA area (where Pythonlabs team members are located), daily discussion about the development of Python itself happens on a mailing list called python-dev. The number of people participating in this list is considerably larger (dozens of active contributors, probably thousands of regular readers), and provides a very good forum for people who already know most of what there is to know about Python today, and want to participate in shaping tomorrow's Python. If you're curious, you can subscribe to the mailing list (http://mail.python.org/mailman/listinfo/python-dev), read it through a mail/web interface (e.g., http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/python-dev/) or through a mail/news interfaces (see e.g. http://www.gmane.org). However, most readers of this book will find the discussions on python-dev to be much too detailed and technical. To get a feel for what's keeping the core Python developers busy while staying awake, you're better off reading the edited summaries that get posted to python-dev and python-list on a periodic basis and that are archived at http://www.python.org/dev/summary/ (you can also ask to receive them by email). It's important to keep in mind that Python-dev is a working group. If you are a Python novice, you're welcome to read, but you probably shouldn't post except in very rare circumstances. You should definitely not ask for help on python-dev—as we've seen, there are many other, more appropriate places to go for help. Similarly, requests for new syntax or new features are in large part inappropriate on python-dev. 29.1.7 News SourcesIf you're too busy to follow python-list on a regular basis, there are several options to make sure that you learn of all new developments in the Python world. Major announcements typically get sent both to python-list and to python-announce, which is a moderated list. That's the primary forum to announce new Python packages or modules, new conferences, and other major announcements of broad interest to the community. Several people report on Python developments, such as Fredrik Lundh, a longstanding web log of Python news at http://www.pythonware.com/daily/. A rotating volunteer also monitors python-list and summarizes it on a weekly basis. Sponsored by Doctor Dobb's Journal, archives and information on how to subscribe are available at http://www.ddj.com/topics/pythonurl/. |
[ Team LiB ] |