Announce with plenty time in advance (at least 3 weeks) what's happening so that people have time to plan. Then follow up with a reminder a day or two beforehand.

A web page and a mailing list. Recently I've switched Vancouver Python over to Meetup.com and that's working well, but if paying for Meetup.com isn't your thing, don't worry about it.

Decide upon the format and let people know what the format is. I've seen two work well:

Someone does a talk for 40 minutes plus. People then break away for a beer or other social event.

A 5 minute talk (which usually turns out to be much longer if a discussion breaks out) from each person in the group.

A venue that can seat enough people with access to projector, screen and so on. Don't forget a dongle or two for those annoying Mac users.

It has to be somewhere quiet. We've tried bars a few times and even back rooms are hard to have conversations that more than a few people can here. Bars are fine for socialising, but don't try and have a talk that more than 5 people can hear.

Beer and pizza and other refreshments are optional, I've run groups either way and haven't really noticed a difference. Either way let people know beforehand.

Don't change the time and event unless something obvious is happening (e.g.: Stanley Cup final). There's nothing worse than someone moving an event forward 10 minutes or so just because.

Have someone take notes. These days we just have an etherpad session open and let everyone type in that while people talk there's one at typewith.me and also the Mozilla one.

After the event send round the notes within a day or so. Don't worry about how quickly you do it, now matter how fast someone will always email you and ask you to do it.

Things like be nice, respectful and inclusive all go without saying, of course.

...and if you are an open source Vancouver user group looking for a space, drop me a line and we should be able to sort you out something at Mozilla.