Category Archives: Exist

Learning from Maven Training

One of the interesting side effects of hosting a Maven training course is the things I learn as an instructor. Some of them you already know but need reminding of, others you just don’t get until you watch someone try it unaided.

Recently, I ran my "Apache Maven, End-to-end" course, firstly with the beginners course in Manila and then the intermediate course at ApacheCon US. Both had reasonable turn outs, with a late increase in registration to the ApacheCon session that was encouraging.

Some of the things I took away from it:

  • Maven’s diagnostics when things go wrong still suck. I do all I can to prevent network issues from impacting the class by providing a repository that covers the required parts of all the content, but there were still 2 or 3 instances of the "plugin not found" message when a network failure occurs.
  • The basics are still helpful. Though those in the intermediate course already had quite a bit of exposure to Maven, I received positive feedback to covering the basic principles again. It reinforces the "Maven way" of doing things and some of the reasoning behind it starts to make more sense, even if you already know how it works.
  • Repository managers are still taking hold. While a number of people were using one of the available managers, it seemed to be largely for proxying, and no one was running one on their own machine. Even though I only covered it briefly, that section was well received even by those running something other than Archiva.
  • The devil is in the details. You can cover all that you need to be able to do with Maven itself in about a half day, and it provides enough to do 80% of what you’ll ever do with Maven. You can only run a few specialised sections, such as sites, assemblies and releases. The other 20% widely varies and requires learning and researching specific plugins for those tasks. None of this is surprising – but it is encouraging that learning Maven is not as hard as it looks to some, but also that a better way of collating plugins and practices is limiting the ability of people to use Maven.  The course I run has basically an exponential ramp in what you are assumed to know and able to do once the basics are in place – as you set up infrastructure and team capabilities it is still reasonably easy to piece things together gradually if you’re building on a solid project structure.
  • Test more on Windows. I had almost forgotten how much harder life is to be a Java developer on Windows as seemingly trivial things go wrong. Trying to start a server, pinning to wrong Java versions, etc.

There’s always more and every time I run a course I come back with a series of notes to re-apply to the material, and bugs to fix in the software. But an encouraging point, and one I noticed from the conference in general, is that Maven acceptance is on the rise. Even though there haven’t been radical improvements to the underlying software since 2.0.x, the principles behind it have started to sink in, and complaints tend to be specific fixable issues rather than general frustration. Alternatives continue to get mileage, but none (yet) have been the Maven-killer they each claimed to be. Underneath it all, it seems we got a lot right after all.

Philippine Open Source Summit

Back in late June, I was able to attend the Philippine Open Source Summit in Cebu. It was another good trip, both for the conference and the opportunity to catch up with friends and colleagues.

The conference itself was very well attended, so it is great to see that level of interest in open source in the Philippines, and to meet a number of people involved in communities there. I hope that events like this are an encouragement to grow both individual and commercial involvement in open source in the region.

There were a number of technology-specific sessions as well, and I enjoyed catching Webtide’s Greg Wilkins giving an overview of Jetty and Deng Ching giving an overview Maven, Archiva and Continuum. Also presenting from Exist were Ludwig (Pentaho) and Erle (Eclipse plugin development), and though I was unfortunately only able to catch the last portions of each talk I’m reliably informed they went well.

I spoke there about Open Source Communities, and chose to discuss the model used at the Apache Software Foundation, and to share a few of my opinions on why it works so well, when it does. It was actually billed as a panel, sharing a time slot with two other speakers. Rather than the usual back and forth discussion, it was set up as a series of 15 minute speaking slots followed by a joint Q & A. My talk went well despite the usual hiccups with video, microphones and a partially failed attempt to introduce myself in Tagalog.

There were a number of good questions asked in our segment. The most interesting, and hardest, was the question of whether there was a challenge for Filipinos to get involved in open source projects coming from a predominantly non-confrontational culture. This can be a real difficulty, particularly as many projects are based around decision-making structures that involve public disagreement. However, my belief is that in a meritocratic open source community, respect built on accumulated merit should balance this out – and certainly in my experience, Pinoy culture emphasises respect and a non-egocentric demeanour, which makes a very valuable addition to the dynamics of an open source community.

Of course, in reality, communities are never perfect, and it comes down to individual personalities. Speaking more generally, I’d always encourage anyone to participate when they feel they have something useful to offer. If they are unable, or uncomfortable, to do that in a particular project, they have the choice to try and change it from within, or invest energy elsewhere. It’s the responsibility of the members of a project themselves to ensure they do not have any invisible barriers to participation for contributors who could make very valuable technical contributions – and it is their loss otherwise. After all, the "open" in open source is about more than just the code!

Anyway, no trip to Cebu is complete without discussing the food. We ate at a couple of old favourites there, but another stand out was a small group of us getting all-you-can-eat Japanese. I’m still recovering 3 weeks later! Good times.

 

PSIA General Meeting

I had a busy agenda in Manila, from which I’ve just returned. Getting a bit behind on blogging about it in fact!

During the trip, I was able to attend the PSIA (Philippine Software Industry Association) General Meeting in Makati. It was a bigger than expected turn out, and a good night out. It was interesting to see what else is going on there. I was even able to play a small role, being guest judge for a contest (based on submissions of business ideas for building intellectual property).

There were a number of presentations during the evening. Deng was one, presenting a case study on the Apache Software Foundation and it’s licensing model, which she recently blogged about.

What Deng was too modest to mention in her blog was that she was also the recipient of the PSIA Honor Award during the evening. 

The award was to recognise her achievement in being the first Filipina chair of a project at the ASF. While this is admittedly a strange thing to give an award for (it’s much more of a responsibility than a privilege!), the point was made during the presentation that Apache is a meritocracy, and there is no doubt that Deng has shown merit in her time there. Knowing Deng and the responsibility, respect and humility with which she has taken on the position makes it something worth recognising.

That sort of accolade doesn’t come along every day, so I thought it was worth a plug. Congratulations Deng!

It was certainly encouraging to me to see the organisation recognising contributions to open source at that level. Even more importantly, they gave the stage to Deng to describe to people of influence in the software industry there why they should be looking at both using and producing open source, and why Apache’s license and community development model is a good choice in doing so.

Finally, the night ended with networking, drinks, and Rock Band. After a rendition of Enter Sandman, and a compulsion to sing Australian music by Jet, I decided I should really stick to the instruments and not the vocals in public from now on.

Here are a few pictures from the evening:

_25W2042

_25W1986

OA3A1409

OA3A1503

Blog Moved to Exist, and WordPress

Since DevZuz was acquired by Exist , I’ve now move my blog to it’s new home. Hopefully everything redirects here now, and I’ll shortly set up Feedburner properly (finally) so that can be used to subscribe in future. I’m really liking WordPress – though Pebble treated me well, you just can’t go past the wealth of plugins that WordPress offers.

You’ll find some other DevZuz bloggers here too – as well a growing number of others from Exist.

It’s been a crazy busy start to the new year, so things have been a little quiet on this blog. I’ve spent most of my time in January in the Philippines, settling in to the new environment and having a blast with my friends and coworkers from Exist.

I’ll post some more separately on what’s been happening and what’s coming up!