Per the request of various folks, all of my code is now mirrored on GitHub. I’m still pushing to my personal server, but I’ve set up hooks to then mirror to GitHub. I’ll be happy to accept patches via a github repo and/or pull request. I wrote some code to manage the mirroring, which can be found in my git-bits repo. It’s not ready for CPAN, but it might be useful to others who want to do something similar.

I have way too many modules. Want to take one or two?

Here’s some modules that I own (or co-own) that need some love:

  • DateTime-Format-Mail – has some open bugs that could use some attention.
  • DateTime-Format-MySQL – I may have a new maintainer lined up, but the more the merrier, I suspect.
  • DateTime-Format-Strptime – I took co-maint on this to do a few quick fixes, but it could use more attention.
  • DateTime-Locale – I have a vague plan to convert this to use libicu or something like that, but I am lacking tuits. The data is quite out of date at this point. If someone wanted to do just take the existing code and make it work with the newest CLDR data, that’d be fine, but you can’t change the API unless it’s necessary to support new data.
  • HTML-WikiConverter-MultiMarkdown
  • MooseX-Singleton – I don’t bother using this any more. It’s more trouble than it’s worth.
  • Params-Validate – could use an XS expert to fix some bugs I just can’t figure out.
  • ShipIt-Step-CheckVersionsMatch – I’m down with dzil.
  • Anything else – if you’re dying to work on something I’ve been neglecting, let me know.

All of these modules should be in a git repo on my server.

Contact me via email if you’re interested.

A recent discussion on the YAPC::NA blog reminded me of the importance of having a code of conduct for conferences. I wrote about this previously in the context of creating a policy for my animal rights group. Now that the issue’s come up with YAPC, I’m thinking about what the ideal policy for a conference should look like.

I do sympathize with people who don’t like these policies, and think they should be as short as possible. Isn’t it obvious that some things are unacceptable? Shouldn’t we be able to “just” act like adults and treat each other with respect? Do we really need all these rules stated up front?

A code of conduct is not written for the vast majority of attendees, who act reasonably and treat each other with respect. They’re written for two groups of people. First, the code exists for people whose idea of what’s acceptable falls outside of the community standards. Having a policy in place may help them recognize that certain behaviors aren’t okay. After all, most of us wouldn’t fill our slide decks with sexual images, because that’s obviously a bad idea, but it still happens. Second, the policy is for people who are concerned that they may be victims of harassment at a conference. Having a code of conduct makes it very clear that the conference organizers take this issue seriously. It also gives them clear guidelines on reporting incidents.

Calling it a “code of conduct” may be a bit misleading. We need more than just a list of expectations. We also need guidelines for reporting harassment and a policy for dealing with people who fail to follow the code of conduct. This is important because it helps reassure attendees who may fear harassment that there is a mechanism for dealing with it. A code of conduct all by itself, absent a reporting procedure, is like having laws without a way to report infractions to the police.

The Geek Feminism Wiki has an example anti-harassment policy that makes some important points. I really like the template they provide for internal use with conference staff that gives some specific information on how to handle issues that arise.

One of the things I dislike about it is the description of harassment, which says “Harassment includes offensive verbal comments”. The problem is the use of word “offensive”. This seems innocuous at first, but it’s awfully subjective. There’s really no consensus on what constitutes “offensive”, other than whether or not a particular person is offended. A good example might be using the word “chick” to refer to a woman. I know women who find this offensive, and others who don’t.

A closely related problem is that this example policy doesn’t encourage any sort of mediation. In many cases, both the offended person and the offender have legitimate arguments. An ideal policy would encourage the two people to discuss the issue together and resolve the issue amicably. In many cases, it may be sufficient for the offender to say something like “I’m sorry, I didn’t realize that saying X would bother you, I’ll be more mindful of your concerns in the future”.

(Note that the issue here isn’t whether the word “chick” is acceptable. The important point is that both parties may have legitimate claims, and the ideal outcome is for both parties to agree on how they can get along in the future, so they both can enjoy the rest of the conference.)

In the YAPC::NA blog discussion, one issue mentioned was not wanting to have a list of specific topics or words which are forbidden. A list of words is a red herring. I’ve never seen such a policy. The Geek Feminism Wiki policy does list specific issues such as comments related to gender, race, sexual orientation, etc. The concern I’ve heard about this sort of phrasing is that someone will do something not specifically on the list and then try to be a rules lawyer when they’re called on it.

One way to deal with this is to start with a general “don’t be an asshole” section. That’s what the YAPC::NA 2011 Code of Conduct does. Then there can be a list of some specific offenses (sexual imagery in slides, harassing photography, belittling comments, inappropriate physical contact, etc. Finally, the policy can say “harassment includes, but is not limited to [list of things]”.

The reason to list specific things is that not everyone agrees on what “don’t be an asshole” means. Past incidents at a variety of conferences make this very clear. Listing specific past issues really can’t hurt, and it could help.

Overall, I think the YAPC::NA 2011 Code of Conduct is a good start. I’d add a list of specific offenses after the opening “Reasonable Person Principle”. I’d also remove the bit about recommending a restraining order. This seems somewhat out of place. None of the conference incidents I’ve read about have been the culmination of a long-term dispute between two people, so a restraining order isn’t really relevant.

Finally, the policy needs more explicit guidelines on how to report harassment. In particular, it should includes names, phone numbers, and email addresses for key conference organizers. It may not always be obvious to a conference newbie who the organizers are, and they may not be able to find one in person.

Conferences also need an internal document like the one in the Geek Feminism Wiki. This document should be distributed to all volunteer staff at the event.

I’d like to see a standard policy adopted for all Perl events. At the very least, TPF can work with the community to create a required policy for TPF-sponsored events.