Thursday Jan 24, 2013

Top Ten Things To Do at Jfokus

Jfokus in Stockholm Feb 4-6 is a fantastic experience if you're even close to the world of Java or a JVM. Internationally recognized speakers, interesting companies in the exhibition, tutorials, presentations and great people to mingle with. If you're attending for the first time, the massive program might be overwhelming, so I've put together a top ten list of my favorite topics, things you can do at Jfokus - see you there!

Get to Know Your Application and Make it Behave!

This year, you'll get both Java 8 with Lambda features and new Date and Time - but if your application is executed in a performance sensitive environment, you'll definitely want to attend the session with Klara Ward from the Java Mission Control development team, presenting the monitoring application that will be distributed in the JDK.

Pair Klara's session with one of Kirk Pepperdine's, to find out what to do with the data from Java Mission Control. His performance presentation together with Java performance engineer Alexey Shipilev was voted top three sessions at Devoxx a couple of months back. During University day, learn his Performance Optimization Methodology or visit his presentation Wed to learn to listen to what your GC logs say to you.

Java Community Corner

Hang out in the Java Community Corner, enter the Raspberry Pi raffle and charge your laptop. Meet both the Oracle presenters and engineers working at the local Java development office at Münchenbryggeriet in Stockholm. (Just across the water from Jfokus!) There will be a scheduled posted for when each engineer will be there.

Contribute to Java

The Java Community Process sets the Java Standard, what Java is and what it isn't. The OpenJDK is the open source project where the  specification is implemented in, e.g. Java 7, Java 8, Java 9 etc. Meet Heather VanCura managing the JCP office and learn how the JCP works - if you ever have wanted to change something with Java - attend this session!!

Tues evening, you'll meet me, Heather Van Cura and JCP EC and JUG leader Martijn Verburg to find out more how you can contribute to Java, both the specification and the future implementations! Learn how to participate in the JUG initiatives Adopt-a-JSR and Adopt-OpenJDK.

Discuss the Java Strategy

Want to know the current direction of Java? Listen to Georges Saab, VP of development doing the keynote on Making the Future Java - Together and Mark Reinhold, chief architect of Java talk about Java 8, Java 9 and beyond. You will meet them afterwards in the Java Community Corner to discuss your own ideas for Java :)

Open Source Hackergarten

Andres Almiray is arranging an open source Hackergarten starting Monday during the University day and will continue over Tuesday. Bring your favorite open source project and hack along with others. Creativity and engagement will go through the roof!

Embedded and Raspberry Pi

Glad to see a focused sub-conference on the Internet of Things at Jfokus Embedded. Joakim Eriksson from Swedish Institute of Computer Science will lead a qualified discussion on the topic at the Opportunities and Challenges with Embedded & Internet of Things BOF. Java has support for Raspberry Pi, making it easy for any developer to write embedded application. Terrence Barr will talk and show demos on the how Java fits into the Internet of Things.
Visit the Oracle embedded booth to meet Oracle embedded evangelists Simon Ritter, Stephen Chin and Terrence Barr showing demos and discussing embedded - and of course to enter the Raspberry Pi raffle (You wantz one, yes you do :). Stephen Chin will do one of his NightHacking sessions on Raspberry Pi, will be fun for sure!

Continuous Integration

Get fast feedback on how your latest changes affected the quality of your product, get the ability to release daily or even several times a day. Discussing best practices around continuous integration can affect your development process in ways you never imagined. There are several presentation and then join the discussion on Build, Test, Deploy and Automation to see if you can take anything to your project!

Get a Laugh with the Java Posse

You might not have heard their eight year old, still ongoing podcast show (currently 406 episodes!), but you'll still get a laugh with some nerd humor from the four guys in the Java Posse. Don't miss the opportunity at Tues 4.30pm [blog update] 6.30pm as they visit Sweden at Jfokus!!!

James Gosling - Meet the Father of Java

James Gosling has engaged in some truly interesting projects concerning programming autonomous robots doing work at sea. Whether or not interested in the topic (it is very visual and engaging!), visit his session, just to have been in the same room with the father of Java :) [blog update] Gosling will be streamed from the US!

Succeeding with Software Development

Software development is both learning the technology and then getting an approach to turn it into a successful software development project, often with the collaboration from many. Martijn Verburg and Ben Evans, famous thought leaders of the Java community, leaders of the London Java User Group and also part of the Java Community Process Executive Committee will give a talk on Modern Software Development Anti-Patterns. I tried to get in to the session at Devoxx and failed, make sure to arrive on time!

Listen to Thomas Sundberg's concrete presentation on how to fail a software project fast and easy and draw your own conclusions :)

Friday Jan 18, 2013

Japanese high-school student recognized by Brian Goetz

As I wrote in my previous blog post, I'm glad to see strong values of technical excellence, helping others and contribution in the OpenJDK community.

Software architect and lambda guru Brian Goetz brought my attention to an example of someone doing valuable contributions to Java. A Japanese student under the nickname "bitter_fox" did a series of patch suggestions on the OpenJDK email list "lambda-dev". You can see the suggestions he made, e.g. in the July mail archive for lambda-dev.

Bitter_fox found problems, investigated and then presented the background and patch suggestions on the email list. Really valuable for the progress of a project. Brian Goetz ended up sending him a symbolic token of appreciation with a small packet of Java souvenirs, I don't read Japanese, but you can see the google translate of his unboxing blog post.

There are around 100 mailing lists, join a couple of them out of interest for the area and see what's going on, maybe you can find a way to contribute to Java.

Friday Jan 11, 2013

How do I play OpenJDK?

Both as a newbie and as a senior contributor, if I'm to stay engaged in any open source project, I want to make sure I won't waste my time. If I understand the processes and they are clear and structured, I can perform miracles. I quickly want to know if I have the competence to deliver something meaningful to the project and once engaged, I want the time I've committed to be respected. I want to do the right thing and I quickly want to understand how to do that - I want to learn the rules of the game.

In OpenJDK, there is plenty of room for innovation and ideas and also clear project management to get releases out there, choosing what projects to work on and prioritizing them. Reading the OpenJDK Bylaws will help participants understand how decision processes are designed.

After learning the rules, there's still plenty of room to learn how they are applied in reality, so plenty of excitement left. I'm pleased to see that the culture of OpenJDK when reading the mailing lists is based on strong values, e.g. technical excellence, contribution and helping others. Many Java User Groups have started engaging their members with OpenJDK in the Adopt OpenJDK program.

OpenJDK Quick Start

Oracle OpenJDK people Donald Smith, Dalibor Topic and Iris Clark gave an extensive presentation on the governance model for OpenJDK at JavaOne, you should really watch that, these guys know their stuff for real.

I delivered a presentation of a summarized model to the Hamburg JUG just before Devoxx, I'll summarize the presentation below, well aware that I'm omitting some important details, so consider this a crash course, to get a feeling for the governance model. If anything seems odd, please refer to the OpenJDK Bylaws and what the OpenJDK Governing Board says.

OpenJDK Participation

You can review lists of the Groups, Projects and people in OpenJDK from the Census page.


General Community role, anyone interested signing up for different mailing lists, making minor contributions.


General Community role, someone that has signed the license agreement OCA, can propose/submit non-trivial changes to OpenJDK code.

OpenJDK Member

Senior role, after nomination of other Members. There are a bit more than 100 OpenJDK Members currently.

OpenJDK Groups

  • A Group is a set of Participants sharing an interest discussed over email and web page.
  • OpenJDK Members can propose creation of a new Group.
  • A Group can sponsor Projects.
There are currently around 20 Groups and 40 Projects listed in OpenJDK (some more active than others).

Group OpenJDK Governing Board

Makes sure everything is working as directed by the Bylaws.
Five members, two members appointed by Oracle, one member appointed by IBM and 2 “at-large” members elected annually. Sponsors projects for Java SE Platform releases like JDK8.

Group OpenJDK Members

May vote on new Projects, nominate Groups, vote for “at-large” members for the Governing Board.

Other Groups

Examples of other groups are Porters creating ports to different platforms and the group Build sponsoring update releases.

Roles of Groups

Group Member

A Contributor who has history of significant contributions to a group, and elected to membership in that Group.
May nominate other Contributors to elect a Group Member.
Has write access to the Group’s web content and file repositories

Group Lead

An OpenJDK Member who is responsible for directing and coordinating the Group’s activities.
Has the authority to sponsor Projects.
Obligation to act as contact point for Group and look after content.
Obligation to publish a quarterly report on activities on the Group.
Appointed upon Group creation by approval of the Governing Board.
A Group Lead who has departed may be replaced by approval of Group Members and ratification by Governing Board.

OpenJDK Projects

A Group can sponsor Projects.
A Project have a specific purpose like to produce code or documentation, e.g. Coin or JDK 8, and can have a code repository.
Projects are operated in an “open, transparent and meritocratic” way.


Currently there are approximately 400 authors in total.
Self-nominated, appointed by Project Lead.
Should have done a few relevant, sponsored requests.
May create change sets but may not push them directly.


Nominated and approved by other Committers after a number of significant changes.
May create and push change sets when confirmed by approval process.
May vote on new Committers.


An Experienced Committer, a larger number of changes, nominated and elected by other Reviewers in the Project.
Role only exists in Projects where a Reviewer Role is required.
Reviews and approves change sets.

Project Lead

A Committer for the Project responsible for directing and coordinating the Project’s activities.
Considered a Reviewer, and maintain Reviewer status
Elected by the sponsoring Group Lead(s).
Has full authority over all technical matters related to the Project, including when to require formal change reviews.
Has the authority to appoint and remove Authors who are not also Committers.
Obligation to act as contact point for Project and manage content.
Obligation to publish a quarterly report on activities on the Project.

Wednesday Jan 09, 2013

Show me the results!

Feedback on the quality and stability of development builds is of course key to any software development project. Oracle Quality Engineering Manager Rory O'Donnell has taken a first hit at making test results for the JDK 8 early access builds available, you can find them on the project page:

Rory announced this is in a post to the OpenJDK quality-discuss mailing list, might be interesting to follow!


Been with the Java platform since 2002, mostly JVM. Active as a scout leader with a strong passion for coordinating community efforts. Working current with OpenJDK, making sure developers can contribute efficiently. Tweet me comments! @ceciliaborg The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.


« January 2013 »