Sat, 19 Sep 2009
A slightly more thoughtful post on diversity
(Some more meanderings on the brouhaha about diversity in the Python world.)
First, I've removed 'python' from the tags and made sure that neither Planet Python nor Advogato feed from this blog otherwise; I suspect by talking about politics and feelings in OSS I'm getting further from my normal target audience, and I don't want to spam the entire community.
Second, because my last two replies directly into a diversity-list-inspired discussion have inspired blowback of the form "why are you such a jerk for not supporting women/minorities in Python?", I want to CMA and point out that I'm completely in favor of increasing the diversity of the Python community, and I'd like to publish a community-wide diversity statement. Heck, I could probably convince you that I've worked reasonably hard over the last three years to bring women into the community. Unfortunately, expressing skepticism about statements like this: "...publishing a diversity statement is one of the only things that works" apparently means "I don't like women in my programming community" to some people, even though that's not what I meant by it at all. (If you're interested, what I meant was that Kirrily Robert's post/talk about how AO3 and Dreamwidth created communities with a more representative balance of men and women by, among other things, posting a diversity statement, DID NOT AUTOMATICALLY IMPLY that such a tactic would do much in the long-established Python community -- even though that was what some people were implying, and what GvR actually stated in an e-mail. See how controversial I am?)
I've also been astonished to watch otherwise sane and reasonable people embroil themselves in this discussion with good intentions but ... poor implementation of those intentions. When one person (who I know somewhat and respect as far as I know them) said that the PSF's discussion of the diversity statement "violated" their expectations, I had to throw up my hands and laugh somewhat ruefully; was that really the least inflammatory choice of words that that person could have used?? (There were many more examples, but that one stuck out in my head as possible the least appropriate word choice I'd seen that day.) The discussions seemed to often boil down to people questioning the precise meaning of specific words, frequently by choosing the most narrow and least positive meaning possible. That is not a productive way to discuss something, folks.
Perhaps the most disappointing aspect of this whole discussion has been the disappearance of the normal assumption between long-term Python contributors that we all mean well to each other.
Perhaps because of this, I've gotten a number of private e-mails from people in the Python community expressing feelings of isolation from the community on this topic, either because they don't feel strongly about the topic or they feel their opinions are not welcome. Given what happened to me after expressing an honest inquisitive opinion about why women didn't feel comfortable coming forward in the Python community, I can hardly blame them; the Thought Police were out in force, and there's no winning when someone implies that you either agree with them completely or you're a bigoted misogynist asshole. (That would be me, incidentally!)
So why do I keep thinking about this so much, anyway? (To give you an idea of how much, I have two other posts in the pipeline that address this issue and I've read more e-mail and had more conversations about this in the last two weeks than any other topic... I'm debating deleting the posts, you'll be happy to know ;) Partly it's because of my general surprise at the inflammatory nature of this discussion in the generally fairly friendly Python community, and partly it's because I liked & respected the guy who (in paraphrase) called me a bigoted misogynist asshole and I still very much respect the guy (GvR) who called me a wanker and asked if I'd actually read Kirrily Robert's post (I had, and I stand by my point of logic). I don't like losing potential friends for stupid reasons, and I think you can probably understand my feelings about the author of the wanker comment...
Today while driving I thought about this topic some more, and settled on something specific that I actually think is worth addressing: namely, could this whole topic have worked its way through the Python community with fewer misunderstandings and in a less inflammatory way? There are a couple of things I would suggest doing next time, if there is a next time for a topic of a similarly divisive nature.
Zeroth, I don't think there's any way the diversity list could have been made more pleasant for me. By nature I'm very much a skeptic, and that was a poor fit for the list. (I'm glad I joined, though; the links and discussions that I read while on that list were indeed eye-opening.) What, then, would I have changed?
First, I would have communicated the diversity statement to the PSF list with a request for a simple up-down vote by the membership, along with an additional request that anyone who thought that it was worth discussing in detail move over to the diversity list itself. There was quite a lot (QUITE a lot) of duplicated discussion on the PSF list.
Second, I would have tried to keep the diversity list better informed about the depth of the discussion going on in the PSF list. One problem with mailing lists is that you tend not to realize that everyone else isn't on them; with closed mailing lists, this is even more of a problem! Perhaps because of this at least a few people seemed to think that the PSF members had read the diversity statement generated by the diversity list and collectively shitcanned it without much discussion. Not so, my friends - we had lots of discussions! I can give you screenshots of my mailbox if you doubt me ;)
A third thing I might have tried would have been to gather more background material than a few blog posts for people who wanted to read more. (This is definitely 20-20 hindsight; I didn't realize how much material was easily accessible on things like increasing diversity in the sciences! That's one of the blog posts I have queued up...) Blog posts are almost necessarily advocating something, and to do so they take a biased perspective on that topic. That bias can in turn bias conversations. I'm reasonably certain that the diversity list is ignoring possible options because of the set of background reading material that was sent to the list. Watch This Space?
Oh, and fourth, I probably would have tried to make a stronger effort to make the point that a diversity statement is almost certainly not going to matter in the slightest without substantial backup efforts. (This point was made by several people, but didn't seem to percolate effectively in the face of disagreements about 'the' vs 'a'.) I will post a viciously disappointed post about this if I don't get good turnout for GHOP.
This is all debatable and in hindsight, and I certainly wouldn't have thought that the topic would blow up to this extent in advance.
I will always have more to say on this topic but I think I'd better cut my losses while only half the community thinks I'm a bigoted misogynist asshole wanker... ;)
--titus
p.s. Comments welcome from the Python community, except from that one guy.
p.p.s. Does anyone else on either list find it strange that so many messages were exchanged on both lists without much comment in the Python blogosphere?
posted at: 19:12 | path: /sep-09 | 5 comments
Wed, 16 Sep 2009
Diversity in a Nutshell
Since a few people have asked, here's a rough guide to the diversity discussion. No specifics allowed.
1. diversity list created to (among other things) ponder an official diversity statement for Python. List is closed-archive but open for general subscription.
2. Various diversity list discussions become heated. Some people (including myself) leave list in response. Sigh of relief, back to normal life; is that a good response?
- A few weeks pass.
4. Diversity list discussion hunts me down on psf-members and tries to pounce. Narrow escape.
5. Proposed diversity statement from diversity list posted to psf-members for discussion and hopefully? approval; diversity discussion engulfs psf-members list like a revenant whale.
6. 1000s of messages pass. Or at least many dozen. People agree, disagree, agree to disagree, disagree on their agreement, and otherwise cause trouble by collectively failing to accept any part of the proposed diversity statement. (Tho it's actually much more complicated than that.) Troubling and unprovable accusations of widespread anti-diverseness in the Python community are softly bowled across the lawn.
7. Diversity discussion from psf-members cross-posted to diversity list. Non-PSF members on diversity list freak out at the idea that the PSF might adopt a diversity statement that did not take into account some of the issues they had discussed. Hurt feelings ensue, including frustration by various people that other people are doing things they don't want them to do, in complete violation of expectations. Troubling and unprovable accusations of fairly specific anti-diverseness in the Python community are left, steaming gently, on the lawn. Closed nature of both lists engenders and amplifies confusion.
- Still no diversity statement from the PSF on the horizon.
Things have quieted down for the evening.
Personally, it's been the most unpleasant set of interactions to watch and (occasionally) participate in that I've seen in the Python community in a long time; one can only hope that we reach some form of passionate agreement in the future:
Agreement in a group setting is truly a wonderful thing. But we should be wary of agreement that comes without any work, any disagreement, and disruption. We must never mistake quiet civility for passionate agreement.
(See this link for the whole post from which that quote is taken; Godwinning is unintentional but, frankly, a rather ironic endpoint to my meanderings.)
My new theory? It's all a plot instigated by the Perl community to distract the Python community so that Perl 7 can get the jump on Python 4k. It's the only way I can make sense of it all.
--titus
Comments closed, because I just don't care what anybody thinks any more.
posted at: 21:11 | path: /sep-09 | 0 comments
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
How the Python stdlib changes (a public service message)
In the interests of social anthropology, I feel compelled to point Pythonistas at this fascinating discussion on the stdlib-sig on adding argparse to the Python stdlib. (Yeah, it's pretty much the only traffic that list got so far this month.)
Fascinating stuff. If there's a secret cabal out there masterminding Python development, they are clearly rather poorly organized ;)
--titus
posted at: 19:26 | path: /sep-09 | 1 comments