Founding local C++ User Groups
by Jens Weller
I've talked to some people at Meeting C++ 2013 about this, but decided not to go into the details about this at this years conference. That would have meant to have another good talk not at the conference. So, here is my thoughts and a little overview on C++ User Groups. Note that a lot of what I write also applies to you, if you just want to found a User Group for something else then C++. But I use C++ User Groups as an examle, as its only logically with my expierence.
C++ User Groups are essentially local communities, which meet at a certain day of the month or once a quarter to have either a discussion or maybe just a beer over C++. Usually people of different domains meet up, so that you'll have a chance to see how similar problems are solved else where in the industry. On the long run, a local C++ Network of people is created, that educates through talks and discussions, and maybe also gets some of you into a better Job.
For me, the whole community thing started with MeeGo, my motivation to get involved into organizing local meetings was mainly that MeeGo was Qt and C++ based. That got me started, but MeeGo went the way we all know, and I decided that I didn't wanted to concentrate on a new platform, but rather try to start something independent for C++. So, with some contacts I had made through the work for MeeGo, I started the C++ User Group NRW/Düsseldorf. That was 2 years ago, in the meanwhile I have directly or indirectly helped to start User Groups in Berlin, Dresden, Hamburg, London and just in October Wroclaw.
Starting a C++ User Group
Lets start into the discussion on founding user groups, there is in my opinion different approaches to get started, but I don't want this to be a discussion, so I'll just list what I think is right. First I think that a C++ User Group should be local, which means its usually for a certain region. From my expierence, people are willing to travel up to 70km one way to a user group meeting. So in order to get started, I think you'll need the following four points:
Actually I consider this point solved, in every larger city in europe it shouldn't be the problem to get enough people (5-20 each month) to join a user group meeting. I was sceptical with the user group in Wroclaw, but at the first meeting 30 people showed up, and at the 2nd it was 40. Thats crazy, and I haven't had any personal contact in the area.
The biggest problem, and in my opinion also the hardest problem to get started, is to find a person willing to organize the whole thing, its good if this person is also able to give talks, but its not a requirement. Not even C++ knowledge is needed, but probably good for the motivation. But if you want to start a user group, this problem is already solved! :)
Thats actually easy or hard, depends a lot on your sitution and where you are located. A location should be able to host you, you'll need a beamer for the talks, normal infrastructure and maybe drinks. There is some locations which offer this:
I'll start with Restaurants, this is ofc great if you plan to have dinner with your user group at some time. Some restaurants also offer rooms, but you have to make sure that they are aware of that you are there at a certain day. Also a restaurant might kick you out if you don't drink enough or they have a higher paying customer at that day. Also some restaurants go uneasy with not knowing how many people attend. This can be a NP hard problem.
Companies are also a good host. The belgian user group hosts mostly their meetings at companies. The company hosting the meeting usually then pays the drinks and food, and has the opportunity to give a tour/introduce it self to the audience. But also companies have their own agenda, this shouldn't introduce a conflict with your audience. The problem with this model is usually that you have to find for each meeting a company willing to host the event. So its not the best if you want to be able to have monthly meetings.
Hackerspaces. There is a website, Hackerspaces.org which lets you find Hackerspaces in your city. 3 of the 4 german C++ User Groups host their meetings in Hackerspaces. You automatically get usually some people from the hackerspace as guests. But not all Hackerspaces are able to host a user group, and some who do are already booked out. A Hackerspace always already has a local network of nerds, so its in my opinion a very good starting point.
Is there a university in your town? Studentclubs or rooms in the university can also be a very good location to start your user group. In Dresden the C++ User Group meets at a studentclub. This especially applies if its a technical university, as you will naturally find people interested in C++ there.
Or talks to be precise. If you'd like to have a talk at every meeting, you'll need to see who can provide them. There is usually a few people interested in presenting something, so at the start you often have enough talks, but you maybe want to save some of them for future meetings. I like it much more, if I am able to focus on one topic per evening, and have a discussion later about it. From my expierence, talks aren't really a huge problem, and most user groups don't have to much struggle with organizing them.
Or get started! Thats by far the most important thing: if you don't get started, you are getting no where. For the start any random date is good, as long as you (and anybody giving talks) have time. Of course you should make sure that people are able to come, so having a doodle to know which date is best is a good idea, and also don't pick public holidays or bridgedays in between a weekend and a public holiday.
Beyond the basics
So, organizing local community meetings isn't rocketsience. It will boost your local network of C++ professionals to a new level, and the meetings are always a ton of fun. There is some questions in how to structure a C++ User Group internally, its good if you are not alone, so people can help you and you are able to delegate certain activities like finding a location or the next talks. Some user groups have presidents and what not, some don't. I prefer that a C++ User Group is locally independent, so a national body is not needed.
Websites. Its good if your user group has some home on the web, so people can find you. But a website can't replace meetings, also hosting a forum or a mailing list is a nice idea, but again, thats not the same thing, and can't replace meetings in the real world. Also if you have a website, I can link to you, as I will try to give you the support of my global/european C++ Network.
Speaking about networks, to build a (european) C++ network is one of my main motivations behind Meeting C++, as I think that the C++ language but also the community could profit from this largely. Also it helps to reach more people for C++, and to educate them in using C++ and its libraries.
Negative people. There is often some people who don't believe that its possible to get a User Group running. Or favor other means of organisation, such as having an online forum or so. I had somebody express the opinion that founding a User Group in Berlin wouldn't work, well, he was wrong. So, its normal that some people express their doubts and concerns, they can be a great help in improving things, but also don't get stopped by them. Its good to listen, and right to improve, but focus should always be on getting stuff done, then thinking about what could go wrong.
A short last paragraph about funding for User Groups. I have made the expierence, that it is hard to actually get companies as sponsors for such an event. Hosting is a bit different, but sponsoring is difficult, as the audience isn't really a good target group, and also hates marketing mostly. People will not come to your meetings if they look like a marketing gig. I even have trouble to find funding through sponsors for my conference, so for funding, I made the expierence, if needed for room rent etc. its usually best to ask the attendees for a share. After all its the community that cares the most about the meetings and the community itself.
So, if you are interested in founding a local user groups, you should have now a plan how it can be done. Feel free to contact me for any questions, and also when you get started, so I can list you in my monthly overview over C++ User Group meetings.