Geertjan's Blog

  • September 29, 2006

What is a JUG? How do I start one? How do I find one? And why?

Geertjan Wielenga
Product Manager
On the return trip from Gottingen yesterday, Roumen told me about his experiences starting a JUG in Prague, here in the Czech Republic. He had a lot of practical information to share, so I thought... let's do an interview. Here it is. The assumption is that you, the reader of this interview, might not have the faintest idea what a JUG is. (I wasn't all that sure myself until Roumen told me yesterday.) The other assumption is that you're maybe someone interested in joining a JUG, but that you don't know what to expect from it. (You might also not know how to find whether one exists in your area.) Or that you're someone who wants to start one, without knowing how to do that.

So, Roumen, you recently started a Java User Group (JUG) in Prague. What is a JUG?

I could look up the official definition from somewhere, but basically a JUG is a group of people who meet on a regular basis. The goal of a JUG is to educate its members about the newest Java technologies, to share information and practical experiences about using Java, and evangelizing Java. More experienced Java developers help the less experienced ones. Some JUGs are just virtual (people meet on mailing lists) but it's always better to meet in person. Presentations are an important part of any Java User Group—they provide a way to share information effectively. Some JUGs also organize conferences (for example, BeJUG organizes the great Javapolis conference). So it's about Java geeks meeting with other Java geeks and talking about the stuff they're interested in.

And why did you start one?

There was no JUG in the Czech Republic before we started CZJUG. Based on some of the discussions we had with the Czech Java community, there was a need to start one. However, nobody really took the steps to do so. We've been talking about the JUG with my colleagues at Sun for quite a while and since nothing was happening, we thought that we needed to take the first step. And, as you know, I'm crazy enough to do this kind of thing, so I wrote to some of the folks from the community and talked with them about the JUG. Finally we found two partners—java.cz and the Czech Technical University, and so we started the JUG with them. At that point I didn't realize I would be organizing almost everything myself, but it turned out that way (you know, what you do not do yourself, nobody else does for you). Surprisingly, I realized after the first JUG meeting that I really enjoyed organizing it, introducing the speakers, etc., and now I'm very happy we have a JUG in Prague and that we've started it.

But I'm diverging from the point—to answer your question why did I start it—I like working with developer communities and I knew we needed something like this in the Czech Republic. And since none of my colleagues were really eager to organize it, I took the initiative and made it happen.

How long has it existed?

The JUG is very young—the first meeting was held on September 12th of this year. The very first meeting was not very technical, so I thought we also need a technical meeting this month, so we had the second meeting last Tuesday.

How many people are part of the JUG?

Around 100 developers came to the last JUG meeting (yes I counted them :) and we have more than 100 developers on the JUG mailing list. I think this is a very good result—it really exceeded my expectations. We've done quite a lot of marketing which helped to spread the word about the JUG, but I think the numbers will go up, especially now that the next semester is starting at the university.

How many events have you had? What happened at them?

We've had two events so far. We had Laurie Tolson, the vice president of Java and Developer tools at Sun Micrsosystems, at the first meeting. That was really cool, because I think it shows how Sun is commited to Java communities, since we brought the highest Java-related person from Sun to our very first JUG meeting. She spoke about the open sourcing of Java, about JRuby and about Java communities. We also had short presentations by our partners—java.cz, represented by Rudolf Pecinovsky who is an author of many Czech java books, and the dean of the Czech technical university, Mr. Havlicek. Pavel Suk, the director of Sun's Prague engineering center also presented at the first meeting. Here's Pavel Suk engaging with the participants:

(Other pictures of the first meeting are at http://www.roumen.name/photos/CZJUGOpening/.)

I was a bit worried because we didn't have any technical content at the first JUG meeting, so I wasn't sure if people would show up next time—you know developers don't really like too much of marketing blabla. So I tried to get the best possible technical speakers for the second JUG meeting and we were lucky to have Jason van Zyl and Milos Kleint from the Maven project and frameworks guru Craig McClanahan at the second meeting. So this meeting was very technical, Jason and Milos spoke about project Maven and how it differs from Ant, that it's actually more than just a build system and then they discussed all the features of Maven. I knew Maven provides a project repository and solves build dependencies but there are many other usages that make Maven a generic tool for working with projects. It was really interesting to find out about them.

Craig's presentation was also very interesting, he spoke about the current state of Java web frameworks, where they come from and where they are heading. He provided good reasoning about making the choice of a web framework and described the principles behind them. So I think the attendees learned a lot during this meeting.

The slides from these sessions are available here:

The video from the first meeting is also available here. You need to use VLC player (http://www.videolan.org/vlc/) to play the Theora video. We will also make it available in AVI format. The video from the second meeting will be available in 2 weeks or so, once it's processed.

How did you advertize? How did people know the JUG existed?

Let me start by saying that the JUG is now basically led by two people—me and Roman Pichlik, who is a very famous Czech blogger who works for Systinet. We haven't formalized our leadership roles yet, but since we do all the work, I think we can say we are JUG leaders, can't we? :) I spoke a lot with Roman about spreading the news about the JUG and he helped me by blogging about it (he is probably better known in the Czech Java community than I am), so we used a lot of guerilla marketing.

I also worked with my Sun colleagues Jiri Mzourek and Josef Holy to do a press release, so we "misused" Sun to advertize the JUG, both via a press release and by sending e-mails to people who came to past developer events organized by Sun. So I guess the JUG marketing was easy for us because I work for Sun, so I used all kinds of channels available here.

We also published information about the JUG on known Czech Java web portals. I sent several e-mails to developer lists and submited information to developer forums. Finally, I was also interviewed by one student radio station (how cool is that?). So we spent a month or so with Roman and other folks to spread the news... we also sent e-mails to known Java personalities from the Czech community and asked them to spread them for us.

All this was really a lot of work and I was nervous because we had Laurie Tolson coming and if only 20 people would show up, she would have thought I was doing a lousy job :) But it turned out really well and we had very good attendance—but, as I said, we spent a lot of time pushing the information by all possible means.

If I were to start a JUG, would Sun be able to help? And how? Can they send stuff like t-shirts and CDs and so on?

Sun sponsored the t-shirts we gave away during the first meeting. In the case of CZJUG, Sun is helping by providing my time to organize the JUG—I do that basically instead of doing my regular work which should be evangelizing NetBeans. I'm also talking with Aaron Houston who is the JUG community manager about other ways to help the JUG—we might get some other giveaways. And, of course, Sun is helping by providing many good speakers—which is probably the most important contribution. Without good technical content the JUG doesn't make much sense.

But don't get me wrong, even though Sun is involved in this JUG, it is not a Sun User Group! We'll have JetBrains next time (creators of IntelliJ IDEA) and Roman Pichlik uses Eclipse, Spring, and Hibernate... so we'll have some very diverse content at the JUG.

Is there a website with information about JUGs?

Yes, the main website is https://jugs.dev.java.net.

I was suprised to see how many JUGs exist around the world. There are a lot of them in the incubator, too (just being prepared). There are hundreds of JUGs around the world and it shows how vibrant the Java community is. I'm talking with some of the other JUG leaders and they will come to present to our JUG which is really cool. There's this network of Java leaders and Java Champions and it's nice to see people with diverse backgrounds from all around the world talking together—it's as if there are no country borders, because essentially the JUGs work in the same way no matter which country you're in.

If I live in a small town somewhere and I know one other person interested in Java, what would be the benefits of starting a JUG and how would I get started?

It is always harder to start in a small town than to start in a bigger city. You can start small—create a virtual JUG (just on a mailing list). Then you will grow over time. As a JUG leader you will get support from Sun and from other JUG leaders who can share their experiences. They're helping me quite a lot at the moment, since we are discussing JUG governance issues. Don't start a JUG alone—you need to find people who have the same motivation. One way to find them is to advertize on this page, which is what I did:


Via this site people can locate your JUG, even if you're unknown or just interested in starting it as an individual. You should find other developers who are crazy enough to work on the JUG with you, ideally these should be people who are known and respected in your local Java community.

You also need to find people who will present at the JUG—without technical presentations, it is hard to gather developers. And you need to get the word out, by blogging, writing articles, contacting media sites, talking with people, sending tons of e-mails, etc.

You can also ask the local Sun office for help, but I can't guarantee that every local office will have the resoures to help you—it really depends on the country. We're lucky in Prague—we have a large engineering center. You should also search for companies which will help you with the JUG—by sponsorship, by providing a room where to meet (universities are great for this purpose), somebody to provide web hosting for you and so on.

You can start a JUG project on java.net which will provide the basic infrastructure for you—web, mailing list, wiki, etc. There might be other things I forgot—really starting a JUG is a lot of work, but once you get it up & running it's fun and it can be also very rewarding.

As for the benefits, your local Java community will benefit from this enormously, because they will have a place to meet each other. Many people who wouldn't normally know each other at all will have the opportunity to meet and share experiences. All the JUG members will learn from each other and through the presentations you organize for them. You can also get known Java personalities from your country or even other countries interested in your JUG and meet them in person. People can share experiences you can't normally find in books or at school and this is very valuable—this is why people come to the JUG in the first place, to learn something they couldn't learn anywhere else.

As for the personal rewards as a JUG leader, don't expect many! I spoke with other JUG leaders and organizing a JUG is always a lot of work. It's of course good to have it on your CV, but if you're doing it for this reason there's something wrong with you... You should have a natural need to foster the Java community, so your main motivation should be that you really want to do something good for your community. If you're doing it just for the sake of visibility or your career, you probably won't be very successful. You have to be motivated enough to spend lots of time in preparing the meetings, getting speakers, communicating with the community, marketing the JUG and other things. If you enjoy all this, go for it! But if you don't, find somebody else who will do it for you... :-)

Are JUGs specifically aimed at Sun technologies and tools? Isn't it really just a sneaky way of marketing Sun stuff?

Ha! I was expecting that question. Normally, JUGs are led by people outside Sun and Sun only helps by supporting the JUG. It often happens that the JUGs have a different opinion than Sun and that's good—they can influence Sun and move it into the right direction. So, often JUGs are run by other companies and even by competitors of Sun and it works. Of course, some of the JUGs might be biased, but you can't really prevent that—it depends on the leaders, because everyone likes some different technology—someone likes NetBeans, someone likes Eclipse, someone likes EJB, someone likes Spring, etc. So I think the JUG leaders define how the JUG works and what the rules are and since the majority of the JUG leaders don't work for Sun, they make sure sneaky marketing stuff won't happen. What is common for all JUGs is that they all want Java to be successful.

In case of CZJUG—as you know I am a Sun employee so people will be suspicicious about my motivation—there's not much I can do about that. :) Whenever I speak with the future presenters for the JUG I tell them that we want technical content, not marketing. If we did marketing content at the JUG, people would not come to the JUG, because it gives them not nearly as much value as good technical presentations. So, neither Sun, nor any other company should use the JUG as a marketing vehicle. To make sure CZJUG is neutral, I organize the JUG together with Roman Pichlik, who uses technologies which are competing with Sun. Also I try to reach as many decisions as possible by concensus at the JUG mailing list.

As mentioned, we will have JetBrains at the next CZJUG meeting—this company competes with Sun in the Java IDE space and actually inviting them to the JUG is against what I should do in my regular job. So I try to be as fair as possible and Roman and the rest of the community help me to stay fair to our competition. Actually, I think I'm the only Sun employee in the world who co-leads a JUG (if there's anyone else, please let me know, I really want to share experiences). So JUGs are usually very neutral which is also the reason why they work so well.

Please give an impression of the very first JUG meeting and explain what I should expect at the first JUG meeting I go to? What should I arrange if I am arranging the first meeting of a new JUG?

To arrange the first meeting, you need to get interesting content, so that people enjoy the meeting and they come back next time! You know people have their own schedules and if you want them to change their schedule, they really need to have a good reason to do so. I recommend to provide an interesting presentation or two about some topics many people are interested in. People need to learn new things at the JUG. They also need to be entertained a bit—nobody enjoys listening to a long boring speech. So, find good speakers or do the presentation yourself, assuming you're a good speaker yourself. Here's me in action:

(Other pictures of the first meeting are at http://www.roumen.name/photos/CZJUGOpening/.)

Talk about what the goals are of the JUG, what can people expect in the future, etc. You really should have a plan for the next 3-4 meetings, so that people know what they can look forward to and so that they can have a reason to come regularly. It needs quite a bit of planning and finding good speakers. You should also explain to the community that it's not about you or somebody telling them, but it's a community effort—they should all participate, prepare presentations, help you out, etc. Give links to the JUG website and JUG mailing list and explain to people how they can participate and what you want from them. And maybe most importantly—have fun and make the first JUG meeting enjoyable—create an open atmosphere and people will come with suggestions themselves!

Who can join a JUG? Students only? Or programmers in companies too?

Anyone can join the JUG, at least the case of CZJUG. Some JUGs use registration, we are trying to be very open, so anyone who comes or joins the mailing list automatically becomes a member of the JUG. If they don't like it anymore, they don't have to come anymore. All the meetings are free. So there's zero barrier to entry, zero barrier to exit, and low cost of ownership—you just need to come, that's it. :)

Anything else you want to share?

Yes: If you're interested in CZJUG, visit:

https://czjug.dev.java.net (in English)

http://www.java.cz/detail.do?articleId=2252 (in Czech, more information available)

If you're interested in speaking at CZJUG, feel free to contact me at roman dot strobl at sun dot com. We have a very full program till January 2007, but we can definitely fit you into one of the meetings after that!

Join the discussion

Comments ( 2 )
  • Mac Thursday, October 5, 2006
    I am interesed if you can send me by email (zip or rar pack format (can be in \*.txt file) the code and files for web counter. Please can you send me thoes files and in text file please can you write me whic syntax (html code) i must put in my homepage to start web counter. thank you for your pecious time.
    i am only a beginner so i yust learn to use java and javascripts.
  • Geertjan Thursday, October 5, 2006
    Web counter? I don't know what that is. I don't have it.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.