From PostgreSQL wiki
Create "starting a new user group" collection of best practices
- Finding a place to meet and picking a regular time and day
- Some ideas are: (Make reservations well in advance)
- Library Conference Rooms
- Restaurant Conference Rooms (advantage is everyone orders what they like)
- Company Conference Rooms
- Students may have access to school facilities (Be sure to get approval from school)
- Some ideas are: (Make reservations well in advance)
- Announcing your meeting
- For PUG Launch contact PUG Liaison (Selena Deckelmann) for Planet PostgreSQL Announcement
- Add an Announcement BLOG on the pugs.postgresql.org site
- Contact local school CS departments and clubs (in person is better that email)
- Contact other local User Groups (e.g. Perl-Mongers)
- Advertising your group
- Create a PUG business card
- Have Flyers posted announcing upcoming meetings at near by campuses
- Meeting topics
- Meeting structure suggestions
- Meeting Checklist
- Connecting with other user groups
- Organizing a PGDay
- PostgreSQL Advocacy resources
> I have no problem inviting > people to get together for a casual drink and talk about Postgres, but > that's about as much of a plan as I have.
Honestly, that could be the best way to start. There is no single formula for what actually happens at a user group - because that is highly dependent on who actually attends :)
- PDXPUG's background story:
My first user group meeting in Portland was three people - one of whom was a *really* good friend that I conned into coming, and the other was a long-time Perl Monger, sort of a friend, and a maintainer of a Perl + PostgreSQL content management system. So, now, we regularly have 15 people. It takes a while to build up, but I have to say that running PDXPUG has been the most fun experience I've had with open source people. We regularly hack on stuff together, and are all pretty good friends at this point.
- Tips on starting out:
The best places are existing user groups - do you have a Linux user group? Just send an email to that mailing list and ask about people interested in database stuff, and PostgreSQL in particular.
There may also be some other open source folks who work in the web space - PHP developers, Perl/Python folks and even Rubyists. Many of them would be interested simply to meet other people who know a bit more about PostgreSQL than they do. We get quite a few people who just drop in from time to time when they've got a problem they would like to talk to some database folks about.
Does the local university have a computer science department? Any database people in it? And, short of database people, who are the professors that teach the database courses? Sometimes you can get a friendly professor to advertise the group to students. We get masters and PHd students attending and even presenting at our meetings.
All the stuff I mentioned above can be accomplished by just sending out a few emails. Following up with phone calls can also be quite helpful, but is not typically necessary.
The secrets to success are:
- Have the meeting at a regular time and place (once a month, at a certain day and time seems to work really well).
- Advertise 2 weeks ahead, on Monday before the meeting, and then again on the day of the meeting
- send your 2 weeks-ahead and Monday before the meeting announcements to all the local open-source friendly mailing lists - or at least the leaders of those mailing lists for distribution
- Mondays/Fridays are bad nights for meetings, unless you have an extremely dedicated group, or are focusing on Friday happy hour
- Have a particular topic to discuss, and a plan for holding people's attention for at least 20 minutes
- Have time for socializing - at the pub, or at the place where everyone is meeting
- Make sure that everyone goes around the room and introduces themselves somehow
- Lots of geeks hate this, but in the end, they see how valuable it is
- We try to make up a silly question -- like, "what is your favorite EXPLAIN operator?", "Chocolate or beer?"
- Primarily, you're trying to get everyone to say their name, and then some little thing that will help you remember who they are
- Do this EVERY time.
- Make other announcements -- you could take them from the postgres weekly news, from stuff you know is going on around town, also just ask everyone that's present if they have any announcements to share.
- Have the "meet and talk" portion of the get-together be in a place where everyone can *hear* each other. The pub is great, but unless you have a space that's off to the side and a bit quieter, you'll have a hard time.
- After every meeting, post a paragraph or two about what happened. Some people go nuts and write a novel about what happened (which can be awesome!), but just a few sentences that confirm your existence, and that you had a good time is enough advertisement to convince a new person to show up next time.
There's really two things you're trying to accomplish with the meetings:
- Have everyone share a group experience
- Allow people to break off into smaller 2-3 person groups and *really* get to know each other
When you accomplish #1, then everyone has something that they can small talk about, and that leads to better group cohesiveness.
Finally, as far as topics go -- they do not matter as much as you would think. It is *definitely* enough to simply have people talk about what they do in their jobs - for just 20 minutes if they're not up for a 45-minute talk. We did something with EXPLAIN operators, where a member of the group would give a short description of an EXPLAIN operator and an example at the start. That was really cool, actually, and we learned a lot.
To get topics, I just ask people until they give in :) And, I do my best to get 2 talks lined up at a time, to save myself some work.
The key is - start having meetings, and just keep having them, even if only 3-4 people show up.